[ 
https://issues.apache.org/jira/browse/FINERACT-3002?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Saghy updated FINERACT-3002:
---------------------------------
    Fix Version/s: 1.17.0

> Working Capital loan transactions accept amounts with more decimals than the 
> currency
> -------------------------------------------------------------------------------------
>
>                 Key: FINERACT-3002
>                 URL: https://issues.apache.org/jira/browse/FINERACT-3002
>             Project: Apache Fineract
>          Issue Type: Bug
>            Reporter: Piotr Wargulak
>            Assignee: Piotr Wargulak
>            Priority: Major
>             Fix For: 1.17.0
>
>
> {{WorkingCapitalLoanDataValidator}} checks the transaction amounts of a 
> Working Capital loan for being positive only. An amount finer than the loan's 
> currency is stored and posted as given: a repayment of 339.735 on a 2-decimal 
> currency is stored as 339.735 and its journal entry is 339.735. The product 
> and the application amounts are already refused in that case 
> ({{{}WorkingCapitalAmountScaleValidator.validateNotFinerThanCurrency{}}}, 
> used by the product and application validators).
> Affected requests: disbursement ({{{}transactionAmount{}}}, 
> {{{}discountAmount{}}}), repayment / goodwill credit / payout refund, 
> recovery payment, credit balance refund, discount fee and its adjustment, 
> adjust transaction and adjust by delta.
> Not covered by the fix below, for a follow-up: the charge adjustment 
> {{amount}} 
> ({{{}WorkingCapitalLoanChargeDataValidator#validateChargeAdjustmentRequest{}}}
>  receives no loan, so no currency), and principal / discount at create, 
> modify and approval, which book nothing themselves (the disbursement check 
> covers what is booked).
> *Steps to reproduce*
>  # Create a Working Capital loan in a currency with 2 decimals and disburse 
> it.
>  # {{POST /working-capital-loans/\{id}/transactions?command=repayment}} with 
> {{{}"transactionAmount": 339.735{}}}.
>  # The request succeeds; the transaction and its journal entry carry 339.735.
> *Proposed fix:* 
> call {{validateNotFinerThanCurrency}} with the loan's currency digits for 
> each of these amounts, which answers 400 
> {{{}validation.msg.WORKINGCAPITALLOAN.<param>.scale.is.greater.than.<digits>{}}}.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to