The current approach to accounting would work for smaller MFI’s and is simple to setup. However, larger MFI's have custom requirements when it comes to automated system posting, a few requirements from Grameen Koota and Musoni illustrate some of the possible customizations that might be required
Term | Comments |
Product default posting rules | Refers to the default posting rules assigned at the time of product creation (See https://mifosforge.jira.com/wiki/display/MIFOSX/A+Possible+accounting+Spec) |
Accounting rule | A rule that identifies the account to be credited and the account to be debited |
Add a set of additional "Events" to which Accounting rules may be mapped. While this would involve a significant amount of one time configuration, it gives larger organizations the ability to handle any custom automated system posting requirements
Every accounting event happens within a particular context. This context includes the following
Based on the Context, different accounting events would be available.
Some events might have further attributes associated with them, which would allow fine-grained control over the accounting rule to be invoked based on the event attribute
Event | Event Attributes | Comments |
Disbursement | Cash Transaction |
|
Check Transaction |
| |
Receipt |
| |
Wire-Transfer |
| |
Mobile Money |
| |
Interest Applied |
|
|
Fee Applied |
|
|
Penalty Applied |
|
|
Principal repayment | Cash Transaction |
|
Check Transaction |
| |
Receipt |
| |
Wire-Transfer |
| |
Mobile Money |
| |
Interest payment | (Same attributes as principal repayment) |
|
Fee payment | (Same attributes as principal repayment) |
|
Penalty payment | (Same attributes as principal repayment) |
|
Interest waiver |
|
|
Fee waiver |
|
|
Penalty waiver |
|
|
Principal write-Off | Non-payment |
|
| Member Death | Needed by GK for posting to Insurance related accounts |
| Spouse Death | Needed by GK for posting to insurance related accounts |
= applicable only when the products use accrual based accounting
An accounting rule can be attached to an Event (and optionally Event Details) occurring in a given context
Event driven automated postings are meant to optionally override the default Product default posting rules. The Order of priority the system would use for Interest posting would be as follows
ID | Context | Event | Event Attribute | Accounting Rule | |||
Branch | Product | Fee/Penalty | Debit | Credit | |||
1 | All | All | N/A | Disbursement | M-Pesa disbursal | Loan Portfolio | mpesa |
2 | Bangalore | All | N/A | Disbursement | M-Pesa disbursal | Loan Portfolio-bangalore | mpesa-bangalore |
3 | Bangalore | IGL | N/A | Disbursement | M-Pesa disbursal | Loan Portfolio-IGL | mpesa-bangalore |
4 | Bangalore | All | Processing Fee | Fee Payment | Any | Bank-Bangalore | Income from processing fee |
An English translation of these event driven postings are as follows:
Now consider the following scenarios
An IGL loan is disbursed in Bangalore using M-Pesa
The actual event and the context in which it was triggered can be represented as follows:
Context | Event | Event Attribute | ||
Branch | Product | Fee/Penalty | ||
Bangalore | IGL | N/A | Disbursal | M-Pesa |
The event driven postings that are a match for this event are
Of the possible matching rules, the most specific rule is ID 3, hence “Loan Portfolio-IGL” is debited and “mPesa-bangalore” is credited
A cash payment for processing fee is made for a Loan of Type “Emergency Loan” in Tumkur
The actual event and the context in which it happened can be represented as follows:
Context | Event | Event Attribute | ||
Branch | Product | Fee/Penalty | ||
Tumkur | Emergency Loan | Processing Fee | Fee Payment | Cash |
No event driven posting rules match this event, hence the “Product default posting rules” will apply
A cash payment for processing fee is made for a Loan of Type “Emergency Loan” in Bangalore
The actual event and the context in which it happened can be represented as follows:
Context | Event | Event Attribute | ||
Branch | Product | Fee/Penalty | ||
Bangalore | Emergency Loan | Processing Fee | Fee Payment | Cash |
The event driven postings that are a match for this event are
Since only one posting rule matches this event, “Bank Bangalore” is debited and “Income from processing fee” is credited