19 September, 2009
By Eileen

A while back I wrote a forum post on how CiviGrant could be usefully extended to fulfill a wider function. I have just received a message from someone (datakid) who is prepared to put some time into extending it for his purposes which are explained here so I thought it might be worth soliciting people's thoughts and ideas.

Datakid has indicated that he is new to the CiviCRM community and keen to get started so there are a couple of things that people might choose to comment on -
1) the approach that he can take that will best meet his goals and also help the broader community.
2) how to get help (IRC) & how to contribute his code back.

While I have ideas about how CiviGrant might be made more generic I'll focus on Datakid's use case which is basically to records different types of expenses against each grant...

Read more
20 August, 2009

About 8 weeks ago we began looking into a CiviCRM / QuickBooks integration framework. Our goal is to write a module that allows CiviCRM contributions and contact information to be written to QuickBooks. Our target version is QuickBooks 2009 Premier Non-Profit edition, since that's what we use.

At the very least, the module should be able to:

  1. Map sources of income in CiviCRM with accounts in QuickBooks.
  2. Insert Donations, Deposits and Payments from CivCRM to QuickBooks.
  3. A seamless process that requires little management from the staff.

We found the QuickBooks PHP framework by Keith Palmer to be the best fit for our needs:

It's being actively developed and supported by a handful of programmers who are also using the framework in production environments. It makes SOAP calls using...

Read more
14 August, 2009
I've been offline for a week, so a bit of delay in continuing this discussion on Invoicing and Accounting Integration. I thought it would be helpful to jump in with a quick review / reminder of existing functionality and data structures and some thoughts about what's missing based on my understanding "so far".
  • All financial transactions in CiviCRM are represented by a Contribution record. This includes "regular" contributions, membership payments, event registration payments and pledge payments. For "multiple participant registrations", a single contribution record is created for the grand total.
  • The Contribution record includes in Invoice ID column. This is populated automatically with a unique value for "online" transactions, and is can be populated manually (via form field) for offline transactions. The auto-...
Read more
10 August, 2009
By Eileen

I wasn't really sure when I wrote my first blog on accounts and CiviCRM whether it was a topic that would draw much interest but in fact I got a lot of really thoughtful comments and something of a blogathon took place. I have some ambition to write another piece summing up what I think has come out of the discussion - but in the meantime I want to pick up now on something Dave & I have talked about a little bit on the forums: invoice numbers.

To quickly recap on previous conversations - CiviCRM does not have a clear concept of an invoice. From an accounts point of view it would be great to see this considered in some future version but must be noted that it is not trivial.

In the meantime, many CiviCRM users need to meet legal invoicing requirements when people sign up for memberships or events online. In New Zealand, to my knowledge, the legal requirements for an invoice are:

1) The words 'Tax Invoice' must appear on it
2) The GST number (if...

Read more
05 August, 2009
By andrew
This post started out as a reply to Eileen's "Banking Screen?" comment on my previous post on this topic, but by the time I was done, I thought that this warranted its own post. I think that the core "Accounts" or "Banking" functionality that could be helpful to Civi users without getting too out of control, is:
  1. generate a listing of the individual cheque and cash "receipts" processed since the last "deposit" was generated, add selected receipts to a deposit and print it as a deposit listing, using a template that would enable you to submit the listing to your bank with a deposit slip;
  2. enable a bank reconciliation to confirm that each deposit was successful and highlight any discrepancies such as bounced cheques or typo's when entering cash or cheque amounts. Ideally you would be able to tick off each receipt within a deposit as reconciled (or just tick the deposit as a whole and have the system mark each receipt within that deposit as reconciled). If a...
Read more
04 August, 2009
By andrew

We are finding that CiviCRM/accounts issues are becoming increasingly important for our clients, and Eileen's recent blogs and the discussion they are generating are a fantastic step towards helping find the best way for Civi to deal with financial transactions.

For example, I think it could be useful for Civi to ultimately develop functionality for maintaining simple bank accounts within CiviCRM, so that small organisations can maintain basic accounts without the headaches of integration with an external package.

Currently we have clients who are willing to rely on CiviCRM as being the central repository for the detail of all contributions, with a lump sum figure hitting their GL at the end of each month which can be reconciled against CiviCRM's records. This is largely reliant on the organisation having very good procedures in place to attend to banking on the same day as transactions are entered into CiviCRM, to make it easier for payments to be reconciled. It...

Read more
03 August, 2009
By Eileen

This is my second blog on the topic of integrating with CiviCRM with an accounting system. Those of you who haven't just run screaming from the room or suddenly discovered an urgent need to polish the inside of your car exhaust, re-organise your tupperware or push needles into your eyes ... read on.

I was going to talk now about the second (conceptual) stage of Xero / CiviCRM integration - getting payment information out of Xero to confirm transactions in CiviCRM, but, some of the scenarios that are difficult to get my head around in automated integration are also the same scenarios that cause me problems under 'manual' integraion, so I'm going to focus for this blog on 'manual' integration between CiviCRM and Accounting systems. This also ties in with a suggestion from Dave that I specify possible future changes to the workflows around receipting multiple payments against events.

Manual integration is an over-jargony way of describing a person...

Read more
01 August, 2009
By Eileen

One of the areas that occasionally hits the forums is whether CiviCRM integrates with accounting systems. I've been giving a little thought to accounts integration lately and have now spent a bit of time poking around the Xero API and thinking about what I would do if I were to spent time trying to get CiviCRM talking to Xero. The content of this blog is mostly non-technical so if you can safely ignore the stuff about APIs if it doesn't mean anything to you.

For those (most) of you that haven't heard of Xero, it is the company that would have made me rich had I bought shares when I said I thought I should. If I had also bought oodles of US dollars at the same time and sold them 3 months ago I would now be sitting on a tropical island instead of writing this. Such things aside, Xero is an online accounting package with a RESTFUL interface which targets small to medium businesses and organisations and is aiming for World Domination. I believe they will fail...

Read more