Fiscal Period Close Technical
Overview
The following is a guide by and for the Alma Tech Team. These steps serve as instructions and reminders for the technical tasks listed in the Detailed Fiscal Period Close FY Schedule (i.e., "the Gantt chart"), as drafted and shared out by ATT. The Summary of Technical Tasks provides a high-level overview of tasks. The FPC sprint requires all-hands-on-deck with minimal distractions.
Summary of Technical Tasks
Convert one-time orders that are currently Partially Invoiced to Fully Invoiced (Production).
When invoices are created manually, sometimes an incorrect setting is applied that does not release the remaining encumbrance of a one-time order after being invoiced. This job is generally run quarterly, but it will be run weekly in the 4 weeks leading up to the Fiscal Period Close. This will ensure that as many POLs as possible will be closed in the current fiscal year.
Test 1 (Sandbox): Rollover a single ledger and a single POL in Report mode.
This is mainly to refresh the Alma Tech Team on the process of rolling over ledgers and PO Lines.
Allot 1 day for this test.
Test 2 (Sandbox): Rollover all remaining ledgers and POLs in Report mode.
Done on the same day as Test 1 if no errors were found.
This provides an indication if any lines prior to the last sandbox refresh (in Feb) have errors, and what lines are eligible for rollover.
In general, the types of POLs (continuous orders; standing orders; one-time orders) should be rolled over separately to allow for the results (reports) to be exported.
If any unexpected applicable results are found from the report, ATT will inform Acquisitions and Finance staff of lines that need remediation.
Test 3 (Sandbox): Rollover all ledgers and POLs in Update mode.
This allows for more thorough reporting of lines. Through reports, we will be able to detect failed POLs allowing us to identify and resolve problem POLs before the production rollover. As an example, for FY23, this identified several POLs that had not been properly received and closed.
This should be done the day after Test 2, provided all issues from Test 2 are resolved.
3 days should be allotted for reviewing the results of the rollover and correcting any issues in Prod. Particularly pay attention to any funds in the current fiscal year that still have encumbrances after all lines have rolled over.
Test 4 (Production): Rollover all ledgers and POLs in Report mode.
First, roll over all ledgers in Draft mode.
Compare the allocated balance of the new FY funds with the cash balance of the old FY funds to verify that the ledger rollover was successful. If successful, activate the ledgers and proceed with the rollover of POLs in Report mode.
This is to identify any lines expected to roll over that fail in the job due to the following issues. No errors of these types have been encountered in the past, so it is not expected many will be found.
Next fiscal period does not exist
Fund for next fiscal period does not exist
No encumbrance linked to PO line
Fund is not active
General error
This test can be done only when staff are not actively working on POLs and invoices. Otherwise, staff work can interfere with the Rollover job. Additionally, funds for the new FY must be active to perform this test. This test must be done before the encumbrance and expenditure grace periods (https://knowledge.exlibrisgroup.com/Alma/Knowledge_Articles/How_to_extend_Fiscal_Period_for_a_ledger_in_Alma) to prevent staff from mistakenly using the wrong fiscal year in transactions.
One type of order will be rolled over per day, after work is done for the day (4:30 PM). Problem POLs for the final quarter of the current fiscal year other than the problems listed in 5c (older fiscal periods attached, missing vendors, etc.) will be addressed when Alma re-opens in the new fiscal year.
This test must be completed 5 days before relevant Alma work ceases for the current fiscal year, to allow time to investigate any lines that were reported as failed prior to the Production Rollover.
Prior to Production Rollover (after relevant work has ceased for the current fiscal year):
Deactivate all actions in the PeopleSoft Integration:
Import payment confirmation
Export invoices for payment
Funds allocation loader
Deactivate import profiles after taking a snapshot of the statuses of all profiles.
Manually run the Import payment confirmation and Funds allocation loader daily until Production Rollover. This means that the draft fund balances made prior to Rollover Test 4 will not be the same as the actual balances rolled over (if there is an allocation that comes in or an invoice is closed).
Reconcile allocations in Alma against the Ledger Detail from Prime. Add any allocations missing from Alma, and remove any allocations that were added by mistake.
Reconcile invoices in Alma against the Ledger Detail from Prime. Inform the Invoices Manager of any invoices that have amount discrepancies and any Concur invoices with errors. We will work to address as many discrepancies in the current fiscal year as possible to reduce the amount of reconciliation work needed after the fiscal year is closed.
Allot 1 day for finding discrepancies and 1 day for resolving as many issues as possible. Remaining issues will be resolved in the new fiscal year.
Production Rollover
Delete the ledgers created in Test 4. This allows the changes in encumbrances, fund adjustments, and expenditures done in the past week to be reflected in the new ledgers.
Compare the allocated balance of the new FY funds with the cash balance of the old FY funds. If the funds rolled over properly, activate the ledgers.
If the funds rolled over properly, roll over POLs in Report mode. This will identify any lines modified since Test 4 that would fail in Update mode.
When it is finished, look in the job reports to find any POLs that failed to roll over. If there are any that failed, correct any errors found. See Rollover Test 4 for the types of errors that need to be addressed.
When all technical issues are resolved with failed lines, roll over POLs in Update mode.
2 days should be allotted for reviewing the results and correcting any remaining issues. When all issues are remediated with failed PO lines, Alma can reopen in the new fiscal year.
Produce a report of lines that did not roll over by utilizing the FPC reports in Analytics. This report will be shared with Acquisitions and Finance staff when Alma reopens in the new fiscal year, to enable them to correct the issues prior to the next quarterly soft close.
While invoices can be entered immediately after Alma reopens, invoices will not be sent until the first day Prime can accept them.
Post-Rollover Tasks
If Alma is ready to re-open more than 5 days before July 1st, adjust the fund grace periods at the ledger level in Alma for encumbrances and expenditures. After adjusting the ledgers, run this script to make the child funds of the ledgers inherit the grace periods from the ledgers. This allows the funds of the new fiscal year to be used prior to the new fiscal period date of July 1st.
Run the fund allocation job manually until August 1st. This allows any allocations from the previous fiscal year to be applied to the current fiscal year and keep the funds in sync.
Restore the import profiles to the state they were in prior to the fiscal period rollover process.
Enable the Import payment confirmation action to resume the automatic update of invoices paid in Prime.
When Prime is ready to begin accepting invoices for the new fiscal year (typically July 1st), enable the Export invoices for payment action.
Communication
Internal
Regularly update the Detailed Fiscal Period Close FY Schedule (Gantt chart) at relevant group check-in meetings (e.g., ERM group and Alma Acquisitions and Resource Management group).
Send updates on key steps and outcomes to #alma-finance_and_acquisitions
start and end of testing
start and end of ledger rollover
start and end of PO rollover
Use Alma's institutional banner to reiterate restrictions during the down time
Add any pertinent discoveries or updated workflows to this page
External
Two messages are sent out via PULUpdates (from the Alma Year End Closing Team) about specific sytem restrictions during the system rollover. The communication needs to be approved by the Library Communications Office (<pulcomm@princeton.edu>) with the first message ideally going out in early June. Draft for the first one is in Google Drive as "FPC Draft for First Notification". Follow-up message to PULUpdates will be sent after the system rollover is completed and all Alma activities can resume. Copies of these messages could also be put on the relevant FPC Confluence page for ongoing reference. Example: FY23.
Pregame Clean Up Tasks
Fund reconciliation (quarterly from FY24 onward): compare transactions in Alma with the Ledger Detail report in Prime to find transactions that did not occur in both systems (revealing gaps in documenting expenditures)
Change invoice status on one-time POLs that have been fully paid but that still have invoice status ‘partially invoiced’ or ‘no invoice’
Close POLs identified as needing to be closed by Acq team leads. This may be because a given vendor is inactive, or the POL is old, for example.
Final processing of EDI invoices (in collaboration with Invoice Manager)
Rollover Tests
Before final rollover, the Alma Tech Team runs four tests: three in the sandbox and the final one in production. Details are given below. Note that tests done in the sandbox take longer than they do in Production. Also since the sandbox refreshes twice yearly, the sandbox times will disappear and be replaced by production values.
Test 1 (Sandbox): Rollover a single ledger and a single POL
Test 2 (Sandbox): Rollover all ledgers and POLs in report mode
Test 3 (Sandbox): Rollover all ledgers and POLs in update mode
Test 4 (Production): Rollover all ledgers and POLs in report mode
Test 1 (Sandbox): Rollover a single ledger & single POL
This is primarily a refresher and a preliminary test of the system
Choose a test ledger and a test POL
Export all Invoices that are in a non-Closed status.
Test ledger: E411-SCI (Sciences)
Test POL should be a continuation: 22660-princetondb (attached fund E9994-Physic-no program)
Clean up ledgers
Need a month where both current and next FY are active
Create a calendar reminder to deactivate the previous fiscal year
Rollover a single ledger: Acquisitions > Rollover Ledgers > Add Job
Create Allocation from Cash balance
Sample ledger needs to exist in the displayed fiscal period
Money left over becomes the new initial balance
Don’t carry over notes or attachments
New allocations come directly from PeopleSoft
Activate Ledger - automatically activates funds
The Rollover Ledger job creates the new FY. Edit the description to be consistent with previous fiscal years in the Config > Acquisitions > General > Fund and Ledger Fiscal Period table. Princeton's description format is FY-YYYY (e.g., FY-2024).
Activate the new ledger (Acquisitions > Funds and Ledgers. Click "Ledgers" from the Facets pane. Locate the ledger to be activated. Click the action button (3 dots) and click "Activate".)
Verify that the new cash balance equals the ending cash balance for current FY (search under Funds, include all ledgers)
Verify Technical Services is the owner for all all POLs (Acquisitions > All PO Lines > PO Line Owner facet)
Rollover a single PO line: Acquisitions > Rollover PO Lines > Add Job
Report mode first
Check to see if successful from the "Rollover PO Lines" job list.
NOTE: POL is not changedRepeat in update mode (uncheck "Report mode")
Check job report
POL should be changed to new price and new FY
Document how long it takes to run each job, as well as the overall test.
Test 2 (Sandbox): Rollover all ledgers and POLs in report mode
Export any pending invoices (NOTE: Finance will have taken care of this in production. i.e., any invoices cannot be paid or resolved should be removed. There should not be any unpaid invoices in production before the fiscal period rollover.)
First delete all pending invoices (even in Sandbox otherwise funds will remain on current FY). Locate such invoices from the following paths. Make sure, when dividing invoice deletion work in sandbox, to have all people sorting on the same way. The moment there is an invoice line attached to a POL, an expenditure is created. This is why we must delete pending invoices, as the cash balance is affected.
Acquisitions > Review (Invoice)
Acquisitions > Approve (Invoice)
Take a snapshot of all ledgers (export allocated funds from Funds and Ledgers interface). Go to Acquisitions->Funds and Ledgers, filter to Allocated Funds, and export .
Rollover all ledgers in draft mode (Acquisitions > Advanced Tools > Rollover ledgers. Then on the opening page, click "Add job' on the upper right.)
Review: Funds and Ledgers, export
To verify all funds are active go to Acquisitions->Funds and Ledgers. Filter to Allocated Funds for the new FY, and ensure that the number of active funds in the new FY is the same as the number of total funds in the new FY.
Available balance of next FY should equal cash balance of current FY
Compare the exported results of the test with the export spreadsheet in step 3. (Cash Balance from previous FY compared to Allocated Balance in new FY)
If OK, activate ledgers (one by one) (on the list of ledgers page, click the action button (3 dots) and click "activate")
Rollover all ledgers: Acquisitions > Rollover Ledgers > Add Job
Create Allocation from Cash balance
Sample ledger needs to exist in the displayed fiscal period
Money left over becomes the new initial balance
Don’t carry over notes or attachments
New allocations come directly from PeopleSoft
Activate Ledger - automatically activates funds
Check that all funds were activated
Rollover all POLs in report mode one order type at a time: Continuous, One-Time, Standing
Wait (hours)
Review job reports for any failed lines
NOTE: in report mode encumbrances will not show up
NOTE: advanced Order Line search (all except closed) takes hours to export and only limited number of lines are exported
Document how long it takes to run each job, as well as the overall test.
Test 3 (Sandbox): Rollover all POLs in update mode
Export the 'Waiting for Payment' invoices [all other invoices will be deleted by other staff] and put them in Google Drive.
Rollover all POLs in update mode (Acquisitions > Advanced Tools > Rollover PO Lines. Then on the opening page, click "Add job' on the upper right.).
Wait (hours)
Can watch encumbrances populate under Funds and Ledgers filtered to the new FY
Review job reports for any failed lines
Review Funds and Ledgers (current FY, type: ledger) for remaining encumbrances
Test 4 (Production): Rollover all ledgers and POLs in report mode
Done after all of the current FY work is complete (i.e., no pending invoices; check Finance schedule. This test includes analyzing reports and updating invoice statuses as needed).
Rollover all ledgers in draft mode
Take snapshot of all ledgers (export allocated funds from Funds and Ledgers interface)
Rollover in draft mode
Export all new funds
Review:
Export Funds and Ledgers, allocated balance of next FY should equal cash balance of current FY
An Excel formula (after adding columns from both FY into same sheet): =IF(A2=B2, "Yes", "No")
If good, activate ledgers (one by one)
No problem has been encountered up to the start of FY25
Check that all funds were activated
Rollover all PO lines in report mode
One order type at a time: Continuous, One-Time, Standing
While waiting
Check for recent creation of PO Lines (e.g.. sort ‘PO Line by Fiscal Year and Type’ by date and look for higher PO Lines in Alma)
PeopleSoft information warehouse: export current FY
Spendable Balance report
Ledger Detail report
Payables Detail report
Upload reports from Analytics and PeopleSoft to 'Procure to Pay' Drive
Review PO line rollover reports
Identify active PO lines that did not rollover. FY24 method:
Did this in two iterations: once for one-times and a second time for continuous and standing orders
In Excel:
col A = rolled over lines from the job report(s)
col B = PO lines with active encumbrances from the Selector Dashboard, filtered by continuation type(s)
Used conditional formatting to find unique values (POLs that did not rollover)
For one-times: find POLs that were paid on but where the invoice status is ‘no invoice’ or ‘partially invoiced’
Pasted non-rolled over one-time POLs into an Analytics report ‘Rollover POLs without Encumbrances’
From output, create two sets (sandbox first): no invoice and partially invoiced POs
Run jobs to change invoice statuses to “fully invoiced”
Document how long it takes to run each job, as well as the overall test.
Production Rollover
Production Rollover only occurs after all acquisitions-related work has stopped for the current fiscal year.
Final Data Integrity Checks
Run Analytics reports in DAS Reports/FPC Final Checks (NOTE: update the date filter in each report)
FPC Holdings Created after Receiving Cut Off
FPC Holdings Modified after Receiving Cut Off
FPC PO Lines Created after PO Cut Off
FPC PO Lines Modified after Receiving Cut Off
FPC Rollover PO without Encumbrance
FPC Rollover PO without Encumbrance Draft Rollover
Actual Rollover
Delete all FY24 ledgers (created during Test 4, above)
Roll over all ledgers
Export Funds and Ledgers for FY24 (Excel) > name as FY24 initial balances.xlsx
Sort by external ID
Copy for current and upcoming FY one column each for allocated balance, expenditures, cash balance, available balance
Re-export current FY final encumbrances (name file with "as of yy-mm-dd") (because work has been done since Test 4)
FY24 draft available balance - FY24 final available balance (Excel formula)
Look in Alma to verify just to be clear on what's changed in the past week
Activate ledgers (one by one) as created in step 3 above
Rollover all PO Lines (leave "Report Mode" unchecked.)
One-Time
Fully Invoiced active POLs will not roll over
Standing+Continuous
Fully Invoiced POLs will not roll over
While waiting:
PeopleSoft information warehouse: export current FY
Spendable Balance report
Ledger Detail report
Payables Detail report
Upload reports from Analytics and PeopleSoft to 'Procure to Pay' Drive
Export from Selector Dashboard: 'Detailed Expenditures' and 'Active PO Lines With Current Encumbrances' reports for current FY (export may be slow)
Review PO line rollover reports
To get list of POLs that rolled over.
Click 'View" →PO Line rollover success
Export the list
Identify active PO lines that did not rollover.
Did this in two iterations: once for one-times and a second time for continuous and standing orders
In Excel:
col A = rolled over lines from the job report(s)
col B = PO lines with active encumbrances from the Selector Dashboard, filtered by continuation type(s)
Used conditional formatting to find unique values (POLs that did not rollover)
Compare Analytics Canned reports of PO Lines we expect to rollover to the Report of Rolled over PO Lines
Export both reports to Excel.
Copy over the PO Line reference from Canned reports and paste it at the bottom of the Analytics report in the PO Line Reference Column,
Go to Conditional Formatting → Highlight Cell Rules→ Duplicate Values
Look up any lines that are not pink and see why they did or did not rollover.
Check that new funds are activated (See Test 2 Step 6)
Document how long it takes to run each job, and the overall process.
Post-Rollover Tasks
Compare fund balances between Alma and Prime and investigate variances
Exported reports: 'Prime Spendable balance for FYyy' and 'FYyy Initial Balances from Alma'
Example script (Ruby) comparing cash balances (TODO:link)
Report goes to Finance
NOTE: Selector Dashboard will update automatically after June 30
Reports
Analytics
Final checks are in DAS Reports/FPC Final Checks
Other supplementary reports are currently in DAS Reports for Review/FPC Reports
Selector Dashboard and Prime
Reports from both the Selector Dashboard (Alma Analytics) and Prime go into the Procure to Pay Team Drive in the appropriate year-end close subfolder. Save as Google Spreadsheets. This can be done while waiting for rollover jobs to run (see above). Regular reports with naming convention:
From the Selector Dashboard
FYyy Initial Balances as of m-dd-yy
FYyy Balance Comparison to FYyy as of m-dd-yy
FYyy Draft Expenditures as of m-dd-yy
FYyy Draft Encumbrances as of m-dd-yy
FYyy Draft Balances as of m-dd-yy
FYyy Draft Balance Comparison to FYyy as of m-dd-yy
FYyy Encumbrance Post Rollover as of m-dd-yy
From Prime
FYyy Prime Spendable Balance as of m-dd-yy
FYyy Prime Payables Detail as of m-dd-yy
FYyy Prime Ledger Details as of m-dd-yy
Also add reports from any outliers or sets that unexpectedly required further analysis. Example from FY23:
FYyy One-Time PO Lines that rolled over with inactive funds
Misc. Discoveries
From FY23 rollover
Taking items out of work orders registers a modification to attached POLs, which has no effect on rollover. Staff will be asked to discontinue work with work orders during FPC.
We mistakenly didn't activate all ledgers before attempting to rollover all one-time POLs. We expected no POLs to rollover but 458 did. All were from Voyager and were paid on, but the invoice status was 'No Invoice'. It is unclear why this happened (will ask ExL)
7800 POLs did not roll over: missing inventory and not received (see Procure to Pay Team Drive)
From FY24 rollover
According to https://knowledge.exlibrisgroup.com/Alma/Knowledge_Articles/Will_changing_a_holding_record_during_fiscal_rollover_affect_the_associated_POL%3F, changing a holding during the rollover process can prevent a POL from rolling over properly.