Target releaseRelease name or number
Epic Link to related JIRA epic or feature
Document status
Document owner 
DesignerLead designer
DevelopersLead developer
QALead tester

Overview

Financial Institutions may close their accounting books periodically and hence want to know the status of the accrued incomes and expenses as of the particular date.

Today, for Accounting Type as "Accrual (Periodic)", the accrual accounting happens in Mifos on the date a payment is due. This will be enhanced so that the organization can

a) recognize income/expenses periodically for loans (as specified as a configuration):

OR

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

Mifos will continue to accrue income/expense for loans on the dates on which they fall due. There will not be any change to this functionality.

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.

Requirements/User Stories

#TitleUser StoryImportanceNotes
1Set accrual accounting frequencyAs a head accountant, I wish to specify how frequently accrued income and expenses will be recognized in accountingMust have 
2Automatic periodic accrualAt 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 loans till this dateMust have 
3Manual accrualAs a head accountant, I wish to manually invoke the accrual job as on a specific date to recognize all income and expenses for loans till this dateMust have 

Business Rules

The definition of periodicity of accrual will be applied to the whole Mifos installation (i.e. it is organization wide and not restricted to specific products).

Mifos should support accrual periodicity of the following:

     - yearly - on 31st March

     - half yearly - on 30th June and 31st Dec

     - quarterly - on 31st March, 30th June, 30th Sep and 31st Dec

     - monthly - on last day of month

     - on 25th of every month

     - fortnightly, on second Thursdays

     - weekly on Saturdays

     - daily

Attributes

The following attributes will be captured for "Accrual Setup" (under Accounting)

AttributeDescriptionNotes
Accrual Type

Automatic or

Manual

Automatic - means will be invoked automatically on specified periodicity

Manual - will be invoked by an accountant or head accountant by manually specify a date and invoking the accrual job

This is set for the organization and not for a specific product. Defaulted to Manual.

Accrual PeriodicityMonthly, weekly, quarterly etc.

Only specified when Accrual Type = Automatic

Should support above frequencies

   

Security and Permissions

New permissions to be introduced for:

Mifos Functionality Enhancements

New Screens

Changes to Existing Screens

None

Changes/Enhancements to Batch Jobs

Existing "Add Accrual Transactions" batch job to continue as it is. No changes to this.

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

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

Changes/Enhancements to Accounting Entries

None

User interaction and design

TBD

Exception Handling

Reporting

None

APIs

An API to maintain the "Accrual Setup" attributes

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

Notes

Accrual Type to be defaulted to "Manual" during upgrades

 

Database changes 

  1. Modifications to Loan Account(“m_loan”)

    Column NameData TypeDescription
    accrued_tillDateto identify till which date accruals are done

Use cases:

  1. calculate accrual amount till specified date
    1. system will calculates accrual amount per one day first
    2. then apply this  to number of days between last accrued and till the date specified/periodic date  
    3. if days on month set as 30, then in calculation 30 days will be consider even for 31 days(on 30th day and 31st day accrual amount will be same)
       
  2. batch job, which accrues based on periodicity mentioned in settings(calendar instance)
  3. API for capturing accruals till the date specified(Manual) . date must not be in future.
  4. if there is any difference in amount because of back dated entry, system will do accrual or reversal of accrual for that varied amount. 

 

Questions

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

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

Out of Scope