Foo Developer created FINERACT-2880:
---------------------------------------
Summary: Account Transfer: "Undo Account Transfer" fails with
"Insufficient spendable balance" error — user cannot reverse a completed
savings-to-savings transfer
Key: FINERACT-2880
URL: https://issues.apache.org/jira/browse/FINERACT-2880
Project: Apache Fineract
Issue Type: Bug
Reporter: Foo Developer
Assignee: Foo Developer
Screen
Clients > Nour Hashem Ismail > Savings > Account Transfers > 1617 (View Account
Transfer)
Test Data
Transfer ID: 1617
Amount: AED 4.00
Transaction Date / Value Date: 24 September 2026
From: Savings Account 000000899 (IBAN LB05099900080000000000000899), client
Nour Hashem Ismail, Axian Main Office
To: Savings Account SVAE000000386 (IBAN LB790999000800SVAE000000386), client
Nour Hashem Ismail, Axian Main Office
Preconditions
An account transfer of AED 4.00 has been successfully posted from savings
account 000000899 to savings account SVAE000000386.
The transferred amount is still sitting in the destination account
(SVAE000000386).
Steps to Reproduce
Log in to the CBS Portal as Admin.
Navigate to Clients > Nour Hashem Ismail > Savings account 000000899 > Account
Transfers.
Open account transfer 1617.
Click "Undo Account Transfer".
Expected Result
The transfer is reversed: AED 4.00 is debited back from the destination account
SVAE000000386 and credited to the source account 000000899, both original
transactions are marked as reversed, the corresponding GL entries are reversed,
and a success message is shown.
Actual Result
The undo is rejected and the following error toast is displayed:
"Insufficient spendable balance: Requested amount 4.000000 exceeds spendable
balance 0.00 (Available: 0.00, Overdraft: 0) as of value date 2026-09-24"
The transfer remains in place and there is no way for the user to reverse it
from the portal.
Impact
Operators cannot correct erroneous or duplicate transfers through the standard
Undo action, forcing manual journal entries or back-office workarounds and
leaving the customer's balances incorrect.
Suspected Root Cause
The spendable-balance validation on savings debits appears to be applied to the
undo/reversal flow. Either (a) the check is evaluated against the wrong account
(the source account 000000899, whose spendable balance is 0.00 after the
transfer, instead of the destination account SVAE000000386 that is actually
being debited), or (b) the reversal of the credit leg is treated as a fresh
withdrawal and subjected to the same spendable-balance rule as a new customer
debit. An undo of a transfer should only need the destination account to hold
the originally credited amount; the source account's balance should not block
it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)