Uploaded image for project: 'mod-finance-storage'
  1. mod-finance-storage
  2. MODFISTO-206

Ensure that Allowable Encumbrance and Allowable Expenditure restrictions are based on Total Funding

    XMLWordPrintable

Details

    • Story
    • Status: Closed (View Workflow)
    • P3
    • Resolution: Done
    • None
    • 7.0.0
    • None

    Description

      Purpose/Overview:
      Ensure that Allowable Encumbrance and Allowable Expenditure restrictions are based on "Total Funding" NOT Allocation

      Approach:
      Update current calculation logic to check enough money to proceed

      org.folio.service.transactions.restriction.BaseTransactionRestrictionService#getBudgetRemainingAmount

      For Encumerance : org.folio.service.transactions.restriction.EncumbranceRestrictionService#getBudgetRemainingAmount
      [remaining amount we can encumber] = (totalFunding * allowableEncumbered) - unavailable
      Where
      totalFunding = allocated + netTransfers
      unavailable = encumbered + awaitingPayment + expended

      For Pending payment: org.folio.service.transactions.restriction.PendingPaymentRestrictionService#getBudgetRemainingAmount
      [remaining amount we can expend] = (totalFunding * allowableExpenditure) - unavailable + relatedEncumbranceForPendingPayment

      For Payment: org.folio.service.transactions.restriction.PaymentCreditRestrictionService#getBudgetRemainingAmount
      [remaining amount we can expend] = (totalFunding * allowableExpenditure) - unavailable + relatedPendingPaymentPartFromTransaction

      Acceptance criteria:

      • logic updated
      • unit tests updated

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                aliaksandr_pautau Aliaksandr Pautau
                yauheni_kuzmianok Yauheni Kuzmianok
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases