Accounting Module Functionality and Expectations
1 What Accounting rules?
User must be able to select accounting rule "cash" or "accrual" at a product level
2 The COA
Continue having the same design with four main headers
- Assets
- Liabilities
- Income
- Expenditure
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
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
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 |
|
Income | Loan Portfolio |
|
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 |
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