Now that we have the basics of civicrm set up for our cathedral, we are looking at migrating giving recording - i.e. contributions and pledges.

The primary requirement is that contribution is anonymous. No one (with the exception of one giving recorder) knows how much anyone has contributed. The current system uses a donor number for each person, so whoever is doing data entry should be able to record contributions by entering this number only, and not see the person's name.

Contributions are via cash [edit](in numbered envelopes)[/edit], EFTPOS and automatic payment.

Desired output: At the end of each financial year, the giving recorder can generate a single tax receipt which accumulates a person's donations throughout the year - and send it to them so that they can claim a tax credit.

That's a long way from the standard usage of civicontribute and civipledge, but I hope that someone out there has had to build something similar and can light the way.

[edit]As a supplementary question: it has been suggested that we store the donor numbers in the external ID field. How can we restrict access (view and edit) to this built-in field to a single role?[/edit]


  • I should have mentioned that those who give cash weekly (and who want a receipt) already use envelopes marked with their donor numbers. Jun 16, 2015 at 22:02
  • How thoroughly are you looking to anonymize the records? If an admin/superuser on the Civi backend looks, would they be able to see the real name+email+giving number+contribution history? Or would they just see a pseudonym/giving number?
    – Tim Otten
    Jun 17, 2015 at 23:25
  • It's my intention that admin roles won't have permission to see case data or contribution data on the live system - which entails not running as user 1 on a daily basis. Of course that still leaves direct database mining, so we are reliant on lack of interest (the info means nothing to me) and integrity. The key thing is that someone merely looking up a contact record can't see the donor number and can't click the contributions tab. Only staff and pastoral team members have Drupal accounts. Jun 24, 2015 at 0:06
  • Just to give some closure on this question, we gave up on this as too hard. the reason being is that some people give as couples or households, and civi isn't geared for entering a pledge or contribution AS a household. (I'm aware of techniques for aggregating all contributions from members of a household, but these people are quite adamant that there shouldn't be just one name assigned to a particular contribution). There are others who insist on contributions being receipted individually for each member. Unless someone has dealt with this specific issue, it will stay in the too-hard basket. Jul 25, 2016 at 21:57

3 Answers 3


As far as the end-of-year giving statements are concerned, this has been available in CiviCRM since 4.4, but not documented in the user and admin guide.

It is documented in the 4.6 version of the guide which will be published soon. (The publishing software we were using has stopped working, so we are working hard to get it ready to publish via a different route). In the mean time the relevant section is: enter image description here enter image description here enter image description here
enter image description here

  • That's great, thank you! Don't think we'll be using the tabulated options, since many contribute weekly. Jun 17, 2015 at 23:10

You could also utilize Drupal Webforms or a CiviCRM profile to let your staff (or donors) enter donations and just provide the CiviCRM or external ID (without seeing any contact information).

On the issue of year-end statements, there may be good news. We developed an extension that generates donation receipts for your tax authorities - including anual bulk receipts. Please find more information on our website.

The development of the extension was initially funded by seven German organisations and has been in productive use since January 2015. The rightholders plan to publish the extension under a free license in late 2015.

It is also possible to join the consortium and start to use the extension now - please contact us if you are interested.


If I understand your question correctly, you're asking how you might go about recording the cash contributions and the EFTPOS contributions in CiviCRM without the person recording the contribution knowing who the contributor is.

I would probably have my contributors utilize an envelope system for cash contributions with their "giving number" on the envelope. This number could be either their civiCRM ID or the External ID (if you want to continue using your current number system just input the current number into the external ID of the civi contact). The person collecting the money could then enter the envelope number into a spreadsheet along with the amount of the contribution and type of contribution. Then you could use the Import Contribution option to import the list.

CiviContribute will allow your people to make one time contributions through your site as well as recurring. If you set this up to not notify anyone other than your giving recorder person then no one would know what anyone gave unless they had the permissions to see the contact's Contribution tab.

I can't tell you how to get the EFTPOS contributions into civi because I don't know how they are currently being made. However, depending on which payment processor you choose to integrate with Civi this could all automatically be entered with civi.

I use Stripe payment processor. It only does credit/debit cards and not e-checks, however it integrates with civicrm so that if a person makes a contribution through our website the contribution is recorded to their record and only the people with appropriate permissions can view that.

As far as printing year-end giving statements, that's where civicrm is lacking big time. There's been several attempts by various people to create solutions to this but currently (in my opinion) this is one of the great missing features of civicrm and quite frankly I can't understand how a system that markets itself to nonprofits doesn't do this out of the box. I don't know a single non-profit that doesn't provide end of year giving statements to their donors. There is a feature to print pdf letters and you can include a total amount given through using a token but to be able to list off all contributions given like in a table you would have to do some custom programming.

  • Thanks to the pointer to storing the donor number as an External ID - the fact that External ID is an acceptable contact identifier to Civi for the purpose of imports will work much better than having it as a custom field (which is where we currently have donor numbers stored). Jun 16, 2015 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.