adamsaghy commented on PR #6399:
URL: https://github.com/apache/fineract/pull/6399#issuecomment-5663934388

   @oleksii-novikov-onix Please review:
   
   Five findings:
   
   WorkingCapitalLoanWritePlatformServiceImpl.java:758 — undoChargeWaiver 
reprocesses only when the loan is charged off; a repayment made while the 
charge was waived went to principal (the allocator saw outstanding 0) and is 
never re-allocated once the charge is restored, leaving the fee owed and the 
principal reduced early in the amortization schedule. The generic undo in the 
same file always reprocesses when charges are involved.
   WorkingCapitalLoanChargeWritePlatformServiceImpl.java:594 — the adjustment 
headroom subtracts prior adjustments and the waived amount, but not the part 
paid by ordinary repayments; waive the remainder of a partly repaid charge and 
an adjustment still passes, then quietly settles principal — the exact failure 
the new comment says it prevents.
   WorkingCapitalLoanBalanceData.java:56 — feeWaived/penaltyWaived are netted 
off getFeeOutstanding() but not exposed, so fee/feePaid/feeOutstanding no 
longer reconcile — the same gap the *WrittenOff fields were added to close, per 
the javadoc right there.
   WorkingCapitalLoanWritePlatformServiceImpl.java:742 — reverseTransaction → 
markReversed generates a fresh external id, so a caller-supplied 
reversalExternalId (accepted by the validator, honored on every other undo) is 
silently discarded.
   WorkingCapitalLoanChargeWritePlatformServiceImpl.java:465 — the allocation 
carries only the accounting-recognized portion, but the same fields are exposed 
as the transaction's split, so an un-accrued 100 waiver reports 
feeChargesPortion = 0. The feature tables lock this in.


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