- UXPROD-4166Getting issue details... STATUS
Problem(s):
Certain accounts payable systems require that orders with encumbrances or similar expected costs must exist prior to allowing payment processing. Some of these systems require at least one calendar day separation between creation of the order and processing the payment. Libraries need to output orders with encumbrances to these AP systems prior to submitting invoices.
Requirements and Use Cases:
Requirement | Status | Use Cases |
---|---|---|
(SAMPLE) Library must specify which open order encumbrance(s) to output | VALIDATED | When a user creates a new order with an encumbrance, the system needs to know to send the order with encumbrance to the AP system without creating duplicates. When a user creates a new order, all match points must match in order to ensure uniqueness because it is not uncommon for a vendor to have multiple open orders for identical dollar amounts. Current scripts only collect same-day approvals. |
Disencumbrances due to cancellation or similar with no associated invoice should be output when they occur | VALIDATED | Librarian places an order, encumbering a set amount of money. That order is then cancelled and the fund disencumbered for that amount. The cancellation and disencumbrance needs communicated to the AP system. |
When an order is created and approved, order information including vendor, funding and banking information must be transmitted to the AP system | UNDERWAY | Every time a new POL is transmitted to the AP system, any deltas to the Organization record (including banking information) should be included with the output OR Every time a new POL is transmitted to the AP system, associated Organization information should also be output. |
When changes to vendor occur, vendor gets updated in AP system (UXPROD-4164) | UNDERWAY | |
FOLIO allows scripts to come in and get data with minimal user intervention on the FOLIO side | VALIDATED | The library has a process for using external scripts to identify and retrieve new orders on a scheduled or externally triggered basis without any need for staff to login to the FOLIO client. These scripts carry embedded logic to retrieve only new orders. |
When a credit is received, library must determine if credit is valid (based on FY) and if so associated with appropriate FY | MOVED | Library receives a credit memo for FY2020. The library needs to determine if FY2020 is still valid/open, and if so, apply that credit to FY2020 rather than the current FY. |
When a refund check is issued, applied as credit to existing budget to be assigned (new feature needed for refund handling) | MOVED | |
POL added to existing PO needs to be output as individual order in AP | VALIDATED | Library has a PO that supports multiple POLs. Each time a new POL is created on that PO, external scripts should retrieve that POL. |
Static, searchable unique identifier associated with each POL | VALIDATED | Certain PO numbers can be changed, but POs for firm orders with encumbrances should not be changed. Sometimes, people change them anyway. Library needs a firm match point that does not change in order to reliably associate order/POL information in FOLIO and the AP system. Library needs to be able to search FOLIO on this firm match point. |
Proposed workflow
- Enable third-party scripts to request specified fields from PO, POL and Organization records
- Create output file in JSON format
- Place file on external system via SFTP
Links
Questions:
Question | Status | Conclusion | Comments |
---|---|---|---|
Do we need to output encumbrance values or estimated prices? | CLOSED | Estimated prices | No need to output encumbrances associated with funds at this time - purely estimated costs of orders. |
What format does the output need to be in? | IN PROGRESS | JSON desired. | semi-structured text. Can we do JSON? Sample output to come. |
What is the relationship, if any, with the need to output organization info? | CLOSED | Tight integration | |
Is this export process handled via scheduled job, manual export order or API call from the AP system? | CLOSED | Report generated and pushed through pl1/python script for conversion to AP format via automated script on automated or on-demand basis | |
If a file is to be output, is it output to local or output to sftp? | CLOSED | SFTP; local download from logs | |
External account number associated with fund code? Does it need to be associated with specific bank account numbers? | OPEN | ||
What additional info needs to be included in the output? | OPEN | UUID as primary match point? PO numbers are changeable (though some should not be) and they need something fixed, unchangeable and searchable within FOLIO | |
Where is the match point between FOLIO and the AP system for a given order? | OPEN | Existing vendor, ledger, fund (AP level), order number. Firm orders must have precise vendor match, approval plans, subscriptions allow for misc. For firm orders, invoice must be within a specified window of estimated price or invoice will be rejected. | If required fields do not match, AP system will reject |
Do scripts get data out of Voyager currently? | PL1 scripts manage the retrieval and transformation of data. APIs must be made available to these scripts. Scripts are being rewritten in Python currently. Owned by PL1 modernization group (PM is in OCI, and Daniel is also a member of that group.) need to coordinate with them on design. | Suite of scripts that collect and assemble requested information. One set extracts data, another set reformats into Momentum-ingestible - sent via SFTP to Momentum staging server, where preprocessing starts. Currently runs just after midnight on all orders approved "yesterday". Updates (other than cancellations) not captured. |
Sample Data
Bulk Obligation
Bulk Obligation
**********************************************************************
RECORD-NUMBER 1
FUND-ID :1124
TRANS-DATE :011823
TRANS-TYPE :6
REFERENCE-NO :ABA RESERVE
AMOUNT :94275
FUND-TYPE-NAME :Bulk
INST-FUND-ID :2301411341010003101,0001
FUND-NAME :KOREAN PUBS ABROAD
FUND-TYPE-ID :1
LEDGER-ID :1637
**********************************************************************
Regular Obligation
Regular Obligations
********************************************************************************
RECORD NUMBER 1
OA_PO_ID : 361196
OA_PO_NUMBER : 361196
OA_VENDOR_ID : 38369
OA_PO_STATUS_DESC : Canceled
OA_PO_STATUS_DATE : 071323
OA_LINE_ITEM_ID : 451699
OA_COPY_ID_1 : 671420
OA_LINE_ITEM_STATUS : Canceled
OA_STATUS_DATE : 071323
OA_COPY_ID_2 : 671420
OA_FUND_ID_1 : 1736
OA_AMOUNT_1 : 27500
OA_FUND_ID_2 : 1736
OA_FUND_TYPE_NAME : Regular
OA_FUND_NAME : SERIAL & GOV PUBLICATIONS
OA_INSTITUTION_FUND_I: 2301411341010003100,0001
OA_OBJECT_ID :
OA_ADJUSTMENT_AMOUNT :
OA_METHOD :
OA_OBJECT_TYPE :
OA_PAYMENT_ID :
OA_SEQUENCE :
OA_FUND_ID_3 :
OA_AMOUNT_2 :
OA_DEFAULT_CURRENCY : USD
OA_CURRENCY_CODE : USD
OA_CONVERSION_RATE : 0
OA_DECIMALS : 2
OA_CATEGORY : 1
OA_PARENT_FUND : 1071
OA_FUND_TYPE_ID : 4
OA_LEDGER_ID : 1637
OA_LOCATION_CODE : w-ACQ/FO
OA_LOCATION_NAME : w-LS/ACQ/FO
********************************************************************************