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]
