On Hold Life Cycle

Purpose
The purpose of this document is to show the life cycle of an invoice item that is placed on hold. How it gets into the system, is posted, affects the balance and is marked as collected.

From the UI
When creating an Invoice from the Invoice Maintenance screen a user can put an Invoice Item On Hold by selecting the checkbox in the last field of the Invoice Item grid. The On Hold status is determine at the Invoice Item level. An Invoice can have items where some and not all are On Hold.

From the Nightly Processes
Some of the nightly processes will determine if an Invoice Item created automatically should be put On Hold based on the On Hold indicator in the table InvoiceAccountTypeCompatibility. An Invoice Item is determined to be On Hold based on the combination of BalanceId, EntityType, InvoiceItemType and InvoiceAccountType. The processes that use this logic are the Bulk Imports for Canada Return File, FAF EFT Return File, Miscellaneous Invoice File, POS Weekly File and USA Return File. The RY/AD Weekly Create Charges also uses the InvoiceAccountTypeCompatibility to determine if an Invoice Item should be placed On Hold.

Also it is worthy to note that the automatic Tax Invoices that are created take the On Hold status of the invoice that the tax is being applied against.

How to remove an Invoice Item from On Hold
The form ^^Invoice On Hold Release^^ displays all Invoices that are posted and the EFTPostingDate is NULL and any Unposted Invoices that are still On Hold and have a matching On Hold indicator record in the table InvoiceAccountTypeCompatibility. The user can choose to remove records from On Hold, and subsequently put posted records On Hold.

Posting Invoices that have Invoice Items On Hold
The On Hold indicator has no affect on the posting of Invoices. The records from the UnPosted tables to the Posting are copied as is. All records affect the account balance and AR Subledger for the entity of the Invoice Item. The charge is also logged in the Weekly Summary Table. More about Invoice Posting can be found in ^^proc_Subway_InvoicePosting_Batch^^.

Calculating EFT Adjustment amounts with Invoice Items On Hold
The On Hold indicator will affect the amount to collect for EFT depending on what the EFT Adjustment type. Note that this amount is calculated to help the accounting department determine how much should be withdrawn but, since the EFT Amount can be overriden by those who have permission to do so.

Balance
The formula for Calculating the current Balance is such: The (Beginning Weekly Balance) + (All Invoices posted for the Current Week) - (All Cash Receipts posted for the Current Week) - (Every Invoice still On Hold) Since all the Invoices are counted between (Beginning Weekly Balance) + (All Invoices posted for the Current Week) then (Every Invoice still On Hold) must be taken out. It is worth noting that the original formula only took into accout (All Invoices posted for the Current Week that are not On Hold), however, this is incorrect as there maybe other invoices older than a week that would still be On Hold. This new formula accounts for those Invoices.

Current
The formula for Current sums all Invocies posted for the current Week Ending Date that are not currently On Hold plus any additional Adjustment Amount. This means that if an Invoice Item is On Hold and not taken off hold by the time the Adjustment procedure is run that charge will never be included in any future calculations.

Royalities
The formula for Royalities sums all Invocies with an Account Type of AD Fee Charges, Royalty Charges, or Backend Sales Corrections posted for the current Week Ending Date that are not currently On Hold plus any additional Adjustment Amount. This means that if an Invoice Item is On Hold and not taken off hold by the time the Adjustment procedure is run that charge will never be included in any future calculations.

Fixed
Fixed is just that a fixed charge amount not based on any invoice. At the end of the Adjustment procedure if the Calculated amount exceeds the balance then the amount is changed to the entire open balance.

Interest and Interest Plus
The formulas for Interest and Interest Plus are only for the Notes Receivable balance type. As such the EFT Amount is calculated based on the interest charge only. Interest Plus also includes an Adjustment Amount.

Creating Cash Receipts with Invoice Items On Hold
Recently, since the marking invoices collected has been decoupled from Cash Receipt Posting process, the On Hold indicator has no impact on Posting. See the section below titled ^^On_Hold_Life_Cycle#Marking_Invoices_collected_with_Items_On_Hold|Marking Invoices collected with Items On Hold^^

Marking Invoices collected with Items On Hold
The stored procedure ^^proc_Subway_Invoices_MarkCollected^^ will run every night. It will gather those Cash Receipts that were posted that day creating a table by Entity Type, EntityId and Associated Balance Id summing up the total amount of Cash Collected. Then for each record the stored procedure ^^proc_Subway_Invoice_UpdateCollectedAmountWithCurrencyConversion^^. This procedure excludes marking any Invoice Items Collect Amount where the On Hold indicator is set to 1.

This process also now fills in a field EFTPostingDate once the Collected Amount is equal to the Item Amount. This field is used for the form ^^Invoice On Hold Release^^.