Skip to content

FINERACT-2123: Fix Incorrect Accrual Accounting for Refund For Active Loan - #6267

Open
Bhavya-Sonigra wants to merge 3 commits into
apache:developfrom
Bhavya-Sonigra:FINERACT-2123-accrual-refund-fix
Open

FINERACT-2123: Fix Incorrect Accrual Accounting for Refund For Active Loan#6267
Bhavya-Sonigra wants to merge 3 commits into
apache:developfrom
Bhavya-Sonigra:FINERACT-2123-accrual-refund-fix

Conversation

@Bhavya-Sonigra

@Bhavya-Sonigra Bhavya-Sonigra commented Aug 13, 2026

Copy link
Copy Markdown

Description

This PR fixes an issue where cash refunds for active loans configured with accrual accounting were incorrectly debiting INCOME accounts instead of RECEIVABLE accounts (treating active loan refunds under legacy cash-based logic).

Root Cause:
In AccrualBasedAccountingProcessorForLoan.java, the createJournalEntriesForRefundForActiveLoan method was incorrectly referencing INCOME_FROM_FEES, INCOME_FROM_PENALTIES, and INTEREST_ON_LOANS.

Changes Made:

  • Updated the method to correctly map the debit entries to their respective RECEIVABLE account types (FEES_RECEIVABLE, PENALTIES_RECEIVABLE, INTEREST_RECEIVABLE).
  • Verified locally by provisioning an active accrual loan, overpaying a fee, and issuing a refund, ensuring the General Ledger correctly routes the debit to ASSET instead of INCOME.
  • Testing Update: Modified ClientLoanIntegrationTest.java (testLoanRefundByCashAccrualBasedAccounting) to replace outdated Income assertions with consolidated checkJournalEntryForAssetAccount logic, ensuring the test correctly validates the new receivable accounting behavior.

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • Write the commit message as per our guidelines
  • Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
  • Create/update unit or integration tests for verifying the changes made. (Note: Updated ClientLoanIntegrationTest.java assertions to correctly validate Receivable/Asset journal entries instead of legacy Income entries for accrual refunds.)
  • Follow our coding conventions.
  • Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
  • This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.
  • If merging this PR resolves a JIRA issue, I will mark that issue as resolved and set "Fix Version/s" appropriately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant