Hi all,
I'd like to share a change I've put up for review and get community inputs,
since it introduces a small workflow pattern that could be relevant beyond
this one feature.
*The problem*
Loan-loss provisioning entries can currently post directly to the general
ledger the moment they're generated, no human ever has to look at them
first. That means a bad provisioning-criteria configuration, a data issue,
or a bug can put an incorrect number into the books before anyone has a
chance to catch it. For a figure that feeds financial statements and
regulatory reporting, that's a real integrity gap, not just a style
inconsistency.
*The change*
FINERACT-2740 adds a review status to provisioning entries, separate from
whether journal entries have already been created for them:
- *draft* - generated but not yet reviewed
- *approved* - reviewed and accepted
- *rejected* - reviewed and declined
Journal entries can now only be posted for an approved entry, and an
entry's underlying rows can only be regenerated while still in draft. An
approved entry can optionally have its approval undone ("undo"), but only
before journal entries actually exist for it. This closes an existing gap
where immediate posting at creation time bypassed review entirely.
Three new write-service methods and matching API commands (
approveprovisioningentry, rejectprovisioningentry,
undoapprovalprovisioningentry) are added, following the same
command-per-transition, permission-gated shape already used elsewhere in
the codebase (e.g. loan reschedule requests).
*PR / Issue*
- Jira: https://issues.apache.org/jira/browse/FINERACT-2740
- PR: https://github.com/apache/fineract/pull/6243
Thanks,
Lukman