Hi Fineract Community,

We would like to share a recent contribution to the platform related to
improvements in savings account behavior:

PR: https://github.com/apache/fineract/pull/4837
JIRA: https://issues.apache.org/jira/browse/FINERACT-2312

This pull request introduces an approach to accruals handling for savings
accounts. In cases where a deposit or withdrawal occurs after accruals have
been generated, the system will now remove all accruals from the
transaction date onward without regenerating them. This change aims to
improve both data consistency and system performance while avoiding
duplication or misalignment in accounting records.


Savings Account Improvements

PR: https://github.com/apache/fineract/pull/4837


Savings products can now be configured with accrual accounting. Any savings
account can record accrual transactions.

To reproduce, follow the steps below for interest-related issues.

   -

   Create the Savings product according to the configuration


   -

   Create a retroactive and active savings account


   -

   Run the job: admin->systems->Manage jobs →Add Accrual Transactions For
   Savings


   -

   RunPost interest for Savings job, if the above works do not work.


   -

   (Ideally, the accumulation transaction for the savings should be added,
   which should be published


   -

   Check the accounting entry for the created savings account accrual
   transaction

Currently, overdraft savings account transactions are not supported using
accrual-based accounting entries.

We need to support accrual accounting entries for overdrafts. Interest
transactions and overdraft accrual transactions must be recorded using
accrual accounting.

Acceptance criteria:

The accounting entry for the overdraft interest transaction is modified to
support accrual accounting.

It is an existing transaction: changes were made to the accounting entries
to support accrual accounting.

Overdraft transaction that is posted to the savings account through the
work “Post interest for savings.

A new overdraft accrual transaction type was integrated to debit the
interest import.

A new transaction type will be introduced and new accounting entries have
been added.

Overdraft accrual transactions are recorded only for accounts that are in
overdraft status.

The accumulation transaction is published by the same job “Add Accrual
Transactions For Savings" with the frequency established for the job.

To play

   1.

   Create a savings product like the one attached.


   1.

   Create a retroactive savings account and activate it and some deposit or
   withdrawal amount.


   1.

   Run the job “Add Accrual Transactions For Savings”.

The first day of each month the work must be carried out "Post interest for
savings”





Currently the system only calculated the accruals once a day and if a
deposit or withdrawal was made it did not calculate the new accrual. With
the implementation, when calculating the accrual, if several withdrawals
and/or deposits are made in one day, it must calculate the accrual several
times.

Accrual is recorded on the same date when a deposit is made at the end of
the day.

The accrual is recorded on the same date when a withdrawal is made at the
end of the day.

The system should repeat the day's accrual if the balance changes that day
due to a deposit or withdrawal.

For example

To play

   1.

   Set billing date: June 5, 2025


   1.

   Create/approve/activate the overdraft account as of June 2, 2025


   1.

   Deposit 10,000 starting June 2nd


   1.

   Make accruals


   1.

   Deposit 10,000 starting June 3rd


   1.

   Make accruals


   1.

   Withdraw 40,000 starting June 4th





We’ve also included detailed documentation to support the proposed changes,
including the use case and technical details.

We invite the community to review the proposal and share any feedback,
questions, or concerns.

Best regards,

Lizbeth Martínez

Reply via email to