Provide endpoint to validate fund distributions
Description
CSP Request Details
None
CSP Rejection Details
None
Potential Workaround
Use a dollar amount for at least one of your fund distributions such that the system will not encounter a rounding error. ie. for $90 use 33.33%, 33.33% and $33.34. This ensures the total after rounding up or down is in fact $90 and not $89.991 resulting in 1 penny missing.
blocks
clones
has to be done before
Checklist
hideTestRail: Results
Activity
Show:

Dennis Bridges August 19, 2022 at 6:06 PM
Test successful in bugfest-mg

Oleksii Petrenko August 15, 2022 at 9:19 AM
Deployed to MG bf. Please proceed with verification

Adesh Singh August 4, 2022 at 10:28 AM
postman collection:-https://www.getpostman.com/collections/71e7f7ecb3843fab7e17
Done
Details
Assignee
Adesh SinghAdesh SinghReporter
Serhii_NoskoSerhii_NoskoTester Assignee
Dennis BridgesDennis BridgesPriority
P3Story Points
2Sprint
NoneDevelopment Team
ThunderjetFix versions
Release
Morning Glory (R2 2022) Bug FixRCA Group
Legitimate regressionAffected Institution
!!!ALL!!!TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee

Reporter

Tester Assignee

Priority
Story Points
2
Sprint
None
Development Team
Thunderjet
Fix versions
Release
Morning Glory (R2 2022) Bug Fix
RCA Group
Legitimate regression
Affected Institution
!!!ALL!!!
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created July 25, 2022 at 7:30 AM
Updated August 19, 2022 at 6:06 PM
Resolved August 8, 2022 at 12:52 PM
Overview:
When using only dollar amount distributions the system doesn't acknowledge that all cost in accounted for and order will not open.
Fund distribution total validation should allow 2 cases: either totals in the currency add up, or percentages add up to 100%. Currently the first case is not supported (it used to be the only one supported before ).
Steps to Reproduce:
Log into some FOLIO environment as User X
Create order
Add order line with cost of $90
Add 3 fund distributions using percentage
Each Fund 33.33%
Save POL
Click action menu for order
Click Open
Expected Results: Order is opened and encumbered successfully. Three encumbrances, 1 for each fund for $30
Actual Results: Order fails to open. error shown "Fund distribution total must add to 100% or totalPrice"
Approach:
The same endpoint already implemented for mod-orders in scope of story: . Need to do the same for mod-invoice as well.
Logic to validate fund distributions for mod-orders located in method: org.folio.orders.utils.FundDistributionUtils#validateFundDistributionTotal
Contract with endpoint for mod-orders attached as Postman collection in , we can reuse the same contract for mod-invoice response, request payload is different, to get request contract please take a look -> Create API contract for fund distribution validation
File with APIs -> fundValidationAPIContract.txt
Additional Information:
This was found in bugfest lotus release.
The new implementation should be callable directly by UI in a new endpoint. See .