Aman-Mittal opened a new issue, #761:
URL: https://github.com/apache/fineract-backoffice-ui/issues/761

   ### Summary
   The **Create Savings Account** form starts the Interest Rate field at `0` 
and doesn't update it when a product is chosen. It always sends 
`nominalAnnualInterestRate: 0`. Fineract treats an explicit value as an 
account-level override, so **every savings account opened through this form 
earns 0% interest** unless the officer notices and retypes the product's rate.
   
   ### Environment
   - App: https://aman-mittal.github.io/fineract-backoffice-ui (deployed 
`main`), `/products/savings-accounts/create?clientId=2`
   - Backend: `sandbox.mifos.community`, tenant `default`
   - Role: superuser
   - 2026-10-16
   
   ### Preconditions
   A savings product with a non-zero rate. Here: `E2E-AUDIT-20261016 Savings`, 
product id 2, **5%** nominal annual rate (created through the UI).
   
   ### Steps to reproduce
   1. Client → **New Account → Savings Account**.
   2. Choose the 5% product. Observe **Interest Rate** stays `0`.
   3. Save.
   4. Open the new account → Overview → *Interest Settings*.
   
   ### Expected behavior
   Choosing the product pre-fills its rate (and the other product terms the 
form shows). If the officer leaves it, the account gets the product rate, or 
the field is omitted so Fineract applies the product default.
   
   ### Actual behavior
   ```
   POST /savingsaccounts
   { "clientId": 2, "productId": 2, "submittedOnDate": "15 September 2026",
     "dateFormat": "dd MMMM yyyy", "locale": "en", "nominalAnnualInterestRate": 
0 }
   → 200, savingsId 2
   
   GET /savingsaccounts/2 → nominalAnnualInterestRate: 0, savingsProductName: 
"E2E-AUDIT-20261016 Savings"
   ```
   The account view shows *Nominal Annual Interest Rate 0%*. Nothing warns that 
it differs from the product.
   
   ### Evidence
   Request body and read-back above. Account `000000002` remains on the sandbox 
(approved, activated; 1,000 deposit, 200 withdrawal).
   
   ### Impact
   Financial correctness. Depositors silently earn no interest. The error only 
surfaces at interest posting or in a customer complaint, and fixing it needs a 
per-account rate change plus recalculation. It applies to every account opened 
through this screen.
   
   ### Suggested investigation
   On product selection, fetch `GET 
/savingsaccounts/template?clientId=…&productId=…` (or the product) and patch 
the rate. Alternatively, don't send `nominalAnnualInterestRate` unless the user 
changed it. Check the fixed- and recurring-deposit account forms for the same 
pattern.
   
   ### Verification status
   Reproduced.
   
   ### Related endpoints
   `POST /savingsaccounts`, `GET /savingsaccounts/template`, `GET 
/savingsproducts/{id}`
   
   ### Acceptance criteria
   - Choosing a product pre-fills its rate. An untouched form opens the account 
at the product rate.
   - A unit test asserts the payload after product selection carries the 
product's rate (or omits the field).
   
   ### Related issues
   #197 (savings servicing parity).


-- 
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]

Reply via email to