Create AuditableEvent to Record Cash Account Balance Mismatches During Import
Description
The user would like the system to record when historical data is imported but has discrepancies with regards to beginning cash balances. Specifically, the beginning cash balance for a given fiscal year should agree with the following formula:
July 1 Cash Balance = Prior Year July 1 Cash Balance + Prior Year Received - Prior Year Expended
In some cases, the user was able to modify cash balances in classic via Datatrieve, manual adjustments, etc. that have broken in this invariant. We have chosen to address this problem by recording an AuditableEvent in the system with enough information for the user to track down what caused the discrepancy.
Create a new ImportCashBalanceMismatchEvent that implements the trait AuditableEvent
Override getAuditDetails to return a collection containing the following key/value pairs
fiscalYear : <fiscal year>
priorYearBeginningBalance : <prior year beginning balance from history record>
priorYearReceived : <sum of prior year received amounts>
priorYearExpended : <sum of prior year expended amounts>
beginningBalance : <beginning balance for the year being processed>
We will then need to publish this event at the same place we are logging cash balance mismatch warnings in AccountHistoryJob. Note, this should be in addition to the warnings...not replacing them.
Currently, we will not be doing anything with these mismatch events. This is just a first step to record these problems somewhere in the system. Eventually we plan to allow the user to report on these events so they can reconcile these discrepancies with classic USAS.
The user would like the system to record when historical data is imported but has discrepancies with regards to beginning cash balances. Specifically, the beginning cash balance for a given fiscal year should agree with the following formula:
July 1 Cash Balance = Prior Year July 1 Cash Balance + Prior Year Received - Prior Year Expended
In some cases, the user was able to modify cash balances in classic via Datatrieve, manual adjustments, etc. that have broken in this invariant. We have chosen to address this problem by recording an AuditableEvent in the system with enough information for the user to track down what caused the discrepancy.
Create a new ImportCashBalanceMismatchEvent that implements the trait AuditableEvent
Override getAuditDetails to return a collection containing the following key/value pairs
fiscalYear : <fiscal year>
priorYearBeginningBalance : <prior year beginning balance from history record>
priorYearReceived : <sum of prior year received amounts>
priorYearExpended : <sum of prior year expended amounts>
beginningBalance : <beginning balance for the year being processed>
We will then need to publish this event at the same place we are logging cash balance mismatch warnings in AccountHistoryJob. Note, this should be in addition to the warnings...not replacing them.
Currently, we will not be doing anything with these mismatch events. This is just a first step to record these problems somewhere in the system. Eventually we plan to allow the user to report on these events so they can reconcile these discrepancies with classic USAS.