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

   Three features cannot be built into this application because the platform 
refuses them on
   PostgreSQL. Each was probed against `apache/fineract:latest` 
(`1.15.0-303-gf4f927e`, built
   2026-08-15) with a fresh database, as the default superuser holding 
`ALL_FUNCTIONS`. No screens were
   shipped for them, because a screen for any of these could only ever fail.
   
   ## 1. GLIM — group loan individual monitoring
   
   `POST /v1/loans` with `loanType: "glim"` is accepted by validation and then 
fails in the database:
   
   ```
   ERROR: null value in column "principal_amount" of relation "glim_accounts" 
violates not-null constraint
   INSERT INTO "glim_accounts" ("account_number", "application_id", 
"child_accounts_count",
     "accepting_child", "loan_status_id", "principal_amount", "group_id") 
VALUES (?, ?, ?, ?, ?, ?, ?)
   ```
   
   The API answers `403 error.msg.unknown.data.integrity.issue`. The obvious 
alternative payload is
   rejected outright — *"The parameter clientMembers is not supported"* — so 
there is no second shape
   to try. `GET /v1/groups/{id}/glimaccounts` and `GET 
/v1/loans/glimAccount/{id}` both work; they just
   have nothing to return, because nothing can be created.
   
   ## 2. GSIM — group savings individual monitoring
   
   `POST /v1/savingsaccounts/gsim` answers **200** and reports `gsimId: 0`. 
Individual savings accounts
   are created for the named clients, but no parent GSIM record is formed, and
   `GET /v1/groups/{id}/gsimaccounts` stays empty afterwards. Adding `isGSIM: 
true` changes nothing on
   that endpoint and is rejected as unsupported on `POST /v1/savingsaccounts`.
   
   ## 3. Centre collection sheet
   
   `POST /v1/centers/{id}?command=generateCollectionSheet` answers **500**:
   
   ```
   org.postgresql.util.PSQLException: ERROR: operator does not exist: boolean = 
integer
   ```
   
   The query compares a boolean column to an integer — `ls.completed_derived = 
0` — which MySQL
   accepts and PostgreSQL does not. The comparison is unconditional, so this 
fails for every tenant on
   PostgreSQL regardless of data. The command itself is recognised: a 
deliberately invalid command on
   the same endpoint is refused with 
`error.msg.query.parameter.value.unsupported`, while this one gets
   as far as looking the centre up.
   
   The **individual** collection sheet this application already has is 
unaffected, and its `generate`
   and `save` commands are the ones this backend accepts.
   
   ## Business Value
   
   Group lending is the core of microfinance, and GLIM and GSIM are how a group 
loan or group savings
   account is tracked per member — who owes what inside a joint liability 
group. Without them a branch
   running group products has to track member-level balances outside the 
system, which is where
   reconciliation errors and disputes come from.
   
   The centre collection sheet is the daily working document of a field 
officer: one page listing every
   member due at a centre meeting, filled in during the meeting and posted as 
one batch. Without it,
   collections at group scale are entered account by account.
   
   Because all three are refused by the backend, this issue is a tracking 
record rather than a UI task.
   It becomes actionable here once the platform accepts the operations; the 
fixes belong upstream.
   Anyone picking it up should raise the three defects on the Fineract JIRA 
project first and link the
   tickets back here.
   
   ## What would close this
   
   - The three platform defects fixed upstream and available in a released 
Fineract, then
   - screens for GLIM accounts and GSIM accounts on the group record, and the 
centre collection sheet
     beside the individual one — each built the way the rest of this 
application is: contract verified
     against a running platform, unit tests, and a backend e2e test that seeds 
a real record.
   
   Found while closing the functional gaps in #375.


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