Aman-Mittal opened a new issue, #757: URL: https://github.com/apache/fineract-backoffice-ui/issues/757
### Summary After a loan transaction is reversed (Adjust Transaction with amount 0), the platform marks it `manuallyReversed: true` and stops counting it. The loan's **Transactions** tab keeps listing it as a normal transaction, with the same type, sign and amount and no reversed label or styling. Staff see payments that no longer count. ### Environment - App: https://aman-mittal.github.io/fineract-backoffice-ui (deployed `main`), `/loans/view/2` → Transactions - Backend: `sandbox.mifos.community`, tenant `default` - Role: superuser - 2026-10-16 ### Preconditions An active loan with at least one repayment. ### Steps to reproduce 1. Loan → **Transactions** → View (eye icon) on a repayment → **Adjust Transaction**. 2. Set Transaction Amount to `0`, add a note, **Adjust Transaction** → **Confirm**. 3. Reload the loan and open **Transactions**. ### Expected behavior The reversed transaction is clearly marked (for example a "Reversed" badge, struck-through amount or muted row), or hidden behind a "show reversed" toggle. The Overview totals and the list agree. ### Actual behavior ``` POST /loans/2/transactions/6 {transactionAmount: 0, …} → 200 GET /loans/2?associations=transactions → tx 5 Repayment 100 manuallyReversed:false tx 6 Repayment 100 manuallyReversed:true → summary.totalRepayment 100, totalOutstanding 10252.91 ``` The UI list, after a full reload: ``` 5 15/10/2026 Repayment + $100.00 6 15/10/2026 Repayment + $100.00 ← reversed, rendered identically ``` Overview shows Total Outstanding $10,252.91, which matches only **one** repayment. So the list says $200 was paid and the balance says $100. ### Evidence API fields above. Row computed style has no decoration difference. Screenshot taken locally during the audit. ### Impact Reconciliation and customer disputes depend on this list. An officer explaining a balance to a borrower will count a payment that was cancelled. It also hides the trail of the very correction staff make after an error such as a double-posted repayment. ### Suggested investigation The Transactions tab mapper probably drops `manuallyReversed` (and possibly `reversedOnDate`). Render a reversed state, and exclude reversed rows from any client-side running totals. ### Verification status Reproduced, including after reload. ### Related endpoints `GET /loans/{id}?associations=transactions`, `POST /loans/{id}/transactions/{txId}` ### Acceptance criteria - A transaction with `manuallyReversed: true` is visibly marked as reversed in the loan Transactions tab (and the savings equivalent, if it has the same gap). - A unit test with a reversed transaction in the fixture asserts the marker. ### Related issues Found while reversing the duplicate repayment described in the double-submit issue filed alongside this one. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
