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

   ### Summary
   **Products → Fixed Deposit Products → Create** doesn't show any 
interest-rate or chart fields, but the request it sends contains an **interest 
rate chart with a fixed 5% annual rate for 1–60 months**, starting from the 
browser's today. Every FD product created through this screen pays 5% whatever 
the institution intended, and nothing in the UI says so. Compounding and 
posting periods are hard-coded too.
   
   Separately, **Description** is required but not marked: until it's filled, 
Save stays disabled with no message.
   
   ### Environment
   - App: https://aman-mittal.github.io/fineract-backoffice-ui (deployed 
`main`), `/products/fixed/create`
   - Backend: `sandbox.mifos.community`, tenant `default`
   - Role: superuser
   - 2026-10-16
   
   ### Steps to reproduce
   1. **Create Fixed Deposit Product**. Visible fields: Name, Short Name, 
Description, Currency, Decimal Places, Amount, Min Deposit Term, Min Term Type, 
Accounting rule.
   2. Fill Name and Short Name only. Save is disabled, with no error text 
anywhere.
   3. Type any Description. Save becomes enabled. Save.
   
   ### Expected behavior
   - Interest rate and chart slabs (period ranges and rates) are visible and 
editable. If a default chart is offered, it's shown before saving.
   - Compounding, posting, calculation and days-in-year are selectable (from 
`GET /fixeddepositproducts/template`).
   - Required fields are marked, and Save explains what's missing.
   
   ### Actual behavior
   ```
   POST /fixeddepositproducts → 200, resourceId 1
   { ..., "interestCompoundingPeriodType":4, "interestPostingPeriodType":4,
     "interestCalculationType":1, "interestCalculationDaysInYearType":365,
     "minDepositTerm":1, "minDepositTermTypeId":2, "depositAmount":1000,
     "charts":[{ "fromDate":"16 October 2026", "dateFormat":"dd MMMM yyyy", 
"locale":"en",
                 "chartSlabs":[{ "periodType":2, "fromPeriod":1, "toPeriod":60,
                                 "annualInterestRate":5, 
"description":"Interest rate" }] }] }
   ```
   None of `charts`, `annualInterestRate`, `fromPeriod/toPeriod` or 
compounding/posting appears on screen. Also, the Accounting rule `ion-select` 
renders with **no** `ion-select-option` children in the DOM, even though the 
template returns four options (NONE / CASH / ACCRUAL PERIODIC / ACCRUAL 
UPFRONT).
   
   ### Evidence
   Request body above (captured live). The form state when Save was disabled 
showed `ION-TEXTAREA[name=description]` as the only `.ng-invalid` control.
   
   ### Impact
   - **Financial terms set without consent.** An administrator configuring, 
say, a 7% 24-month product gets 5%, unless they later find and edit the chart 
elsewhere. Accounts opened under it inherit it.
   - The chart's `fromDate` is the browser's date, which can be ahead of the 
tenant's date (see #758).
   - An unmarked required field with a silently disabled Save is a dead end for 
the user.
   
   ### Suggested investigation
   Make the chart an explicit, editable section (or require one on save), 
driven by `chartTemplate` from `GET /fixeddepositproducts/template`. Show the 
period/compounding selects from the template. Mark Description required (or 
drop the validator if it isn't needed; Fineract treats it as optional). Check 
why the accounting-rule options don't render.
   
   ### Verification status
   Reproduced. Product id 1 on the sandbox (created after the sandbox reset).
   
   ### Related endpoints
   `GET /fixeddepositproducts/template`, `POST /fixeddepositproducts`, `PUT 
/fixeddepositproducts/{id}`
   
   ### Acceptance criteria
   - No interest chart is sent unless the user sees and confirms it.
   - Rate slabs, compounding and posting are editable and round-trip on edit.
   - Every required field is marked, and a disabled Save states why.
   
   ### Related issues
   #295, #288, the savings-product equivalent #762, #758.


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