Periodic Accrual for Savings

Target release
Document statusDRAFT
Document owner 


Similar to: Periodic Accrual for Loans financial institutions will want to recognize expenses/incomes accrued on deposit product accounts too.

Today, deposit products do not support accrual accounting. This spec is to enhance the accrual accounting in Mifos to support periodic accrual of expenses/incomes on deposit accounts too.

Deposit product expenses: Interest to be paid on deposit accounts

Deposit product incomes: fees, interest on overdrafts

The organization may

a) recognize income/expenses periodically (as specified as a configuration - the same as what is specified at: Periodic Accrual for Loans):


b) recognize income/expenses as on a particular date (which will be manually specified when invoking the accrual job).

Background and strategic fit

This feature will allow Mifos to cater to standard accounting procedures followed by larger Financial Institutions and move towards making Mifos a more accepted core banking solution by including accrual accounting for deposit products too.

Requirements/User Stories

Set accrual accounting frequency use case as specified at Periodic Accrual for Loans needs to be supported.


#TitleUser StoryImportanceNotes
1Automatic periodic accrual for depositsAt the frequency specified by the head accountant, Mifos internally invokes a batch job that will take the current date as input and recognize all unrecognized income and expenses for deposit products till this dateMust have 
2Manual accrual for depositsAs a head accountant, I wish to manually invoke the accrual job as on a specific date to recognize all income and expenses for deposit products till this dateMust have 

Business Rules

As specified at: Periodic Accrual for Loans


No extra attributes to be captured than what is specified at: Periodic Accrual for Loans


Security and Permissions

New permissions to be introduced for:

  • Manually invoking the "Period-Ending Accrual for Deposits" job

Mifos Functionality Enhancements

New Screens

  • None

Changes to Existing Screens

  • Deposit product screens to be enhanced to capture the accrual accounting General Ledger account heads

Changes/Enhancements to Batch Jobs

A new batch job which will do the following for all active deposits:

  • Calculate the apportioned unrecognized expense for:
        Period start: Last time any expense was recognized
        Period end: date which is given as input (includes the date given)
  • Calculate the apportioned unrecognized income for:
        Period start: Last time any income was recognized
        Period end: date which is given as input (includes the date given)
  • Pass journal entries for recognizing this income or expnse - the entries will follow same principles as what is specified under: Accrual Accounting- Techno functional Spec (under section "Basic Scenario" under "Automated System Accrual Event")
  • If the income or expense to be recognized changes due to any backdated entries made - then the job will cancel existing accounting entries that recognized expense or income and will pass new entries with corrected amounts

This new batch job will be invoked at the frequency specified in the "Accrual Setup" (under Accounting)

Changes/Enhancements to Accounting Entries

Deposit Products need to capture additional accounting General Ledger heads under which accrual of incomes and expenses will be done.

Under assets: Interest Receivable, Fees Receivable, Penalties Receivable

Under liabilities: Interest Payable


Recognition of Interest to be paid:

                 Interest on Savings (Expenses) Dr,

                 Interest Payable (Liability) Cr

Recognition of Interest (or Fees or Penalties) Receivable:

                 Interest (or Fees or Penalties) Receivable (Asset) Dr,

                 Income from Savings (Income) Cr

User interaction and design


Exception Handling

  • If income and expense was recognized already for a deposit account on or after the date specified, and there is no new backdated transaction for this account, then the batch job will skip this deposit account.
  • It should be possible to re-run the batch job for a given date (for example: after making back dated entries, accountants wants to re-run the job for a given date)




An API to invoke the periodic accrual batch job for deposits as on a specified date




Below is a list of questions to be addressed as a result of this requirements document:

Confirm that the handling of backdated transactions as described above is accurate from an accounting perspectiveTBD

Out of Scope