Oracle Fusion Invoice Hold Test Cases
Validate that Oracle Fusion Payables correctly applies invoice holds for matching, distribution, supplier, and budgetary exceptions, and that every hold clears only after its triggering condition is genuinely resolved.
| Test ID | ORCL.P2P.AP.INV.HOLD |
| Application | Oracle Fusion Cloud |
| Product | Financials |
| Module | Accounts Payable |
| Process | Invoice Processing |
| Business Flow | Procure-to-Pay |
| Scenario Type | Positive / Functional |
| Test Usage | Functional Testing / Regression Testing / UAT |
| Priority | High |
| Automation | SyntraFlow Ready |
| Library | Syntra Standard |
Note on test design: SyntraFlow executes the detailed Oracle Fusion UI interactions automatically while presenting the scenario as business-readable test steps for documentation, review and reporting. This scenario is presented as 16 business-readable test steps; SyntraFlow's automation executes approximately 45 underlying Oracle Fusion UI actions to complete it.
Test Objective
Validate that Oracle Fusion applies, maintains, and releases invoice holds according to configured matching tolerances, account validation rules, supplier controls, and budgetary conditions, without allowing held invoices to reach accounting or payment prematurely.
The scenario should confirm that:
- Manual holds applied by an AP user are correctly recorded against the invoice header and block scheduled payment where configured.
- Matching holds (Qty Ord, Qty Rec, Price, Tax, Rate Variance) are raised when PO-matched invoice lines exceed configured matching tolerances.
- Distribution and accounting holds (Distribution Variance, Invalid Account) are raised when distributions fail to sum to the invoice amount or reference an invalid or inactive account combination.
- Supplier-level controls (Hold All Payments, Hold Unvalidated Invoices, Hold Unmatched Invoices) configured at the supplier site are honored during invoice Validation.
- Duplicate Invoice holds are raised when supplier invoice number, invoice date, and invoice amount match an existing invoice for the same supplier.
- Budgetary control holds are raised when the funds check fails against available budget for one or more invoice distributions.
- Held invoices are correctly excluded from Create Accounting and Create Payment Process Request selection until released.
- Holds are released automatically on revalidation for system-releasable conditions, and only via explicit action for manual or non-releasable holds.
- Invoice status, hold name, hold reason, and hold-applied/hold-released dates are accurately reflected in Manage Invoices after each Validate action.
Scope includes both the hold-application and hold-release paths; a test that intentionally creates a hold passes when the expected hold is correctly applied, and a resolution test passes when Correct Exception then Revalidate results in the expected hold being released.
When to Use This Test
- AP shared services validates PO-matched invoices with quantity and price variances to confirm holds correctly block premature payment.
- Finance controls team certifies that invalid or inactive GL account combinations on invoice distributions are caught before posting.
- AP operations verifies that duplicate invoice submissions from suppliers are flagged before duplicate payment risk materializes.
- Budget owners confirm invoices exceeding available budget are held pending funds availability or an authorized override.
- Procurement and AP jointly test supplier-level payment holds triggered by supplier risk, compliance, or onboarding status.
- Regression testing after Oracle quarterly updates confirms hold tolerance configuration and hold-release logic remain unchanged.
Where This Test Fits in the Procure-to-Pay Process
Holds are Oracle Fusion's control mechanism for pausing an invoice mid-lifecycle without rejecting it outright — each hold traces back to a specific validation, matching, distribution, or configuration exception that must be resolved before the invoice can progress to accounting and payment.
Preconditions
- Supplier and supplier site are active in Oracle Fusion Payables with defined payment terms and a matching option (2-way, 3-way, or 4-way).
- An approved, open purchase order with receipted lines exists to drive matching-hold scenarios.
- Matching tolerance templates (Qty Ord %, Price %, Amount tolerances) are configured at the required matching tolerance level.
- Invoice Options at the supplier site enable Hold Unmatched Invoices and Hold Unvalidated Invoices where those scenarios are tested.
- The chart of accounts includes at least one intentionally invalid or inactive account combination reserved for negative testing.
- Budgetary control is enabled on the business unit and ledger with a defined budget and a known available-funds boundary.
- AP Manager or AP Specialist role includes the Invoice Hold and Release Management duty role for manual hold actions.
- DataVault seed data for standard invoice header, line, and distribution fields is available and reusable across hold scenarios.
- The test business unit, ledger, and GL period are configured Open for the invoice date used in test data.
Exact setup and field availability may vary by Oracle Fusion implementation and security configuration.
Sample Test Data
| Supplier | Global Office Supplies Inc. |
| Supplier Site | NYC-HQ |
| Invoice Number | HOLD-INV-2001 |
| Invoice Amount | 12,450.00 USD |
| PO Number | PO-88214 |
| Matching Type | 3-Way (PO, Receipt, Invoice) |
| Quantity Ordered / Invoiced | 100 / 115 units |
| Price Tolerance | ±3% (PO Price $50.00) |
| Distribution Account | 01-000-7420-0000-000 (invalid segment) |
| Hold Type | Price |
| Budget Available | $8,000.00 (FY26, Period 08) |
| Duplicate Check Fields | Invoice Number + Supplier + Invoice Date |
Sample values are illustrative. Replace them with valid data from the target Oracle Fusion environment.
Test Steps
16 business-readable steps. SyntraFlow's automation executes ~45 underlying UI actions to complete these steps — see How SyntraFlow Automates This Test.
| # | User Action | Expected Result |
|---|---|---|
| 1 | Create PO-matched invoice Create an invoice header and lines referencing an approved purchase order, with an invoiced quantity that exceeds the receipted quantity beyond tolerance. PO-88214; Ordered 100 / Invoiced 115 units | Invoice is created and saved in Incomplete status pending validation. |
| 2 | Enter invoice distributions Enter distribution lines for the invoice, including one line coded to an intentionally invalid or inactive account combination. Distribution Account: 01-000-7420-0000-000 (invalid) | Distributions are saved and total matches the invoice amount, pending account validation. |
| 3 | Submit invoice for Validation Run the Validate action on the invoice to trigger matching, account, duplicate, and budgetary control checks. | Oracle Fusion evaluates all configured validation, matching, and budgetary rules against the invoice. |
| 4 | System applies quantity matching hold System detects invoiced quantity exceeds the ordered/receipted quantity beyond the configured tolerance and applies a matching hold. Tolerance: ±5%; Variance: 15% System-detected exception, not a manual user action. | Invoice status shows Needs Revalidation with hold "Qty Ord" recorded on the invoice. |
| 5 | System applies invalid account hold System detects the distribution references an invalid or inactive account combination and applies an accounting hold. Account: 01-000-7420-0000-000 | Hold "Invalid Account" is recorded and the invoice is blocked from Create Accounting. |
| 6 | System applies duplicate invoice hold System compares invoice number, invoice date, and amount against existing invoices for the same supplier and detects a match. Duplicate of Invoice HOLD-INV-2000 | Hold "Duplicate Invoice" is recorded on the invoice. |
| 7 | System applies budgetary control hold System performs a funds check against the available budget for the invoice distribution and finds insufficient funds. Available Budget: $3,200; Distribution: $5,000 | Hold "Insufficient Funds" is recorded and the invoice cannot be accounted until funds are available or overridden. |
| 8 | AP specialist applies manual hold AP specialist places a manual hold on the invoice header pending internal review, independent of any system-detected exception. Hold Name: Hold for Investigation | Manual hold is recorded with reason and applied-by user captured. |
| 9 | Verify held invoice excluded from payment Attempt to include the held invoice in a Create Payment Process Request selection batch. | Invoice is correctly excluded from the payment selection while any hold remains active. |
| 10 | Correct matching exception Receiving updates the receipt to reflect the actual delivered quantity, bringing the invoice within matching tolerance. Corrected Receipt Quantity: 110 units | Quantity variance is now within the configured ±5% tolerance. |
| 11 | Correct distribution account Finance updates the distribution line to a valid, active account combination. Corrected Account: 01-000-7420-1000-000 | Distribution now references a valid account combination. |
| 12 | Resolve duplicate invoice condition AP specialist confirms the invoice is not a true duplicate and corrects the invoice number, or cancels the true duplicate. Corrected Invoice Number: HOLD-INV-2001-A | Invoice no longer matches an existing invoice on number, date, and amount. |
| 13 | Resolve budgetary shortfall Budget owner increases available funds or records an authorized budgetary override for the distribution. Override Approved: Budget Manager | Funds check condition for the distribution is satisfied. |
| 14 | Manually release non-system-releasable hold AP specialist releases the manual "Hold for Investigation" hold via Manage Holds after completing internal review. Release Reason: Review complete, no exception found | Manual hold is released with release reason, user, and date captured. |
| 15 | Revalidate invoice Resubmit the invoice for Validation after all triggering conditions have been corrected. | Qty Ord, Invalid Account, Duplicate Invoice, and Insufficient Funds holds are automatically released; invoice status becomes Validated. |
| 16 | Confirm invoice fully released and eligible for downstream processingBusiness assertion Verify the invoice carries no active holds and is eligible for Create Accounting and payment selection, with a complete hold history retained. | Invoice status is Validated with zero active holds; hold-applied and hold-released events are fully recorded in the audit trail. |
Expected Results
- Invoice remains in a held / Needs Revalidation status until every applicable hold is released.
- Qty Ord hold is correctly applied when invoiced quantity exceeds ordered/receipted quantity beyond tolerance.
- Invalid Account hold is correctly applied and blocks accounting until the account combination is corrected.
- Duplicate Invoice hold is correctly applied for genuine duplicate invoice number, date, and amount matches.
- Insufficient Funds (budgetary control) hold is correctly applied when budget is unavailable for a distribution.
- Manual hold is correctly applied and enforced against payment selection independent of system checks.
- Held invoices are excluded from Create Payment Process Request and Create Accounting until all holds clear.
- Each hold is released only after its specific triggering condition is genuinely corrected, never prematurely.
- Revalidation clears resolved holds without re-triggering unrelated exceptions on the same invoice.
- Hold history (applied by, applied date, released by, released date, reason) is retained for audit.
Key Validation Checkpoints
- Invoice header status transitions correctly: Incomplete -> Needs Revalidation -> Validated.
- Hold name, hold type, and hold reason recorded match the specific triggering exception.
- Manage Holds page lists all active holds with an accurate system-releasable versus manual-release-required indicator.
- Held invoice cannot be selected in Create Payment Process Request while any hold is active.
- Held invoice cannot be transferred to General Ledger via Create Accounting until released.
- Matching holds clear automatically on revalidation after the underlying PO or receipt correction.
- Invalid Account hold clears only after the distribution references a valid, active account combination.
- Duplicate Invoice hold requires explicit resolution (correction or cancellation) and never auto-clears.
- Budgetary control hold clears when the funds check passes or an authorized override is recorded.
- Manual hold clears only via an explicit release action by an authorized user, never automatically on revalidation.
- Hold audit trail (applied/released timestamps, user, reason) is complete and accurate for every hold.
- Invoice line and distribution amounts remain unchanged by hold application or release.
Go Beyond the Standard Test with Jarvis AI
The Syntra Standard Test Library defines the core business scenario. Jarvis AI can extend this scenario by generating additional positive and negative test variations using customer-specific test data and configuration available through Syntra DataVault.
Teams do not need to manually duplicate the same invoice holds test case dozens of times simply to cover different combinations of data and configuration. Jarvis uses the standard business scenario as the foundation and generates relevant variations for the customer's environment.
From Standard Test to Executed Regression Pack
Rather than maintaining dozens of near-duplicate copies of the same test, SyntraFlow maintains the core business scenario and allows Jarvis AI to generate relevant variations using the customer's available test data.
AI-Generated Test Variations
The same Create Standard Supplier Invoice business scenario can produce many test variations without creating separate public library pages. Below is a real slice of SyntraFlow's Build Scripts library, filtered to Accounts Payable Invoice Processing.
- Manual Hold Applied & Released
- Qty Ord Matching Hold Released
- Price Variance Hold Released
- Receipt Variance Hold Released
- Invalid Account Hold Released
- Distribution Variance Hold Released
- Duplicate Invoice Hold Resolved
- Budgetary Control Hold Released via Funds
- Supplier Hold Released after Compliance Clear
- Quantity Variance Beyond Tolerance
- Price Variance Beyond Tolerance
- Receipt Variance (Insufficient Received Qty)
- Acceptance / Inspection Variance
- Invalid Account Combination
- Distribution Total Mismatch
- Duplicate Invoice Number/Date/Amount
- Budgetary Control Insufficient Funds
- Supplier Hold All Payments Flag
- Unmatched Invoice Against Hold Policy
These are representative examples only. Expected behavior can depend on the customer's Oracle Fusion configuration, controls and security — not every Oracle configuration behaves identically.
Generated Using Your DataVault Test Data
Jarvis reads the supplier's matching tolerance configuration, budgetary control setup, and chart-of-accounts validity rules from DataVault, then generates invoice, PO, receipt, and distribution combinations expected to land on either side of each hold threshold.
Standard Library Definition
HOLD_TEST_DEF: Invoice = PO-Matched Match = 3-Way (PO, Receipt, Invoice) Qty_Tolerance = ±5% Price_Tolerance = ±3% Account = Valid, Active Budget = Sufficient Duplicate = None
DataVault
DataVault.AP.HoldConditions: QtyVariancePool: [+2%, +5%, +8%, +15%] PriceVariancePool: [+1%, +3%, +6%] AccountPool: [Valid, Inactive, Invalid-Segment, Missing-Segment] BudgetPool: [Sufficient, Insufficient-Soft, Insufficient-Hard] DuplicateSeedPool: [Unique, Exact-Duplicate, Near-Duplicate] SupplierControlPool: [None, HoldAllPayments, HoldUnvalidated, HoldUnmatched]
Jarvis AI Generates
HOLD-GEN-001: Qty=108 (Ordered=100, Tolerance=5%) -> Expected Hold: Qty Ord HOLD-GEN-002: Price=$52.75 (PO Price=$50.00, Tolerance=3%) -> Expected Hold: Price HOLD-GEN-003: Distribution Account=01-120-9999-0000-000 (Inactive) -> Expected Hold: Invalid Account HOLD-GEN-004: Budget Available=$3,200 vs Distribution=$5,000 -> Expected Hold: Insufficient Funds HOLD-GEN-005: Invoice Number=HOLD-INV-2001 resubmitted, same Supplier/Date/Amount -> Expected Hold: Duplicate Invoice HOLD-GEN-006: Qty=101 (Ordered=100, Tolerance=5%) -> Expected: No Hold (within tolerance)
Customer-specific test data and AI-generated variations are not published to the Syntra Standard Test Library. They remain within the customer's controlled SyntraFlow environment and access model.
Example Test Variations
Each generated hold scenario is tagged by hold category so QA can slice the regression pack by matching, distribution, supplier, or release behavior, and confirm both the hold-application and hold-release paths are Syntra Ready.
| ID | Variation | Type | Key Difference | Execution |
|---|---|---|---|---|
| VAR-001 | Manual Hold Applied & Released | Manual/Release | AP specialist applies and later releases a manual hold reason independent of system exceptions. | Syntra Ready |
| VAR-002 | Quantity Variance Hold (Qty Ord) | Matching/Negative | Invoiced quantity exceeds ordered/receipted quantity beyond the ±5% tolerance. | Syntra Ready |
| VAR-003 | Price Variance Hold | Matching/Negative | Invoice unit price exceeds PO price beyond the ±3% tolerance. | Syntra Ready |
| VAR-004 | Receipt Variance Hold | Matching/Negative | Quantity received is insufficient to support the invoiced quantity. | Syntra Ready |
| VAR-005 | Invalid Account Hold | Distribution/Negative | Distribution references an inactive or invalid account combination. | Syntra Ready |
| VAR-006 | Distribution Variance Hold | Distribution/Negative | Sum of distribution lines does not equal the invoice header amount. | Syntra Ready |
| VAR-007 | Duplicate Invoice Hold | Other/Negative | Invoice number, date, and amount match an existing invoice for the same supplier. | Syntra Ready |
| VAR-008 | Budgetary Control Hold | Other/Negative | Funds check fails due to insufficient available budget on the distribution. | Syntra Ready |
| VAR-009 | Supplier Hold All Payments | Other/Negative | Supplier site flag Hold All Payments is active at invoice submission. | Syntra Ready |
| VAR-010 | Matching Hold Released After Receipt Correction | Matching/Release | Receipt is corrected to bring quantity within tolerance and invoice is revalidated. | Syntra Ready |
No variations match this filter.
Automatically Expand Positive and Negative Test Coverage
Positive Testing
Jarvis generates scenarios using combinations expected to successfully complete the business process.
Valid data → Invoice Holds completes successfully
Negative Testing
Jarvis can generate scenarios designed to exercise validations, business rules and exception handling.
- Quantity Variance Beyond Tolerance → Expected Oracle validation
- Price Variance Beyond Tolerance → Expected Oracle validation
- Receipt Variance (Insufficient Received Qty) → Expected Oracle validation
A negative test should not be marked as failed simply because Oracle rejects the transaction. If the expected Oracle validation occurs, the negative test has passed.
| Scenario | Oracle Outcome | Test Result |
|---|---|---|
| Invoice with 15% quantity variance submitted for validation | Qty Ord hold correctly applied; invoice held pending receipt correction | PASS |
| Distribution coded to inactive GL account combination | Invalid Account hold correctly applied; invoice blocked from accounting | PASS |
| Manual hold released after internal review completed | Hold released; invoice proceeds to Validated status | PASS |
| Duplicate invoice number, date, and amount resubmitted for same supplier | Duplicate Invoice hold correctly applied | PASS |
| Funds check service timeout during budgetary control validation | Validation failed with an unhandled system error instead of the expected Insufficient Funds hold | FAIL |
Turn AI-Generated Variations into a Regression Pack
Users can select generated scenarios and group them into reusable execution packs.
AP Invoice Holds Regression Pack
- Manual Hold Apply & Release
- Quantity Variance (Qty Ord) Hold
- Price Variance Hold
- Receipt Variance Hold
- Invalid Account Hold
- Distribution Variance Hold
- Duplicate Invoice Hold
- Budgetary Control (Insufficient Funds) Hold
- Supplier Hold All Payments
- Held Invoice Excluded from Payment Selection
Run On-Demand or Schedule Automated Batch Execution
SyntraFlow can execute selected scenarios individually or as a batch. Users can schedule regression packs according to their testing cycle.
Once scheduled, SyntraFlow executes the selected scenarios unattended and records the outcome of each test and business assertion.
| Pack | AP Invoice Holds Regression Pack |
| Schedule | Weekly Regression |
| Tests | 20 scenarios |
| Execution | Batch Mode |
| Start | 10:00 PM |
| Environment | Oracle Fusion TEST |
| Status | Scheduled |
Illustrative example — not a live schedule.
Review Results Across the Entire Test Pack
Users can drill from the regression pack into a scenario, its business steps, the underlying automation actions, and the evidence captured for each.
Illustrative example data — not actual production metrics.
Regression Pack → Scenario → Business Step → Automation Action → Evidence
From Business Scenario to Execution Evidence
Business teams get readable test documentation; automation teams retain detailed execution traceability.
Meet Jarvis — SyntraFlow's AI Testing Engine
Jarvis extends the Syntra Standard Test Library by analysing the business scenario, available DataVault test data and expected business outcomes to generate additional test coverage for the customer's environment.
How SyntraFlow Automates This Test
The Standard Test defines the scenario; DataVault, Jarvis AI and SyntraFlow's execution engine take it from a single reusable business definition to executed, evidenced regression coverage.
Business Step → Underlying UI Actions
What SyntraFlow Captures Per Run
Action Status vs. Business Validation
A successful UI interaction does not automatically prove the business outcome — this is illustrative of how SyntraFlow separates action success from business validation; it does not reflect a specific live execution.
| Step | Action Status | Business Validation |
|---|---|---|
| Apply manual hold on invoice header | Pass | Pass |
| Submit invoice with 15% quantity variance for validation | Pass | Pass |
| Attempt payment selection while invoice is held | Pass | Pass |
| Correct invalid account and revalidate invoice | Pass | Pass |
| Funds check service call during budgetary control validation | Fail | — |
Related Oracle Fusion AP Invoice Test Cases
Part of the same Procure-to-Pay invoice lifecycle. Linked cards are live; the rest are on the Syntra Standard Test Library roadmap.
Turn This Standard Test into Your Oracle Regression Suite
Start with the Syntra Standard Invoice Holds test, use DataVault to provide environment-specific test data, let Jarvis generate additional positive and negative variations, and execute the resulting regression pack automatically with SyntraFlow.
Use This Oracle Fusion Test Case
Add to Test Library
Save to your SyntraFlow regression suite.
Coming soonAutomate with SyntraFlow
Run this script against your own tenant today.