Oracle Fusion Duplicate Invoice Validation Test Cases
Validates that Oracle Fusion correctly detects, holds, and lets AP users resolve potential duplicate supplier invoices, while confirming that genuinely unique invoices are never wrongly blocked.
| Test ID | ORCL.P2P.AP.INV.VALIDATE.DUPLICATE |
| Application | Oracle Fusion Cloud |
| Product | Financials |
| Module | Accounts Payable |
| Process | Invoice Processing |
| Business Flow | Procure-to-Pay |
| Scenario Type | Negative / Exception |
| 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 14 business-readable test steps; SyntraFlow's automation executes approximately 39 underlying Oracle Fusion UI actions to complete it.
Test Objective
Confirms that Oracle Fusion's duplicate invoice validation correctly identifies when a new invoice potentially duplicates an existing supplier invoice already on file, and that it responds according to the Business Unit's configured Duplicate Invoice Check options.
The scenario should confirm that:
- An invoice matching an existing Supplier plus Invoice Number is flagged and held as a potential duplicate
- An invoice matching Supplier, Invoice Number, and Amount is treated as a high-confidence duplicate
- An invoice sharing an Invoice Number with a different Supplier is not incorrectly flagged
- Invoices with the same Supplier and Number but a different Amount or Date are still evaluated per the configured match basis
- Genuinely unique invoices save and validate without being wrongly placed on hold
- A Duplicate Invoice Hold can be researched, released, or resolved via cancellation/correction by an AP user
- Formatting differences in Invoice Number, such as leading zeros or spacing, are handled per Oracle's documented exact-match logic
- A duplicate invoice re-entered after the original was cancelled is still evaluated by the duplicate check
- No duplicate invoice reaches accounting or payment selection without the hold being explicitly resolved
This test covers the duplicate invoice detection and hold/resolution logic specifically, not general field-level invoice validation or the standard invoice creation flow.
When to Use This Test
- Prevent double payment from a supplier invoice that was re-keyed, resubmitted, or received twice
- Validate Duplicate Invoice Hold trigger and resolution behavior before go-live or a configuration change
- Confirm configured tolerance rules for duplicate Amount and Date matching behave as designed
- Ensure legitimate recurring invoices from the same supplier are not wrongly blocked
- Regression test duplicate logic after changes to Manage Invoice Options or Payables Options
- Verify AP users can research and resolve duplicate holds without manual data digging
Where This Test Fits in the Procure-to-Pay Process
The Duplicate Check runs automatically when an invoice is saved, comparing Supplier, Invoice Number, Amount, and Date against existing invoices in the same Business Unit before the invoice can proceed toward accounting.
Preconditions
- Business Unit has Duplicate Invoice Check options enabled in Manage Invoice Options (Number, Amount, and/or Date basis)
- At least one existing, validated invoice is on file for the test supplier to serve as the duplicate baseline
- Supplier and Supplier Site are active and correctly set up in Oracle Fusion Payables
- Test user has Accounts Payable Invoice Entry privileges
- Test environment's Invoice Options configuration mirrors production
- DataVault is populated with known existing invoice numbers, suppliers, and amounts to construct deterministic duplicate and non-duplicate conditions
- Duplicate Invoice Hold reason/code is configured and active
- Business Unit and Currency are consistent between the baseline invoice and the test invoice
- No conflicting batch validation jobs are running against the test supplier during execution
Exact setup and field availability may vary by Oracle Fusion implementation and security configuration.
Sample Test Data
| Business Unit | US1 Business Unit |
| Supplier | Meridian Office Supplies |
| Supplier Site | MERIDIAN-HOU |
| Existing Invoice Number (baseline) | INV-10432 |
| New Invoice Number (test entry) | INV-10432 |
| Invoice Amount | 4,250.00 USD |
| Invoice Date | 15-JUN-2026 |
| Currency | USD |
| Payment Terms | Net 30 |
| Invoice Type | Standard |
| Duplicate Check Basis | Number + Amount + Date |
| Line/Distribution Amount | 4,250.00 (single line) |
Sample values are illustrative. Replace them with valid data from the target Oracle Fusion environment.
Test Steps
14 business-readable steps. SyntraFlow's automation executes ~39 underlying UI actions to complete these steps — see How SyntraFlow Automates This Test.
| # | User Action | Expected Result |
|---|---|---|
| 1 | Open Create Invoice Navigate to Payables, then Invoices, then Create Invoice | Create Invoice page opens with entry fields ready |
| 2 | Select Business Unit and Supplier Choose the Business Unit and select the Supplier for the invoice Business Unit: US1 Business Unit; Supplier: Meridian Office Supplies | Supplier details populate, including default payment terms and liability account |
| 3 | Select Supplier Site Select the applicable Supplier Site Supplier Site: MERIDIAN-HOU | Site-specific defaults such as payment terms and remit-to are applied |
| 4 | Enter Invoice Number Enter the Invoice Number exactly as it appears on the source document Invoice Number: INV-10432 This value is the primary key used in Oracle's duplicate match logic | Invoice Number field accepts entry |
| 5 | Enter Invoice Date and Amount Enter the Invoice Date and Invoice Amount Date: 15-JUN-2026; Amount: 4,250.00 USD | Fields accept entry and the header total updates |
| 6 | Enter Invoice Line and Distribution Enter the line amount and distribution account matching the header total Line Amount: 4,250.00 | Line and distribution totals match the invoice header amount |
| 7 | Save the Invoice Save the invoice to trigger Oracle's duplicate invoice evaluation | Oracle evaluates the invoice against existing invoices for the same supplier per the configured Duplicate Invoice Check options |
| 8 | Observe Duplicate Check Response Review the confirmation message or warning returned after save | System either saves the invoice cleanly or returns a duplicate warning and applies a Duplicate Invoice Hold |
| 9 | Open Manage Holds Navigate to the invoice's Holds tab to review any applied hold | Duplicate Invoice Hold, when triggered, is listed with hold reason and hold-from date |
| 10 | Research the Duplicate Condition Compare the new invoice against the existing baseline invoice for supplier, number, amount, and date | Researcher can determine whether the invoice is a true duplicate or a legitimate separate invoice |
| 11 | Resolve the Hold Release the Duplicate Invoice Hold if the invoice is confirmed unique, or cancel/correct the entry if it is a true duplicate | Invoice hold status updates to reflect the resolution decision |
| 12 | Re-validate the Invoice Re-run validation after resolution to confirm the invoice's updated status | Invoice moves to Validated status if released, or remains cancelled/corrected if it was a true duplicate |
| 13 | Confirm Downstream Eligibility Check whether the invoice is now eligible for accounting and payment processing | Only a legitimately unique, validated invoice becomes eligible for accounting and payment selection |
| 14 | Confirm Duplicate Validation Business OutcomeBusiness assertion Confirm that the overall duplicate-check business intent was met for this scenario | A true duplicate was correctly caught and held or resolved, or a genuinely unique invoice was correctly accepted without being wrongly blocked |
Expected Results
- Invoices matching an existing Supplier plus Invoice Number are placed on Duplicate Invoice Hold
- Duplicate detection additionally weighs Amount and Date per the Business Unit's configured Invoice Options
- Invoices sharing an Invoice Number with a different Supplier are not flagged as duplicates
- Genuinely unique invoices save and validate without any duplicate-related hold
- Duplicate Invoice Hold displays a clear hold reason referencing the matching condition
- Users can research, release, or correct and cancel a Duplicate Invoice Hold through standard Manage Holds functionality
- Formatting differences in Invoice Number, such as leading zeros or spacing, are evaluated per Oracle's exact-string match logic, which may not flag near-duplicates as a documented behavior boundary rather than a defect
- A resolved duplicate proceeds normally through validation, accounting, and payment eligibility
- Re-entry of a previously cancelled duplicate invoice number is still evaluated by the duplicate check the same as any new invoice
- No duplicate invoice is accounted or paid without the hold being explicitly researched and resolved by an AP user
Key Validation Checkpoints
- Supplier plus Invoice Number match triggers a Duplicate Invoice Hold
- Supplier plus Invoice Number plus Amount match triggers a Duplicate Invoice Hold with a high-confidence indicator
- Same Invoice Number with a different Supplier does not trigger a hold
- Same Supplier and Number with a different Amount is still evaluated per the configured basis
- Same Supplier and Number with a different Date is still evaluated per the configured basis
- Hold reason code correctly identifies as Duplicate Invoice
- Hold is traceable back to the specific existing invoice it potentially duplicates
- Formatting-variant invoice numbers are handled consistently with Oracle's documented exact-match behavior
- Released holds allow the invoice to proceed to validation and accounting
- Cancelled or corrected duplicate invoices do not remain in a payable state
- Genuinely unique invoices are never wrongly placed on Duplicate Invoice Hold
- Duplicate check behavior is consistent for both first-time entry and re-entry after a prior cancellation
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 duplicate invoice validation 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.
- Genuinely unique invoice, new supplier and number
- Same number, different supplier (correctly not a duplicate)
- Recurring monthly invoice with a distinct number pattern
- Corrected and resubmitted invoice with a new unique number after prior duplicate resolution
- Same Supplier + Same Invoice Number
- Same Supplier + Same Invoice Number + Same Amount
- Same Supplier + Same Number, different Amount
- Same Supplier + Same Number, different Invoice Date
- Duplicate entered after original already validated/accounted
- Duplicate entered same-day as original invoice
- Formatting variation, leading zeros not matched
- Formatting variation, spacing or case not matched
- Duplicate condition identified then resolved via hold release or cancellation
- Same number and supplier reused across different currencies
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
DataVault holds a controlled baseline of existing supplier invoices so Jarvis AI can generate deterministic duplicate and non-duplicate test conditions against known data, rather than guessing at what already exists in the instance.
Standard Library Definition
Scenario: Duplicate_Invoice_Check
Supplier: {{DataVault.Supplier}}
Supplier Site: {{DataVault.SupplierSite}}
Invoice Number: {{DataVault.ExistingInvoiceNumber | DataVault.NewInvoiceNumber}}
Invoice Amount: {{DataVault.InvoiceAmount}}
Invoice Date: {{DataVault.InvoiceDate}}
Business Unit: {{DataVault.BusinessUnit}}
Duplicate Basis: Number + Amount + Date (per Invoice Options config)
DataVault
Existing Invoices on File (Baseline): INV-10432 | Supplier: Meridian Office Supplies | Site: MERIDIAN-HOU | Amount: 4,250.00 USD | Date: 2026-06-15 | Status: Validated INV-10501 | Supplier: Meridian Office Supplies | Site: MERIDIAN-HOU | Amount: 1,980.00 USD | Date: 2026-07-02 | Status: Accounted 88213-A | Supplier: Coastal Freight Logistics | Site: COASTAL-DAL | Amount: 12,600.00 USD | Date: 2026-06-28 | Status: Validated 0045678 | Supplier: Bright Path Consulting | Site: BRIGHTPATH-NY | Amount: 7,500.00 USD | Date: 2026-07-10 | Status: Validated
Jarvis AI Generates
GEN-01 | Meridian Office Supplies | INV-10432 | 4,250.00 | 15-JUN-2026 -> Exact match of existing invoice -> Duplicate Hold expected GEN-02 | Meridian Office Supplies | INV-10432 | 4,375.00 | 18-JUN-2026 -> Same Number, different Amount/Date -> Duplicate Hold expected (Number-basis match) GEN-03 | Bright Path Consulting | 88213-A | 12,600.00 | 28-JUN-2026 -> Same Number as Coastal Freight invoice, different Supplier -> No hold, correctly unique GEN-04 | Bright Path Consulting | 45678 | 7,500.00 | 10-JUL-2026 -> Formatting variant of 0045678, leading zero stripped -> No hold triggered, matches configured exact-match behavior GEN-05 | Meridian Office Supplies | INV-10998 | 3,120.00 | 22-JUL-2026 -> New number, new amount, new date -> No hold, genuinely unique GEN-06 | Meridian Office Supplies | INV-10501 | 1,980.00 | 02-JUL-2026 -> Resubmission of a previously accounted invoice number -> Duplicate Hold expected pending research
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
Explore the generated duplicate and non-duplicate invoice variations Jarvis AI builds from the DataVault baseline, filterable by the type of match condition being tested.
| ID | Variation | Type | Key Difference | Execution |
|---|---|---|---|---|
| VAR-001 | Exact Duplicate - Same Supplier, Same Number, Same Amount | Same Number/Same Amount/Negative | Invoice Number, Amount, and Date identical to existing baseline invoice | Syntra Ready |
| VAR-002 | Same Supplier, Same Number, Different Amount | Same Number/Negative | Invoice Number matches baseline; Amount differs by 125.00 | Syntra Ready |
| VAR-003 | Same Supplier, Same Number, Different Date | Same Number/Negative | Invoice Number matches baseline; Invoice Date shifted by 5 days | Syntra Ready |
| VAR-004 | Same Number, Different Supplier | Same Number/Different Supplier | Invoice Number matches an existing invoice on file for a different supplier | Syntra Ready |
| VAR-005 | Formatting Variation - Leading Zeros | Formatting/Negative | Invoice Number 45678 versus baseline 0045678 | Syntra Ready |
| VAR-006 | Formatting Variation - Spacing and Case | Formatting/Negative | Invoice Number INV 10432 versus baseline INV-10432 | Syntra Ready |
| VAR-007 | Duplicate Hold Released as Non-Duplicate | Resolved | Duplicate Hold applied, then released after research confirms invoice is legitimate | Syntra Ready |
| VAR-008 | Duplicate Hold Resolved by Cancellation | Resolved/Negative | Duplicate Hold applied, then invoice cancelled and corrected as a true duplicate | Syntra Ready |
| VAR-009 | Duplicate Re-check After Prior Cancellation | Same Number/Resolved/Negative | Invoice Number reused after original entry with that number was cancelled | Syntra Ready |
| VAR-010 | Genuinely Unique Invoice | All | New Supplier, Number, Amount, and Date with no overlap against the baseline | 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 → Duplicate Invoice Validation completes successfully
Negative Testing
Jarvis can generate scenarios designed to exercise validations, business rules and exception handling.
- Same Supplier + Same Invoice Number → Expected Oracle validation
- Same Supplier + Same Invoice Number + Same Amount → Expected Oracle validation
- Same Supplier + Same Number, different Amount → 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 |
|---|---|---|
| Genuinely unique invoice | Invoice accepted, no hold applied | PASS |
| Configured duplicate condition (same supplier, same number) | Duplicate Invoice Hold applied | PASS |
| Same number, different supplier | Invoice accepted, correctly not flagged | PASS |
| Formatting variant not caught by exact-match duplicate logic | Invoice accepted, no hold, matches documented exact-match behavior | PASS |
| Duplicate accepted unexpectedly with no hold | Unexpected business outcome, true duplicate slipped through | FAIL |
| Unique invoice wrongly placed on Duplicate Invoice Hold | Unexpected business outcome, false positive hold | FAIL |
Turn AI-Generated Variations into a Regression Pack
Users can select generated scenarios and group them into reusable execution packs.
AP Duplicate Invoice Validation Regression Pack
- Exact Duplicate - Same Supplier, Same Number
- Duplicate - Same Supplier, Same Number, Same Amount
- Same Number, Different Supplier (Non-Duplicate)
- Same Number, Different Amount
- Same Number, Different Date
- Formatting Variant - Leading Zeros Not Matched
- Formatting Variant - Spacing/Case Not Matched
- Duplicate Hold Release - Confirmed Non-Duplicate
- Duplicate Hold Resolution - Cancel/Correct True Duplicate
- Duplicate Re-check After Prior Cancellation
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 Duplicate Invoice Validation 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 |
|---|---|---|
| Save invoice with same Supplier and same Invoice Number as an existing invoice | Pass | Pass |
| Save invoice with same Invoice Number but a different Supplier | Pass | Pass |
| Release Duplicate Invoice Hold after confirming invoice is unique | Pass | Pass |
| System accepts a true duplicate without applying any hold | Pass | Fail |
| System applies a Duplicate Invoice Hold to a genuinely unique invoice | Pass | 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 Duplicate Invoice Validation 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.
Frequently Asked Questions
Does Oracle Fusion treat a Duplicate Invoice Hold as an error?
What fields does Oracle's duplicate invoice check actually compare?
Will Oracle catch a duplicate invoice number that has different formatting, like leading zeros?
Why isn't same number, different supplier treated as a duplicate?
Is a caught duplicate a test failure?
How does SyntraFlow test duplicate scenarios without corrupting real AP data?
- Home
- Oracle ERP Testing Tool
- Test Library
- Financials
- Accounts Payable
- Invoice Processing
- Duplicate Invoice Validation