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