4.1 Invoice Validation, Invoice Tolerances, Holds and Releases
Key Takeaways
Invoice tolerances are defined as quantity-based or amount-based tolerance sets, assigned to supplier sites, with defaults from invoice options.
The price tolerance is a percentage; amount checks use the Conversion Rate Amount, Schedule Amount and Total Amount tolerances.
A tolerance of zero allows no variance, while an active tolerance left blank allows unlimited variance.
Matching holds such as Price, Qty Rec and Quality allow accounting and can be released manually, but Dist Variance and No Rate can't be released manually.
User-defined holds, set up with Manage User-Defined Rules for Payables, can be placed and released automatically by rules but don't replace predefined holds.
Validation is the gate between entering an invoice and paying it. The published objectives Manage Invoice Tolerances and Manage Invoice Holds and Releases are tested both conceptually ("which hold will this invoice get?") and hands-on ("this tolerance set is assigned to the site, so what happens to this invoice?").
What validation checks
You can validate from the invoice pages, with the Validate action on Manage Invoices, through the Invoices REST API, or in batch with the validation scheduled process. Validation:
- Compares matched lines with the PO, receipt or acceptance, using the tolerances below.
- Checks that distributions equal the invoice amount. If they don't, it places a Dist Variance hold.
- Calculates tax and checks tax tolerances: Tax Variance, Tax Amount Range and Tax Difference holds.
- Checks conversion rates. A foreign-currency invoice with no rate gets a No Rate hold.
- Checks accounts. Dist Acct Invalid, or ERV Acct Invalid when automatic offsets are used.
- Performs funds checking when budgetary control is enabled: Funds Check and Insufficient Funds holds.
- Applies withholding tax when the calculation point is the invoice (a Withholding Tax hold if it fails).
- Applies supplier site holds and duplicate checks, plus any user-defined hold rules.
- Recalculates installments if that option is set (section 3.1).
Invoice tolerances
Tolerances are defined on Manage Invoice Tolerances. Each tolerance set is either quantity-based, for invoices with a match basis of quantity, or amount-based, for a match basis of amount, such as services. You assign tolerance sets to supplier sites. The invoice options Quantity tolerances and Amount tolerances give the defaults.
| Tolerance (quantity-based set) | Meaning |
|---|---|
| Ordered Percentage / Maximum Ordered | Billed quantity above ordered quantity, as a percentage or an absolute quantity |
| Received Percentage / Maximum Received | Billed quantity above received quantity |
| Consumed Percentage / Maximum Consumed | Billed quantity above consumed quantity on a consumption advice |
| Price Percentage | Unit price above the PO schedule unit price |
| Conversion Rate Amount | Variance between the invoice and PO schedule amounts in ledger currency, using their respective conversion rates |
| Schedule Amount | Variance between all invoice amounts (entered currency) and the PO schedule amount |
| Total Amount | Conversion Rate Amount and Schedule Amount variances combined |
Amount-based sets have ordered, received, conversion rate and total amount tolerances, expressed against amounts.
Two rules Oracle states explicitly:
- A tolerance of 0 means no variance is allowed. For a small tolerance, use a small percentage.
- An active tolerance with no value allows unlimited variance.
Worked example
A site's quantity tolerance set has Price Percentage 5 and Schedule Amount 50 (USD). The PO schedule is 100 units at USD 20.00, a total of USD 2,000. The supplier bills 100 units at USD 20.80, a total of USD 2,080.
- Price check. USD 20.80 is 4% above USD 20.00, inside the 5% price tolerance, so there is no Price hold.
- Schedule amount check. Billed USD 2,080 against a USD 2,000 schedule is a USD 80 variance, more than the USD 50 schedule amount tolerance. Validation places a Max Ship Amount hold. Oracle describes it as the variance between invoice and shipment amount exceeding the amount tolerance.
The price tolerance has no amount field. A monetary cap on overbilling comes from the schedule, conversion rate and total amount tolerances.
Hold and release types
You define holds and releases on Manage Invoice Holds and Releases. Every hold or release belongs to a type. Only some types allow user-defined entries:
| Hold type | User-defined holds allowed? |
|---|---|
| Account Hold Reason, Future Period Hold Type, Insufficient Information, Matching Hold Reason, Variance Hold Reason | No |
| Invoice Hold Reason, Invoice Line Reason | Yes |
| Release type | User-defined releases allowed? |
|---|---|
| Account Release Reason, Future Period Release, Sufficient Information | No |
| Hold Quick Release Reason, Invoice Quick Release Reason, Invoice Release Reason, Matching Release Reason, Variance Release Reason | Yes |
For each hold you define, you choose whether accounting is allowed while it's in place, and whether it can be used in the holds resolution workflow. That workflow routes invoices with manually releasable holds to the people who can resolve them; its task is FinApHoldApproval. A manual hold you place on an invoice must be released manually.
Which holds you can release, and which allow accounting
| Hold | Placed when | Accounting allowed? | Manual release? |
|---|---|---|---|
| Price, Qty Ord, Qty Rec, Quality, Max Ship Amount, Max Rate Amount, Max Total Amount | Matching exceptions | Yes | Yes |
| Matching Required | Unmatched invoice with Hold unmatched invoices | Yes | Yes |
| Amount | Invoice above the site's invoice amount limit | Yes | Yes |
| Supplier | Site has Hold unvalidated invoices | Yes | Yes |
| Dist Variance | Invoice amount doesn't equal the sum of the distributions | No | No: fix the distributions or amount and revalidate |
| No Rate | Foreign-currency invoice without a conversion rate | No | No: enter the rate, or run the rate process, and revalidate |
| Dist Acct Invalid | Distribution account is invalid | No | No |
| Insufficient Funds | Not enough budget | No | Yes |
| Final Matching | PO already final matched by another invoice | No | No |
Oracle summarizes system holds this way: you can't place system holds manually, and you can't release certain system holds manually. For those, you correct the condition and revalidate. You can manually release system holds for matching exceptions.
User-defined holds
User-defined holds apply and remove holds automatically according to your own rules, built from invoice header, line and descriptive flexfield attributes. You download a Payables-specific spreadsheet template from Manage User-Defined Rules for Payables, define the rules, and upload it. The upload checks the rules and reports errors.
The rules are evaluated for every invoice source: manual entry, import, Supplier Portal, IDR and e-invoicing. They both place holds and release holds that no longer apply. Two exclusions:
- They don't replace predefined holds such as matching, line or distribution variance holds.
- They aren't applied to invoices created already validated, such as Receivables refunds or one-time payments.
Releasing holds in practice
You can release holds from:
- the Holds section on the invoice;
- the Release buttons on the Payables Dashboard and Invoices landing page;
- the Release Holds action on Manage Invoices;
- the holds resolution workflow;
- the Invoice Holds REST API.
Validation releases holds automatically once the condition is fixed. For example, it releases Qty Rec after the receipt is entered.
Installment holds stop payment of one installment. For example, split an installment and hold the part for goods not yet delivered.
A supplier site's tolerance set has Price Percentage 5 and Schedule Amount 50 (USD). A PO schedule is 100 units at USD 20.00, and the invoice bills 100 units at USD 20.80. What does validation do?
Places a Price hold, because the total price variance of USD 80 exceeds USD 50
Validates the invoice with no hold, because 4% is within the 5% price tolerance
A Max Ship Amount hold, as the USD 80 variance exceeds the USD 50 tolerance
Places a Qty Ord hold, because the billed amount exceeds the ordered amount
An invoice is on a Dist Variance hold because its distributions total USD 9,900 against an invoice amount of USD 10,000. A supervisor tries to release the hold manually and can't. What is the correct action?
Correct the distributions or the invoice amount so they agree, then revalidate so the hold is released
Assign a Variance Release Reason, because user-defined variance releases can always be applied
Enable Allow force approval in invoice options and force approve the invoice
Sweep the invoice to the next period, which releases holds that don't allow accounting
AP wants invoices from a particular invoice source over USD 25,000 to go on hold automatically, and the hold to be released automatically when the invoice no longer meets the rule. Which Oracle feature does this?
A manual hold of type Invoice Hold Reason that clerks apply during entry
User-defined holds in the Manage User-Defined Rules for Payables template
A quantity-based tolerance set with a Maximum Ordered value of 25,000 per invoice
The supplier site invoice amount limit set to 25,000 for every supplier
Sections you finish are checked off in the contents.