Accounting Module Functionality and Expectations
1 What Accounting rules?
User must be able to select accounting rule "cash" or "accrual" at a product level
Page 10 of attached accounting summary document gives useful basic distinction between cash and accrual accounting.
2 The COA
Continue having the same design with four main headers
- Assets
- Liabilities
- Income
- Expenditure
- Equity
Allow adding new accounts of any one of these types from the UI
New accounts can be either "header" or "detail" accounts to make things simpler for a user
Given general formula seems to be Assets = Liabilities + Equity, seems like 'Equity' in a required 'account header' also. - see Page 11, 22, of attached accounting summary document.
I would be interested in hearing what COA nirantara and GK accountants use (or any other MFI in community). On document pages 23, 24 is content about the 'classification of transactions' through chart of accounts and a sample chart of accounts for MFIs. How does nirantara and gk COA differ and why would be good to know.
2.1 Scope
For simplicity (for the first cut) have COA at organization level and run accounting reports at the branch level
- So system should associate all journal entries to branch which owns the entity that caused the entry (Ex: Loan account on which a disbursal occured)
- all user defined journal entries should also be associated with a branch
3 Journal Entries
The 'accounting cycle' image provided on page 22 of attached accounting summary document provides a good visualisation of steps involved from 'economic activity step (transaction)' to closing books for a given cycle period (weekly/monthly/quarterly/yearly)
3.1 Automated Journal Entries
MifosX to automatically log (log each transaction as a separate journal entry....no need of daily consolidation etc.)
- Disbursals
- Repayments
- Rescheduling
- Write-Off
- Adjustments
These journal entries should not have permissions to be altered from the accounting UI (like manually created journal entries which can be reversed etc.)
They should link back to the entity that generated them (the loan Transaction etc so that a user can analyse the same)
They may only be altered with events generating from the system (Ex: a user reverts a loan disbursal etc.)
3.2 Manual Journal Entries
For a manual entry, allow "m" debit and "n" credit entries for a "Journal Entry entered by a user" as long as the sums of all debits and credits match
Allow journal entry reversal (system automatically logs reversal entries of corresponding debits and credits)
This means each journal entry batch must have a batch Id (so all individual entries under it can be identified for easy reversal)
4 Accounting rules
The user is expected at the time of product definition to select the “type” of accounting for the product and select his appropriate GL “Detail account” for the placeholders MifosX accounting module provides
4.1 Cash based accounting Scenario:
4.1.1 COA Snippet
HEAD | Placeholder |
Assets | Cash |
Loan Portfolio | |
Income
| Interest on loans |
Income from fees | |
Income from Penalties | |
Expenses | Losses Written Off |
4.1.2 Posting Rules
Event | Debit | Credit |
Disbursal | Loan Portfolio | Cash |
Principal repayment | Cash | Loan Portfolio |
Interest repayment | Cash | Interest on loans |
Principal Write off | Losses Written Off | Loan Portfolio |
Fees payment | Cash | Income from fees |
Penalty payment | Cash | Income from Penalties |
4.2 Accrual Based accounting Scenario
Would only involve posting to three new accounts (Expected "incomeType")
4.2.1 COA Snippet
HEAD | Placeholder |
Assets
| Cash |
Loan Portfolio | |
Expected Interest | |
Expected Fees | |
Expected Penalties | |
INCOME
| Interest on loans |
Income from fees | |
Income from Penalties | |
Expenses | Losses Written Off |
4.2.2 Posting Rules
Event | Debit | Credit |
Disbursal | Loan Portfolio | Cash |
Interest Applied | Expected Interest | Interest on loans |
Fee Applied | Expected fee | Income from fees |
Penalty Applied | Expected penalties | Income from Penalties |
Principal repayment | Cash | Loan Portfolio |
Interest repayment | Cash | Expected Interest |
Principal Write off | Losses Written Off | Loan Portfolio |
Fees payment | Cash | Expected fee |
Penalty payment | Cash | Expected penalties |
Interest write off | Losses Written Off | Expected Interest |
Fee write off | Losses Written Off | Expected fee |
Penalty write off | Losses Written Off | Expected penalties |
Example:Flat Loan type
Loan Amount: $ 12000
Interest Rate: 12%
Disbursement Date: 15-10-2012
Repayment StartDate: 15-11-2012
Event: Loan Disbursement
Payment mode: Cash
Date: 15-10-2012
Account Description | Dr | Cr |
Cash Book |
| 10000 |
Loans & Advances Short Term Loan | 10000 |
|
Event: Month-end Accrued Interest Posting (Automated Journal Voucher Jobs or Process). This job posts the Accrued Interest posting to Interest Receivable control accounts on end day of every month.
Mode: Automated process or Manual process which acts as bulk Journal Voucher posting
Date: 31-10-2012
Account Description | Dr | Cr |
Interest Receivables | 120 |
|
Interest on Income |
| 120 |
Event: Repayments done
Payment mode: Cash
Date: 15-11-2012
Account Description | Dr | Cr |
Cash on Hand | 1120 |
|
Loans & Advances Short Term Loan |
| 1000 |
Interest Receivables |
| 120 |
5 Closure Dates
Allow setting closure dates at branch level after which accounting transactions cannot be posted.
6 Reports
Only three basic reports (using stretchy reporting)
- Balance sheet
- Profit and Loss Statement
- Trial balance