Thursday, May 30, 2013 - 03:37
Written by

Imagine you're a non-profit employee or volunteer, responsible for managing donations. You get into the office, pick up the first coffee on the way to your desk, to find a HUGE bank statement for you to process today. Good news for your employer, not for you, because even at the rate of roughly two payments per minute, you'll be spending 19.5 hours processing them. Yay !

Wouldn't it be nice if CiviCRM would load the bank statement files and turn them into contributions, membership renewals, new contacts, people who have moved and so on ? Yes, of course.

Why can't we just import it as contributions ? Well, think about what the human operator does. For starters, it about identifying who the donor is, and either locating the contact or creating a new one. Next, it's about looking at the context that knowledge provides : perhaps this is the payment of an already existing pay-later contribution, or a pending membership renewal. Or it's simply a new donation, or the result of a direct mail campaign we sent out last week. Based on the amount, the communication, the timing of the contribution, the bank account receiving the transfer and a ton of parameters, a human operator will deduce the correct interpretation of the payment and update CiviCRM accordingly.

Yes, you could do all that in a spreadsheet, and split it into types of contributions, and then import. But that still means you have to go through every individual payment. And that's why you will be spending those 19.5 hours, until your fingers fall off.

Wait a minute: not every payment is hard to interpret. If this is a known contact, with a membership up for renewal, and the payment amount is this year's membership amount, and the payment happens between November 15 and March 2, it's very likely a membership renewal, especially if the purpose of the payment says 'membership'. Looking at it this way, there a large chunk of the work that could be automated.

Assume you have an assistant (let's call him Bruce) who goes through the payments and marks those that are 'very likely' a standard situation. Once you start to rely on Bruce's judgement, you'll ask him to process these payments himself, and leave the remainder to you (the expert). Now Bruce handles 14 of the hours, and you only have to handle the remaining 5.5.

Well, that's exactly what the CiviBanking extension does. This Bruce-in-a-box will allow you to

  • import various bank statement formats
  • link them to existing contacts (remembering which bank account belongs to who)
  • interpret the most common payment patterns for your organisation (which you can parameterize of course) and
  • mark the remainder for your manual processing.

Bruce could be allowed to process membership payments as defined above automatically, but would have to write down any suggestion involving a new contact for you to review. After your signoff, Bruce could then book the contribution as proposed. In this semi-automated approach, Bruce can automatically make multiple suggestions which you can choose from, or refuse if none of them make sense. So from the 5.5 hours, Bruce's suggestions will take you 1 hour to review, and he'll take care of the rest in 3 hours.

You'll still have to handle the tough cases manually. But we've brought your workload down from 19.5 hours to about 2. And that's just for today's batch. Do me -- and yourself -- a favour, and calculate the average weekly hours you spend processing bank statements, and estimate the hours that you could have Bruce-in-a-box take care of. How many hours can you save ?

Another Project 60 extension, CiviBanking will also have a first release ready by end of June 2013. Feel free to Make It Happen. For more information, contact the MIH coordinator or any of the Project 60 members.


This is really cool Paul, thanks for introducing us to Bruce.