Currently, CiviContribute is intended to manage money received from constituents and not the other way round. There are situations where it could be useful to track payments made from a constituent to the organisation using CiviCRM:
- A charity that is set up to provide cheap loans for enterprises in the developing world (e.g. Equity For Africa) would need to be able to track who has received a loan and the terms of that loan (repayment schedule, interest charged etc.).
- A charity that provides rehab services (e.g. Charis London)needs to be able to track who is paying for those services (whether the client themselves, their care manager, family etc.). They also need to log payments received from the clients, payments made to the clients (perhaps a loan or to pay for a client's extra requirements), debts (plus the ability to log them as "written off").
- An organisation that makes grants to other charities might need to be able to log grant applications and whether those applications are successful or not. They also need to be able to record whether the grant comes with specific outcome measurements and to see the history of grants made to that organisation.
All the money that is tracked using CiviCRM 1.4 is thought of as a "gift" - i.e. money given as a straight donation without exchanging it for something else. I propose that this restriction is removed, or at least moved lower down the hierarchy allowing for situations where a charity can receive payment for a service offered (such as the above examples) as well as give money out as part of its charitable activities.
Here is one way that this might be achieved:
Discarding the idea that all financial transactions managed by CiviCRM are straight donations. This would move donations further down into a category of its own, alongside "Payments made", "Payments received", "Donations made", "Donations received", "Loans made" and "Loans received". Each type of transaction (Payments, donations and loans) is a category applied to a transaction that could be established between any two contacts in the CiviCRM contact list.
Depending on the type of transaction being recorded, a transaction may then come with certain activities that need to happen. So a loan might come with a regular repayment schedule and the corresponding number of activities can be created. As each repayment is received, one of the repayment activities can be checked off as "done". Or a charity might make a grant that requires a status report at some point in the future.
