Oracle ERP Testing Tool > Test Library > Financials > Accounts Payable > Invoice Processing
Syntra Standard Oracle Test Library

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 IDORCL.P2P.AP.INV.VALIDATE.DUPLICATE
ApplicationOracle Fusion Cloud
ProductFinancials
ModuleAccounts Payable
ProcessInvoice Processing
Business FlowProcure-to-Pay
Scenario TypeNegative / Exception
Test UsageFunctional Testing / Regression Testing / UAT
PriorityHigh
AutomationSyntraFlow Ready
LibrarySyntra 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

Invoice Entry
Duplicate Check
Accepted / Held
Continue Processing

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

  1. Business Unit has Duplicate Invoice Check options enabled in Manage Invoice Options (Number, Amount, and/or Date basis)
  2. At least one existing, validated invoice is on file for the test supplier to serve as the duplicate baseline
  3. Supplier and Supplier Site are active and correctly set up in Oracle Fusion Payables
  4. Test user has Accounts Payable Invoice Entry privileges
  5. Test environment's Invoice Options configuration mirrors production
  6. DataVault is populated with known existing invoice numbers, suppliers, and amounts to construct deterministic duplicate and non-duplicate conditions
  7. Duplicate Invoice Hold reason/code is configured and active
  8. Business Unit and Currency are consistent between the baseline invoice and the test invoice
  9. 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 UnitUS1 Business Unit
SupplierMeridian Office Supplies
Supplier SiteMERIDIAN-HOU
Existing Invoice Number (baseline)INV-10432
New Invoice Number (test entry)INV-10432
Invoice Amount4,250.00 USD
Invoice Date15-JUN-2026
CurrencyUSD
Payment TermsNet 30
Invoice TypeStandard
Duplicate Check BasisNumber + Amount + Date
Line/Distribution Amount4,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 ActionExpected 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
Core Business Scenario
Duplicate Invoice Validation
Business Steps
14
Test Variations
AI-Generated
Test Data
DataVault-Driven
Execution
On-Demand / Scheduled / Batch
Automation
SyntraFlow Ready
Jarvis AI

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

01
Syntra Standard Test
Reusable business process and automation logic.
02
Customer DataVault
Provides approved customer-specific test data and configuration required for scenario generation — Business Units, Suppliers, Supplier Sites, Currencies, Payment Terms, Accounting combinations, Tax configurations, Dates, Amounts and other relevant test attributes.
03
Jarvis AI
Analyses the standard scenario together with available test data and generates relevant scenario variations.
04
Positive + Negative Test Variations
Positive, negative, boundary and configuration-specific scenarios.
05
Regression Pack
Selected variations can be grouped into an executable suite.
06
On-Demand / Scheduled / Batch Execution
Execute immediately or schedule the regression pack for unattended batch execution.
07
Results + Evidence + Exceptions
Capture execution results, business assertions, screenshots/evidence and exceptions.

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.

Positive Scenarios
  • 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
Negative Scenarios
  • 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.

IDVariationTypeKey DifferenceExecution
VAR-001Exact Duplicate - Same Supplier, Same Number, Same AmountSame Number/Same Amount/NegativeInvoice Number, Amount, and Date identical to existing baseline invoiceSyntra Ready
VAR-002Same Supplier, Same Number, Different AmountSame Number/NegativeInvoice Number matches baseline; Amount differs by 125.00Syntra Ready
VAR-003Same Supplier, Same Number, Different DateSame Number/NegativeInvoice Number matches baseline; Invoice Date shifted by 5 daysSyntra Ready
VAR-004Same Number, Different SupplierSame Number/Different SupplierInvoice Number matches an existing invoice on file for a different supplierSyntra Ready
VAR-005Formatting Variation - Leading ZerosFormatting/NegativeInvoice Number 45678 versus baseline 0045678Syntra Ready
VAR-006Formatting Variation - Spacing and CaseFormatting/NegativeInvoice Number INV 10432 versus baseline INV-10432Syntra Ready
VAR-007Duplicate Hold Released as Non-DuplicateResolvedDuplicate Hold applied, then released after research confirms invoice is legitimateSyntra Ready
VAR-008Duplicate Hold Resolved by CancellationResolved/NegativeDuplicate Hold applied, then invoice cancelled and corrected as a true duplicateSyntra Ready
VAR-009Duplicate Re-check After Prior CancellationSame Number/Resolved/NegativeInvoice Number reused after original entry with that number was cancelledSyntra Ready
VAR-010Genuinely Unique InvoiceAllNew Supplier, Number, Amount, and Date with no overlap against the baselineSyntra Ready

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.

ScenarioOracle OutcomeTest Result
Genuinely unique invoiceInvoice accepted, no hold appliedPASS
Configured duplicate condition (same supplier, same number)Duplicate Invoice Hold appliedPASS
Same number, different supplierInvoice accepted, correctly not flaggedPASS
Formatting variant not caught by exact-match duplicate logicInvoice accepted, no hold, matches documented exact-match behaviorPASS
Duplicate accepted unexpectedly with no holdUnexpected business outcome, true duplicate slipped throughFAIL
Unique invoice wrongly placed on Duplicate Invoice HoldUnexpected business outcome, false positive holdFAIL

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
Add Selected to Regression Pack(coming soon)Run Now(coming soon)Schedule(coming soon)

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.

Run immediatelyNightly regressionWeekly regressionBefore releaseAfter configuration changesAfter environment refreshQuarterly Oracle update testingPre-UAT validation
PackAP Duplicate Invoice Validation Regression Pack
ScheduleWeekly Regression
Tests20 scenarios
ExecutionBatch Mode
Start10:00 PM
EnvironmentOracle Fusion TEST
StatusScheduled

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.

40
Total Scenarios
38
Passed
0
Failed
2
Exceptions
12
Positive Tests
28
Negative Tests
40
Business Assertions

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.

Standard Business Scenario
AI-Generated Variation
Regression Pack
Business Test Step
Automation Actions
Business Assertion
Screenshot / Evidence
Execution Result

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.

Generate
Positive and negative variations.
Parameterize
Use relevant test data from DataVault.
Assemble
Build reusable regression packs.
Execute
Run scenarios autonomously.
Schedule
Execute unattended test batches.
Validate
Evaluate expected business outcomes.

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.

Standard Library — Duplicate Invoice Validation, 14 Business Steps
DataVault — Customer-Specific Test Data
Jarvis AI — Generate Positive + Negative Variations
Regression Pack — Select Relevant Coverage
SyntraFlow Execution — Each Variation
Detailed UI Actions
Business Assertions
Evidence
PASS / FAIL

Business Step → Underlying UI Actions

Business Step
Enter Invoice Number and save the invoice to trigger the duplicate check
May internally include
Open Create Invoice -> Enter Invoice Number field -> Enter Amount and Date -> Enter line/distribution -> Click Save -> System runs duplicate validation -> Capture hold/warning response
Business Step
Research and resolve a Duplicate Invoice Hold
May internally include
Open Manage Invoices -> Search Invoice -> Open Holds tab -> Review Duplicate Invoice Hold reason -> Compare against baseline invoice details -> Release Hold or Cancel/Correct invoice -> Save and re-validate

What SyntraFlow Captures Per Run

Parameterised input valuesReusable navigationAutomation action traceScreenshots / evidence captureExecution timingPass / fail statusBusiness assertionsEnvironment-independent test data

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.

StepAction StatusBusiness Validation
Save invoice with same Supplier and same Invoice Number as an existing invoicePassPass
Save invoice with same Invoice Number but a different SupplierPassPass
Release Duplicate Invoice Hold after confirming invoice is uniquePassPass
System accepts a true duplicate without applying any holdPassFail
System applies a Duplicate Invoice Hold to a genuinely unique invoicePassFail

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

Download Test Case

Full objective, preconditions, test data and steps.

Add to Test Library

Save to your SyntraFlow regression suite.

Coming soon

Automate with SyntraFlow

Run this script against your own tenant today.

Frequently Asked Questions

Does Oracle Fusion treat a Duplicate Invoice Hold as an error?
No. A Duplicate Invoice Hold is a controlled pause, not a rejection. The invoice still saves and remains visible in the system, but it cannot proceed to accounting or payment until an AP user researches the match and either releases the hold or corrects/cancels the invoice.
What fields does Oracle's duplicate invoice check actually compare?
It compares Supplier and Invoice Number as the core match key, and optionally Invoice Amount and Invoice Date depending on which Duplicate Invoice Check options are enabled in Manage Invoice Options for the Business Unit.
Will Oracle catch a duplicate invoice number that has different formatting, like leading zeros?
Not automatically. The duplicate check performs an exact string match on Invoice Number, so 1005 and 001005 are treated as different values. Formatting drift is a documented behavior boundary, not a system defect, and is best controlled through supplier-side naming conventions.
Why isn't same number, different supplier treated as a duplicate?
Because Supplier is part of the match key. The same invoice number recurring across unrelated suppliers is common and expected, so Oracle correctly excludes it from the duplicate check rather than generating false positives.
Is a caught duplicate a test failure?
No. Correctly catching and holding a genuine duplicate is a PASS. A FAIL only occurs when a true duplicate is accepted without a hold, or when a genuinely unique invoice is wrongly blocked.
How does SyntraFlow test duplicate scenarios without corrupting real AP data?
DataVault seeds a controlled baseline of existing invoices in an isolated test environment, and Jarvis AI generates paired duplicate and non-duplicate test invoices against that baseline. The Regression Pack and Scheduled Batch Execution then re-run the full set automatically whenever Invoice Options configuration changes.
Download Test Case