Skip to main content

GROWING AND SUSTAINING RELATIONSHIPS

GROWING AND SUSTAINING RELATIONSHIPS
Close
Adam Wight

Developer

Giant Rabbit

http://giantrabbit.com/

Saves us from writing monstrous, custom database apps.

GROWING AND SUSTAINING RELATIONSHIPS
Close
David Moreton

Consultant

Circle Interactive

http://www.civisites.com

We help many not for profits implement CiviCRM through consultancy, training, configuration and custom development. Many of them come from a painful world of old Access databases, multiple spreadsheets and even paper. It's really satisfying to
help people move on with a system that's so much in tune with their own ethics of sharing and collaboration. We also 'eat our own dog food' and use Civi in-house for our client records because we love the flexibility and control it gives us.

For us it's important to share code and advice with other members of the community when we can because we know we get it back in help at other times. The community really is awesome and one of the friendliest and undaunting I've come across. We appreciate the huge value of the software to us and our clients so we try to contribute back and make it even better.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Alice Aguilar

Implementor

Progressive Technology Project

http://progressivetech.org

The organizations we work with are experiencing the benefits of a robust tool that is
easy to use, supports their work, and allows them to collect and track data from various parts of their organization, such as membership, fundraising, communications, and organizing into a centralized database. CiviCRM as an open-source solution also allows us to nurture and build a user community to share and create a common vision of future features that would be useful to the community organizing field. Just two years after our pilot project, we're currently supporting 30 community organizing groups to use CiviCRM, and the community is steadily growing.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Abril Rocabert

Administrator and End-user

http://www.alternativasycapacidades.org

CiviCRM is a powerful tool that could be really useful for many non-profits in Mexico.
Unfortunately the community is very small in my country. I hope that in the next years the community expands around Latin America.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Xavier Dutoit

Developer and Implementor

Tech to the People

http://techtothepeople.com

Over the past 15 years I've been involved in several open source communities.
CiviCRM is without any doubt the one that has the strongest focus in welcoming "newbies" and letting everyone feel at home here. Another impressive feature is the focus on shipping. No matter what you think of CiviCRM today, you are almost sure that there will be a newer and better version in a few months.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Stacy Liou

Implementor, Developer, Trainer

elMobile Inc.

http://www.elmobile.com

As developers for various OpenSource CRM applications, we learned a lot from CiviCRM on its scalability and ease of customization.
CiviCRM community is truly organic cultivating growth for users and developers.
We wish to continue learning with CiviCRM and to tackle future challenges with CiviCRM.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Kellie Brownell

End-user

EFF

https://www.eff.org

The CiviCRM community has been a tremendous resource for new ideas and helping us solve problems. We are excited to contribute customizations EFF makes back to core and support new features such as batch entry for offline donations or multiple payment processors on one donation form.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Coleman Watts

End-user and Developer

Woolman Sierra Friends Center

http://woolman.org

If it weren't for CiviCRM we'd be using at least 5 different
systems for Woolman: one for donor management, another for email newsletters, a third for our school enrollment, a fourth for our summer camp registration, and then a whole bunch of spreadsheets for keeping track of things like event attendance, prospective students, CSA memberships, etc. And of course none of those systems would talk to each other or make it possible to get a whole picture of the many ways one person might participate in our education center's activities. Migrating all of our scattered data and disparate systems to CiviCRM was a long and challenging process, but the results have been more than worth it. Our ability to track and report on our programs has improved dramatically, while the burden on staff to do data entry has been greatly reduced, and our participants are happy that they can now register/enroll online rather than mailing or faxing paper forms.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Katy Jockelson

Implementor, administrator

Third Sector Design

http://thirdsectordesign.org

We work with non-profits to help them use and understand Civi. It's such an important tool for these organisations and it's great to see people using it in different and interesting ways. Using and working with Civi is made so much more fun and useful by the enthusiastic and talented community surrounding it.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Eileen McNaughton

Developer and End-user

Fuzion

http://fuzion.co.nz

CiviCRM has one of the most active and friendliest communities I have come across. From initial tentative forum posts I was encouraged into engaging more actively through IRC and directly with other groups & individuals and am now happy to count many community members as friends. I recently found an article on the web that said if you post a question about CiviCRM anywhere on the web Lobo will post an answer within a few hours. It often feels like that is true.

One of the most valuable way in which the community supports me is by allowing me to bounce my ideas around and often someone is able to suggest an approach which is better than mine.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Allen Gunn

Ally, FanBoy

Aspiration

http://aspirationtech.org/

By giving the nonprofit sector a values-driven, free/open source solution for CRM needs!

GROWING AND SUSTAINING RELATIONSHIPS
Close
Micah Lee

Developer

Electronic Frontier Foundation

http://www.eff.org

I work for the Electronic Frontier Foundation. We switched to CiviCRM so that we could be sure that our membership data stays safe, secure, and private. Now we have control over our CRM and can customize it to work for our needs.

LOGIN | REGISTER
  • Create new account
  • Request new password

Search form

  • BLOG
  • DEMO
  • Find An Expert
  • NEED HELP
  • SUPPORT US
  • DEVELOPER RESOURCES
CiviCRM Community Site logo CiviCRM Community Site
  • WHAT IS CIVICRM
    • Community
    • Case Studies
    • Experts
    • Contributors
    • Core Team
    • Licensing
    • Contact Us
  • WILL CIVICRM MEET YOUR NEEDS?
    • Contacts
    • Contributions
    • Communications
    • Peer-To-Peer Fundraisers
    • Advocacy Campaigns
    • Events
    • Members
    • Reports
    • Case Management
  • GET STARTED
    • Evaluate Your CRM Needs
    • Evaluate CiviCRM Features
    • Read Books
    • Demo CiviCRM
    • Download CiviCRM
    • Find An Expert
  • PARTICIPATE
    • Join the CiviCRM Community
    • Read Our Blog
    • Community Forum
    • Attend a Training or Meetup
    • Make It Happen
    • Contribute
    • Become A CiviCRM Developer
    • Issue Tracker
    • Help with Documentation
    • Translate

You are here

Home » Blogs » Dave Greenberg's blog

Blog

  • Architecture Series
  • CiviCampaign
  • CiviCase
  • CiviCon
  • CiviContribute
  • CiviCRM
  • CiviCRM API
  • CiviCRM Code Sprint
  • CiviCRM Meetups
  • CiviCRM Release
  • CiviCRM Solutions (case studies and user stories)
  • CiviCRM Team
  • CiviCRM Training
  • CiviCRM v1.6
  • CiviCRM v1.7
  • CiviCRM v1.8
  • CiviCRM v1.9
  • CiviCRM v2.0
  • CiviCRM v2.1
  • CiviCRM v2.2
  • CiviCRM v2.3
  • CiviCRM v3.0
  • CiviCRM v3.1
  • CiviCRM v3.2
  • CiviCRM v3.3
  • CiviCRM v3.4 and v4.0
  • CiviCRM v4.1
  • CiviCRM v4.2
  • CiviEvent
  • CiviMail
  • CiviMember
  • CiviMobile
  • CiviPledge
  • CiviReport
  • Documentation
  • Drupal
  • Extensions
  • Finance and Accounting
  • Interface Design and Layout Standards
  • Internationalization and Localization
  • Joomla
  • Older Versions
  • Schools
  • WordPress

Batch Entry of Contributions and Membership Payments - Draft Specification

Submitted by Dave Greenberg on February 22, 2012 - 15:31

Batch entry of gifts (checks, cash, etc.) is a much requested "missing feature" in CiviCRM. Thanks to a generous sponsorship commitment from the Electronic Frontier Foundation, we are about to launch a Make-it-Happen campaign to implement this feature for the next release (4.2). We've spent some time discussing requirements with folks at EFF and several other organizations, and we've reviewed analogous functionality offered by several of the proprietary donor management products. The purpose of this post is to share the draft specifications for the feature and solicit feedback from others in the community.

Overview

The goal is to provide a streamlined interface for data entry of batches of contributions and membership payments. A simple batching concept will be introduced to provide verification of count and totals. The feature will use a grid-style input form with the columns controlled by a selected profile. This will allow sites to add or remove non-required fields in the grid (e.g. add custom contribution fields, add or exclude premium fields etc.). The current plan is to have a separate flow / input grid for batch entry of contributions vs. membership signup / renewal payments. This will help reduce the number of columns required for each type of input.

Basic Workflow

1. Create a New Batch

Users add a new batch by entering the following: batch type-contributions or memberships for now (required), batch name (required), description (optional), number of items (optional), batch total amount (optional). A default unique batch name is provided ("Batch N" + open date). The batch open date is assigned automatically. Users select the profile they want to use for the input grid

2. Enter Contributions or Memberships (check, cash, EFT)

For each row, you can select an existing contact using the auto-complete widget OR create a new contact (using the pop-up New Contact profile form). If contact information such as phone number or email address are included in the grid profile - those values will be populated for an existing contact and can be updated as needed in the row. Support for assigning a Soft Credit will be included. Rows will be saved as they are recorded to prevent data loss. A running count and total for the batch will be displayed on the screen. Client side field validation will be used as much as possible.

3. Verify Batch Totals / Close Batch

Users can enter all transactions for the batch in one session, or simply log-out and complete input at a later time. When all transactions are entered, the user clicks "Close Batch". If a transaction count and total have been recorded for the batch, the user will be alerted when closing if the count or total don't match. In this case, they can return to the batch's transactions to check for input errors, missing and or duplicate transactions. Or they can override the entered count and total (in which case the batch values are updated to match the transactions in the batch).

Additional Functionality

Working with Existing Batches

Users can return to an open batch to continue adding or editing transactions in the batch. For open batches, they can also edit name and description of batches, modify the expected number of transactions, and batch total, and set the batch status to closed. Batches may only be deleted if they have 0 transactions assigned to them. Administrators may have permission to re-open a batch that has not been exported, in which case the batch close date is set to null. Once the the batch is exported it cannot be changed. (NOTE: Batch export is not in scope for this project, but is scheduled to be included in CiviAccounts development.)

Reporting

Minimally the batch name should be added to the Contribution Detail report as a column and as a filter. If time permits, one or more "Batch Reports" may be implemented.

  • Dave Greenberg's blog
  • Log in or register to post comments

Comments

batch entry

Permalink Submitted by Sarah Gladstone (not verified) on February 22, 2012 - 16:23

This looks fantastic! One question ( for now) is will this be available as a batch "action" after doing a search? Such as I do an advanced search on some criteria, and get a result screen of 100 contacts. Then in the list of "actions" I could choose "batch entry of contributions" or "batch entry of memberships"

  • Log in or register to post comments

Seems useful

Permalink Submitted by Dave Greenberg on February 23, 2012 - 16:06

.. but maybe a phase 2 feature. Can you share some real-world scenarios where this would come in handy?

  • Log in or register to post comments

Dave - the scenarios I

Permalink Submitted by Sarah Gladstone (not verified) on February 23, 2012 - 20:50

Dave - the scenarios I see:

a) The office staff runs a search on contacts with a "family" membership, then wants to create a new obligation for all of them for $2000. ( eg create a pledge for everyone in that group.) Then they run a search for all contacts with a "senior couple" membership, then wants to create a new obligation for all of them for $1000.00

b) The office staff runs a search of all people nearing their expiration of their membership. Then wants to renew membership for all the contacts who matched the search results.

  • Log in or register to post comments

Implementation suggestions

Permalink Submitted by xavier on February 22, 2012 - 17:13

Hi,
 
Been using jqgrid on some projects, works ok
http://www.trirand.com/blog/phpjqgrid/examples/editing_data/inlinecustom/default.php
 
but the cool new lib seems to be:
https://github.com/mleibman/SlickGrid/wiki
 
 

  • Log in or register to post comments

Thanks

Permalink Submitted by Dave Greenberg on February 23, 2012 - 16:04

We'll definitely check out both libraries. Keep us posted if you discover other options or pros / cons for any of them.

  • Log in or register to post comments

What's the goal of the batch?

Permalink Submitted by xavier on February 22, 2012 - 17:20

Hi,
 
I have zero experience working for batch of cheques or payments, what's the goal of the batch, vs simply having a grid batch system? what's the aim of grouping them together?
 
I see the benefit of if for the case if you have a total count for the validation purpose, but other than that, should it really be a mandatory step?
 
Is it like a campaign as a "group" (and here I come again: shouldn't we use a tag for that instead of introducing yet another concept into the mix)
 
Anyway, will they be batch actions on a batch so you can add all the contacts to a group/event/tag or send them a thank you email or... (all the nice actions you can imagine)?

  • Log in or register to post comments

Reducing errors, correlating receipts with deposits, audits

Permalink Submitted by Joe Murray on February 23, 2012 - 19:18

Batch data entry of cheques is an important workflow for organizations that need to deposit dozens or hundreds of cheques per day. It assists in catching and facilitating early (and thus less costly) correction of data entry errors, enables bank deposits of many cheques to be correlated with associated transactions, and is required by auditors of many organizations.

  • Log in or register to post comments

got it

Permalink Submitted by xavier on February 24, 2012 - 00:06

Thx for the clarification.
Could we instead of making the name mandatory default it to "user-YYYY-MM-DD" or something? For smaller org receiving a few cheques, likely good enough (and helps inforcing a coherent naming convention

  • Log in or register to post comments

Yep - default unique batch name will be provided

Permalink Submitted by Dave Greenberg on February 28, 2012 - 09:08

Spec above is to use "Batch N" + YYYY-MM-DD" where N is the ID of the batch record. Incorporating the user name of the creator might make sense?? However if several folks work on a batch, then might be confusing. Thoughts?

  • Log in or register to post comments

Great addition, batches are certainly important!

Permalink Submitted by pkeogan on February 22, 2012 - 19:29

Dave,
 
This looks great.  Including a the batch as a exportable field for contributions would be critical.  Can we assume contributions can be searched for by batch and that the batch field would available for export.
 
Paul

  • Log in or register to post comments

Yes, good points

Permalink Submitted by Dave Greenberg on February 23, 2012 - 16:03

Batch name / id will be exportable (from Find Contributions > Export)... and Batch Name will be available as a filter in Find Contributions. I'm assuming a user-controllable, but default-assigned UNIQUE batch name for each batch is useful (in addition to the unique system-assigned Batch ID - which will be an integer).

  • Log in or register to post comments

CiviAccounts Batching of Existing Transactions

Permalink Submitted by Joe Murray on February 23, 2012 - 19:26

Dave,
We should review the current CiviAccounts implementation of batching transactions already in the system with the UI and feature list you are proposing here. In particular, we should aim to use a common approach for batch names, and to think through whether it makes sense to allow batches created through this data entry oriented interface to be opened and modified through the one oriented towards selecting existing transactions, and vice versa. Consider testing out the branches/trunk.civiaccounts interface so we can make things consistent where appropriate.

  • Log in or register to post comments

This would be great...

Permalink Submitted by jbertolacci on February 27, 2012 - 10:06

...and IMBA may be able to find some funds to support the MIH campaign. Some questions:

  • When batches are locked, is there/could there be an option to lock (view, but not edit) the contributions that comprise the batch?
  • In the original rough scope credit card processing was discussed. It sounds like CC processing did not make it into this phase?
  • Will there be an option to choose the contact matching dedupe rule like contact import offers, or will this use the default matching rule?
  • Has there been any thought given to being able to manually populate the grid or alternatively choose to import the grid data from a spreadsheet. Seems like it might be an easy input option given the current contact, contribution and membership import.
  • Speaking of contribution import, you can currently import contributions but no action is taken -- i.e. you can import a membership payment, but the import does not renew the membership. To confirm, this is exactly the type of action that the batch will be designed to handle, correct?
  • How will a contribution be matched to a given membership in cases where a contact has multiple memberships? A profile field specifying the membership type? What if there are multiple memberships of the same type?
  • Log in or register to post comments

Thanks for the feedback (and hopefully MIH support)

Permalink Submitted by Dave Greenberg on February 28, 2012 - 12:32

Replies inline:

  • When batches are locked, is there/could there be an option to lock (view, but not edit) the contributions that comprise the batch?

This is not in the current scope. Would be good to discuss the rationale for this and whether it should be an "option" or just how things work. From my understanding, would make the most sense to do this after a batch was marked as "Exported" - which would be a phase 2 / CiviAccounts feature.
 

  • In the original rough scope credit card processing was discussed. It sounds like CC processing did not make it into this phase?

Right. EFF (the current primary sponsor) does not have that requirement. Ping me to discuss IMBA's requirements in this regard.
 

  • Will there be an option to choose the contact matching dedupe rule like contact import offers, or will this use the default matching rule?

Not sure I understand this question. Our thinking is that the user will either select an existing contact (using autocomplete widget), OR create a new one for a given row.
 

  • Has there been any thought given to being able to manually populate the grid or alternatively choose to import the grid data from a spreadsheet. Seems like it might be an easy input option given the current contact, contribution and membership import.

This is not in the current scope. We'd need to think about what elements could be imported to the grid (i.e. only handle for an existing contact, vs. new contact + contribution data).
 

  • Speaking of contribution import, you can currently import contributions but no action is taken -- i.e. you can import a membership payment, but the import does not renew the membership. To confirm, this is exactly the type of action that the batch will be designed to handle, correct?

Current thinking is to have a separate workflow/grid for membership (signup and renewal) payments vs. contributions. In the membership payment flow, the staff person would select whether they are recording payment for a new membership (select membership type etc.), OR payment for a renewal (select the existing membership to renew). Renewal payments would result in membership updates.
 

  • How will a contribution be matched to a given membership in cases where a contact has multiple memberships? A profile field specifying the membership type? What if there are multiple memberships of the same type?

For renewals, I think we'll need to allow staff to view existing memberships (with sufficient data to differentiate them) - and then select the one they are renewing.
 

  • Log in or register to post comments

Very Cool!

Permalink Submitted by FatherShawn on February 27, 2012 - 18:22

My segment of the civi community will find this a true blessing - most congregations receive their donations on Sunday.  That is to say it's naturally a batch process!

  • Log in or register to post comments

Will a batch-entered contribution create an activity?

Permalink Submitted by Eliet Henderson on March 14, 2012 - 16:30

 
Currently, if you import a contribution, no activity is created on the donor's record, which I find very disconcerting. Will batch-imported contributions create corresponding activities on the donors' records?
Overall it seems like a great feature.

  • Log in or register to post comments

CIVICRM


GROWING AND SUSTAINING RELATIONSHIPS

WHAT IS CIVICRM
  • Community
  • Case Studies
  • Experts
  • Contributors
  • Core Team
  • Licensing
  • Contact Us
WILL CIVICRM MEET YOUR NEEDS?
  • Contacts
  • Contributions
  • Communications
  • Peer-To-Peer Fundraisers
  • Advocacy Campaigns
  • Events
  • Members
  • Reports
  • Case Management
GET STARTED
  • Evaluate Your CRM Needs
  • Evaluate CiviCRM Features
  • Read Books
  • Documentation
  • Demo CiviCRM
  • Download CiviCRM
  • Find An Expert
PARTICIPATE
  • Join the CiviCRM Community
  • Read Our Blog
  • Community Forum
  • Attend a Training or Meetup
  • Make It Happen
  • Contribute
  • Become A CiviCRM Developer
  • Issue Tracker
  • Help with Documentation
  • Translate