Skip to main content

GROWING AND SUSTAINING RELATIONSHIPS

GROWING AND SUSTAINING RELATIONSHIPS
Close
Sarah Gladstone

Implementor, Developer

Pogstone, Inc.

http://pogstone.com

I have been involved in the CiviCRM community for over 4 years, and enjoy implementing and programming CiviCRM for a variety of non-profits. I have been amazed at the rapid pace of innovation delivered with each new release, and CiviCRM's flexibility in being able to accommodate a variety of requirements. I have learned a lot about CiviCRM by participating in CiviCon, online forums, and CiviCRM book sprint.

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
Andrew Hunt

Implementor, Developer

AGH Strategies

http://aghstrategies.com

CiviCRM allows our clients to have a robust tool for tracking and engaging their supporters that can grow with them. I began as an end user, and now I work with CiviCRM full-time.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Allen Shaw

DEVELOPER

NS WEB SOLUTIONS

http://nswebsolutions.com

I'm quite impressed with the responsiveness of the CiviCRM community, both from the core developers and many experienced users who have quickly provided answers and ideas in areas where I just needed that extra insight, or where we needed to do something totally new. After several years working with open source software, I'm finding the CiviCRM community to be the most responsive and helpful I've seen.

We make CiviCRM one of our primary offerings because it just provides so much right out of the box that our clients need, without a line of custom code. And when we need to extend it for the clients' unique needs, the APIs and programming hooks let us add in features that would be impossible in some other systems. This means we can provide great value to our clients with quick turnaround times and reasonable budgets, which is great for our clients and for us.

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
Brylie Oxley

End-user and Developer

Woolman Sierra Friends Center

http://woolman.org

Working with CiviCRM enriches our commonwealth. Any investment in CiviCRM is
shared by the community as a whole. Community organizations naturally complement the spirit of Free/Libre Software.

GROWING AND SUSTAINING RELATIONSHIPS
Close
David Greenberg

Core Team Member

CiviCRM

http://civicrm.org

I find the engagement with our community of users to be intellectually stimulating
and rewarding. Seeing folks with expertise in a particular area step up and contribute their time and ideas to help improve the product is quite exciting. Every time I hear about a new interesting organization starting to use CiviCRM, I get a renewed sense of excitement about our work. The range of civic sector organizations currently using the software is quite amazing to me - from large international advocacy organizations to local performing arts troupes. I also really enjoy interacting with our international community - building friendships and getting to share culture (food, music, humor ....) with colleagues on every continent.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Ken West

End-user, Administrator

City Bible Forum

http://citybibleforum.org

City Bible Forum is an Australian not-for-profit Christian organisation. We need to communicate effectively with our constituents, and CiviCRM gives us a comprehensive set of tools for managing relationships. Interestingly, we often find that new features are being added just as our need for those features is becoming apparent. It's the right fit for us.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Tim Otten

DEVELOPER AND IMPLEMENTER

CiviCRM

http://civicrm.org
GROWING AND SUSTAINING RELATIONSHIPS
Close
Yashodha Chaku

CORE TEAM MEMBER

WEB ACCESS INDIA PVT. LTD.

http://webaccessglobal.com

Its great to work on a project that has a profound impact on non profits. I am very excited about the work we do on CiviCRM which involves building on each other's ideas to create best of breed solutions for non profits. The fact that CiviCRM is an open source project with an amazing community and dedicated developers is an icing on the cake.

GROWING AND SUSTAINING RELATIONSHIPS
Close
Jake Martin White

Implementor, Developer

PeaceWorks Technology Solutions

http://www.peaceworks.ca

PeaceWorks provides technology solutions for not-for-profit organizations. CiviCRM fills an important niche among our clients who need a flexible, comprehensive, user-friendly, web-integrated CRM solution.

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.

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