Thursday, November 4, 2010 - 20:14
Written by

There have been a number of blog posts discussing the needs for improved accounting features in CiviCRM. The results and current specification is at the wiki at:


Its time to help to make-it-happen for CiviAccounts once the specifications on the wiki are streamlined and prioritized.   Dave has requested that all interested parties join this new CiviAccounts team.


My priorities are: 

1) Get many-to-many transactions to obligations working, both in the database as well as the UI. Many-to-many includes the following use cases:  

 - One check/credit card transaction that needs to be allocated to many obligations ( such as event fees, member dues, donations, etc )


- One obligation that will be fufilled by many transactions. Also known as partial payments. So someone could make a deposit for an expensive event or member dues, and pay it off over time. 


2) Make it easier to reconcile income against deposits. (One bank deposit may include many smaller checks.) 


3) Simplify and automate exporting relevant data to QuickBooks and other widely used general ledger programs. 


 Who wants to join this team? Also, if you have an accountant or bookkeeper available, ideally they will join the team as well. 



I'm interested in all the points you've raised.


Hi Sarah,


If it's helpful to have someone who can't really contribute a lot technically, but is a very keen end-user, in on this, then I'm in.  I'd just begun having a conversation with the Dharmatech guys about this, so it's exciting to see I'm not the only one who's keen.




i work for a non-profit, and we are currently looking at getting a web-based solution.

fund splitting and deposit batches are important components for us - i think civicrm is pretty cool, but would need to build some of this functionality first.

i know a bit about php/mysql but am no expert. if there is anything i can contribute please let me know. if i start building any functionality i will share!


Hi Sarah

Thanks for all the work you have been doing on the wiki.  We've got the database structure in place in 3.3 to handle 1 & 2 above by:


1) One payment transaction being able to be applied to one or more contributions, event registrations, membership etc


2) A deposit being treated like another form of payment transaction, in that it can link a whole bunch of payment transactions (ie cheques and cash amounts) into a single deposit


I will try to update the documentation of this on the wiki over the weekend.  I have some ideas on how to address 3) as well, which I think I mentioned to Dave on a skype call, but which I have never got back to documenting - so I'll try to do that too and see what you think!


(PS - I also have an accounting degree for my sins!)


Andrew Perry

Community Builders Australia

Hi Sarah,


I think I'd have to take a very big step back if I wanted to avoid being roped into this one. I'm hoping to see Joe Murray's name on the list too soon

My company, Switchback (,  has a specific internal goal of March 1 for this to be tested and in production. We are willing to help with planning, and development.

Thanks to everyone who is interested in the new CiviAccounts team! As the main goal of this team is to have a Civi-Make-it-happen campaign, I have clarified the priorities in the wiki document. There is a new first section titled "Priorities for the planned CiviAccounts Civi-Make-it-Happen campaign" 


Everyone should update and flesh out these use-cases.  Ideally we should be ready to launch a fundraising "Civi-Make-it-happen" campaign by Nov. 18. To meet this goal, the core team needs detailed use-cases that need to be supported ( as well as prioritizing these goals ) 


Also it will be easier to raise money for this project from non-technical folks, if they can understand what the results will be. ( Most bookkeepers eyes glaze over if I start talking about cool new MySQL table columns )


Can everyone give their feedback on the wiki ( in the new section at the top ) before Nov. 18 ?  Is this a realistic date? Then after Nov. 18 we can start promoting the new campaign and raise the needed funds. 


Thoughts? Ideas? 


Especially the part about a deposit for an expensive event (i.e.

We'll keep an eye out for when the fundraising meter gets posted!

I'm glad to see such interest. I'll be helping with use cases and development, and expect there may be some Canadian orgs that can assist with development and perhaps some money too. Some of there use cases are for items not identified above, but which are on the wiki and would assist many, e.g. batch add/update functionality to help with cheque entry when some but not all of the payments are from people in CiviCRM.

Great to see this topic coming up again. We did some exploratory work last year with the idea of a QuickBooks integration with CiviCRM. There was some initial interest but the project died because of lack of funding and low priority compared to our client work. We took it as far as pushing a contribution to QuickBooks w/SOAP and QBXML but stopped short of building a working prototype.


We would like to help with the planning and development of the QB integration. The QuickBooks PHP Dev Kit would be the logical framework to use but there may be others. It's the one we're familiar with and it really was (and may still be) the only game in town.

Quickbooks is too squirrelly. FWIW, using QIF files is kinda okay but since we are FLOSS here we should keep things as open standards as possible.

QuickBooks is no more proprietary than Authorize.Net, First.Data, Pay Pal, Google Maps, Yahoo Maps or any of the other 3rd party services/products that CiviCRM already hooks into.


What open source accounting package do you see as being widely used? In which countries? Ideally CiviAccounts will have a structure for writing code for other accounting packages.   Also, are you aware of an open standard that supports sending data to multiple accounting packages?



I just want to stress that there are 2 sides to this - getting CiviCRM in a state where it more logically integrates and doing the integration with other providers. The funding / enthusiasm will determine which providers are developed for but the preparatory work will need to focus on the underlying recording of transactions in CiviCRM and things like part-payments and the ways in which CiviCRM exposes that data to external systems / accepts data (likely via an API).


This isn't an either / or. As Sarah says there are a number of interfaces with proprietary systems in CiviCRM and we should develop CiviAccounts with the expectation that multiple providers will be integrated (eventually)



1. What does 'too squirrelly' mean?

2. Most nonprofits use QuickBooks. What do you propose... recreate that functionality in CiviCRM? Who's going to pay for that work? Should CiviCRM step into the 'accounting software' world? Probably not.

3. Look at the QBXML specification and look at QuickBooks PHP Dev Kit, then report back about "open." With a published (and hopefully stable) API, open/close source becomes less of a technical debate and more of philosophical one.

Hi Sarah - Thanks for pushing forward this effort. I've recently just finished a project for a non-profit that uses QuickBooks. We are using the Web Connector and the QB web framework from Keith Palmer. Essentially, I wrote a set of modules that create the XML to be passed for Customer Modifications, Sales Receipts, and Customer Additions.

I ran into a lot of nuances that I had to overcome with the way some of the Civi back end is storing items. I don't have a lot of free time between now and the end of the year, but am happy to help however I can. Please feel free to contact me.




The company I work for would be happy to provide some input and feedback to the CiviAccounts module. We are quite keen to see a good accounting facility working within the CiviCRM framework.

William Owyong
Knowall Software Pty Limited

I am CIVIC CRM newbie. But I work for a non profit part time and would like to see this accounting package built.

Count me in as an end-user. I can help with SQL a bit.


One request is not to tie in with Quick Books but rather look at some XML or DB based exchange.

Some non profits including us use open source or commonly available MS Office tools for accounting.


We're currently exploring CiviCRM, and once CiviAccounts is available (at least the Multiple Payments concept) then we'll be going ahead.


Back in November there was talk of this being a Make-it-Happen project, but I can't find anything more recent, or how to contribute to the funding. What's the latest news?

I'm interested to help as a user. -Rod

I need this functionality for a couple of sites and am more than willing to do whatever coding is necessary to make this happen if someone will point me at the current version or status.