How to Use OCI AI Data Platform with Oracle EBS to Automate AP Invoice Exception Analysis

    

Introduction

Oracle AI Data Platform is a newly introduced capability from Oracle that brings significant value to enterprise customers adopting Artificial Intelligence. It provides a unified platform for data engineering, analytics, and AI-driven insights, enabling organizations to extract meaningful business value from their enterprise data.

In this article, I would like to showcase the capabilities of Oracle AI Data Platform and help you understand what it does, how it works, and how it can be integrated with Oracle E-Business Suite (EBS).

Oracle ERP systems such as Oracle E-Business Suite generate massive operational datasets across finance, procurement, and supply chain processes. To demonstrate how Oracle AI Data Platform works in a practical enterprise scenario, I selected one of the most time-consuming operational tasks faced by finance teams: investigating Accounts Payable invoice holds.

Typical AP exception analysis requires navigating multiple Oracle EBS tables, including:

  • AP invoices

  • Supplier data

  • Invoice holds

  • Payment schedules

  • Purchase order matching lines

This investigation process is typically manual, time-consuming, and heavily dependent on functional experts.

With Oracle AI Data Platform, organizations can combine:

  • Enterprise data engineering

  • Catalog-based data access

  • Generative AI reasoning

  • Automated workflows

to significantly simplify such operational tasks.

In this article, we will build a real AI-powered AP Invoice Exception Analyzer using:

  • Oracle EBS 12.2

  • OCI AI Data Platform Workbench

  • Autonomous AI Database 26ai

  • Generative AI models

  • Spark notebooks

This may be one of the first detailed implementations explaining OCI AI Data Platform with Oracle EBS operational data.

Architecture Overview

AI Data Platform + Oracle EBS Architecture

┌─────────────────┐
│        Oracle EBS DB          
│  AP, PO, Suppliers, Holds     
└─────────────────┘
                │
                │ AI-ready Views
                ▼
┌─────────────────┐
│  External Catalog (EBS)       
│  oracleebs_internal           
└─────────────────┘
                │
                ▼
┌─────────────────┐
│ Standard Catalog  
│ AP Exception Analyzer 
└─────────────────┘
                │
                ▼
┌──────────────────┐
│ AI Data Platform Notebook                                           
│ Spark SQL + query_model()                                          
└──────────────────┘
                │
                ▼
┌──────────────────┐
│ Autonomous AI Database 26ai
│ AI Explanations Storage       
└──────────────────┘

This architecture enables AI models to reason directly over enterprise ERP datasets.

Step 1 – Provision OCI AI Data Platform Workbench

Navigate to:

OCI Console → Analytics & AI → AI Data Platform Workbench

Create a new workbench instance.

Configuration

    AI Data Platform Name
    Workspace Name
    Standard Access Policies

The platform provisions:

  • catalog management

  • notebooks

  • compute clusters

  • workflow engine

These components enable end-to-end AI pipelines

Step 2 – Provision Target Database if needed.

This step is optional.

You may choose one of the following approaches depending on your architecture:

  • Create a separate schema in Oracle EBS

  • Use an Autonomous AI Database

  • Use a Lakehouse database for analytics workloads

For this example, we use Autonomous AI Database 26ai

Navigation:  OCI Console → Oracle AI Database → Autonomous AI Database

Configuration:  Workload Type : Lakehouse Database Version : 26ai

Create the target table to store AI analysis results.

CREATE TABLE ap_invoice_explanations (
invoice_num VARCHAR2(50),
vendor_name VARCHAR2(200),
org_name VARCHAR2(200),
invoice_amount NUMBER,
approval_status VARCHAR2(50),
hold_reason VARCHAR2(200),
explanation CLOB,
created_date DATE
);

Create the target table to store AI analysis results.


Step 3 – Create External Catalog for Oracle EBS

The external catalog connects OCI AI Data Platform to Oracle EBS.

In the workbench: Master Catalog → Create Catalog

Configuration:

Catalog Name : oracleebs_internal
Catalog Type : External
Source : Oracle Database

Provide the required connection details:

  • Host

  • Port

  • Service name

  • Schema created for AI access

Once configured, the catalog exposes EBS objects for analysis inside the AI Data Platform.

Step 4 – Create Standard Catalog for AI Processing

Next create a catalog to host the AI analytics pipeline.

Catalog Name : ap_exception_analyzer
Catalog Type : Standard

Inside the catalog create a schema.

ap_schema

This catalog will host:

  • Datasets
  • Transformations
  • Analytics tables




Step 5 – Preparing Oracle EBS Data for AI

ERP schemas are need to be optimized for analytics.

To simplify AI reasoning we create AI-friendly views in Oracle EBS.

AP Invoice Context View

CREATE OR REPLACE VIEW ai_ap_invoice_context_v AS
SELECT
ai.invoice_num,
hao.name AS org_name,
aps.vendor_name,
ai.invoice_amount,
ai.approval_status,
ah.hold_reason,
apsa.due_date
FROM apps.ap_invoices_all ai
LEFT JOIN apps.ap_holds_all ah
ON ai.invoice_id = ah.invoice_id
LEFT JOIN apps.ap_payment_schedules_all apsa
ON ai.invoice_id = apsa.invoice_id
JOIN apps.ap_suppliers aps
ON ai.vendor_id = aps.vendor_id
JOIN apps.hr_all_organization_units_tl hao
ON ai.org_id = hao.organization_id
AND hao.language = 'US';

This view consolidates invoice context needed for AI analysis.

AP Hold Context View

CREATE OR REPLACE VIEW ai_ap_hold_context_v AS
SELECT
ai.invoice_num,
hao.name AS org_name,
ah.hold_lookup_code,
ah.hold_reason,
ah.creation_date
FROM ap_holds_all ah
JOIN ap_invoices_all ai
ON ah.invoice_id = ai.invoice_id
JOIN hr_all_organization_units_tl hao
ON ai.org_id = hao.organization_id
AND hao.language = 'US'
WHERE ah.release_lookup_code IS NULL;

This exposes active invoice holds requiring investigation


PO Matching Context View

CREATE OR REPLACE VIEW ai_ap_po_context_v AS
SELECT
ai.invoice_num,
hao.name AS org_name,
ail.line_number,
ail.amount,
ail.match_type,
ail.po_distribution_id
FROM ap_invoice_lines_all ail
JOIN ap_invoices_all ai
ON ail.invoice_id = ai.invoice_id
JOIN hr_all_organization_units_tl hao
ON ai.org_id = hao.organization_id
AND hao.language = 'US'
WHERE ail.match_type IS NOT NULL;

This view provides PO matching context for invoice validation.


Step 6 – Implement Medallion Architecture

OCI AI Data Platform supports the Medallion Architecture.

Bronze → Raw data
Silver → Cleaned data
Gold → AI-ready analytics data

Bronze layer example:

oracleebs_internal.apps.ai_ap_invoice_context_v

oracleebs_internal.apps.ai_ap_hold_context_v

oracleebs_internal.apps.ai_ap_po_context_v

Silver layer:

invoice_exception_dataset

aggregated_hold_context

Gold layer:

gold_invoice_exceptions

Notebook Implementation (Spark SQL)

Below is an example Spark notebook query that calls a generative AI model.

ai_df = spark.sql("""
SELECT
invoice_num,
vendor_name,
org_name,
invoice_amount,
approval_status,
hold_reason,

query_model(
'google.gemini-2.5-flash-lite',
CONCAT(
'Explain the invoice exception and resolution steps. ',
'Invoice Number: ', invoice_num,
', Vendor: ', vendor_name,
', Hold Reason: ', hold_reason
)
) AS explanation

FROM gold_invoice_exceptions
""")

This executes AI reasoning directly from SQL queries.


Writing Results to Autonomous Database

from pyspark.sql.functions import current_timestamp


ai_df_final = ai_df.withColumn("created_date", current_timestamp())

ai_df_final.write \
.mode("append") \
.saveAsTable("supplier_external_26ai.admin.ap_invoice_explanations")



The result is a structured dataset containing AI-generated explanations for invoice holds


Step 7 – Reporting AI Insights

The generated AI insights can now be consumed through reporting tools such as:

  • Oracle APEX

  • Oracle Analytics Cloud

This allows finance teams to view:

  • invoice exception analysis

  • root cause explanation

  • recommended resolution steps

  • business risk assessment



Example AI Output:
" ### Invoice Exception Analysis: **Invoice Number:** ERS-9584-122054 **Vendor:** Advanced Network Devices **Org:** Vision Germany **Amount:** 122062.6000000000 **Approval Status:** UNKNOWN **Hold Reason:** Total of Invoice Lines does not equal Invoice Amount --- ### 1. Root Cause The fundamental root cause of this exception is a **discrepancy between the sum of individual line item amounts on the invoice and the declared total invoice amount**. This indicates an error in the data entry or generation of the invoice itself. Specifically, one or more of the following likely occurred: * **Data Entry Error:** During manual invoice entry in Oracle EBS, the sum of the line item amounts was manually entered incorrectly, or the total invoice amount was entered incorrectly, leading to a mismatch. * **Automated Data Import Error:** If the invoice was imported into Oracle EBS via an interface (e.g., from a supplier portal or another system), there was likely an error in the data transformation or aggregation logic that caused the line item totals to not sum up to the header-level invoice amount. * **Mathematical Error on Supplier Invoice:** The supplier themselves may have made a mathematical error when calculating the total of their invoice document, and this incorrect total was then accurately entered into Oracle EBS. --- ### 2. Business Explanation This hold means that Oracle Payables cannot proceed with processing this invoice for payment. The system is designed to flag such discrepancies as a critical control mechanism to prevent erroneous payments. In simpler terms, imagine you're paying a bill. If the bill says the total is $100, but when you add up all the individual items on the bill, they only add up to $90, you wouldn't just pay $100 without questioning it. Oracle EBS is doing the same thing. It's telling us: "I see the total you've stated for this invoice, but when I look at the individual prices and quantities of what was ordered, they don't add up to that total. There's a mistake here that needs to be fixed before I can approve it for payment." This exception directly impacts the **Procure-to-Pay (P2P) cycle** by stopping the invoice from moving forward to approval, matching (if applicable), and ultimately payment. This can lead to delayed payments to the vendor, potentially affecting supplier relationships and incurring late payment fees or interest charges. --- ### 3. Recommended Resolution The primary recommended resolution is to **correct the invoice data within Oracle EBS**. This will involve investigating and identifying the source of the discrepancy. Here's a step-by-step approach: 1. **Investigate the Invoice Lines:** * Access the invoice in Oracle EBS (AP Invoice Workbench or similar responsibility). * Carefully review each invoice line item. Pay close attention to: * **Quantity:** Is it correct? * **Unit Price:** Is it correct? * **Extended Amount (Quantity * Unit Price):** Are these calculations accurate for each line? * **Any Discounts or Charges applied at the line level.** * Manually sum up the "Extended Amount" for all invoice lines to get the "Total of Invoice Lines." 2. **Compare and Identify the Mismatch:** * Compare the manually calculated "Total of Invoice Lines" with the "Invoice Amount" at the invoice header level. * Identify which figure is incorrect. 3. **Take Corrective Action (Based on investigation):** * **If the Invoice Lines sum up correctly but the Invoice Amount is wrong:** Update the Invoice Amount at the invoice header to match the sum of the invoice lines. * **If the Invoice Amount is correct but the Invoice Lines do not sum up correctly:** * **Option A (Minor Discrepancy/Likely Data Entry Error):** Correct the quantity, unit price, or extended amount on one or more of the invoice lines so that their sum equals the Invoice Amount. * **Option B (Significant Discrepancy/Supplier Error):** If the discrepancy is significant and points to an error in the supplier's invoice document, you will need to **contact the vendor (Advanced Network Devices)**. * Explain the discrepancy clearly. * Request a corrected invoice from the vendor. * Once a corrected invoice is received, you may need to cancel the current invoice in Oracle EBS and enter a new one based on the corrected document. *Alternatively, if the vendor confirms a small, negligible difference and agrees to the current invoice amount, a manual override might be considered, but this is generally discouraged and requires proper authorization and documentation due to control risks.* * **If the Invoice was imported:** If this invoice was imported, involve the IT team or the team responsible for the import process to diagnose and fix the data corruption or logic error at the source. 4. **Re-validate and Release Hold:** * After making the necessary corrections, re-validate the invoice in Oracle EBS. * The system should automatically clear the "Total of Invoice Lines does not equal Invoice Amount" hold if the correction is successful. * Ensure the Approval Status is updated accordingly (e.g., to "Approved" or ready for further processing). --- ### 4. Risk if Unresolved If this invoice exception remains unresolved, the following risks are present: * **Delayed Payment to Vendor:** The most immediate risk is that the vendor will not be paid on time. This can lead to: * **Damaged Vendor Relationships:** Consistent late payments can strain relationships, potentially leading to the vendor prioritizing other customers, refusing to offer credit terms, or even ceasing to do business with Vision Germany. * **Late Payment Penalties and Interest:** Depending on contractual terms, Vision Germany may incur financial penalties and interest charges for overdue payments. * **Missed Early Payment Discounts:** If there are offered early payment discounts, these opportunities will be lost due to the delay. * **Operational Disruption:** * **Service Interruption:** If Advanced Network Devices provides ongoing services or critical supplies, a delay in payment could lead to a disruption of these services or the withholding of goods. * **Impact on Internal Operations:** Teams relying on the goods or services from Advanced Network Devices may face delays or stoppages in their own work, impacting productivity and project timelines. * **Financial Reporting Inaccuracies:** While the invoice is on hold, it may not be accurately reflected in current liabilities or expenses, potentially leading to misstatements in financial reports if not managed carefully. * **Increased Workload and Backlog:** Unresolved exceptions create a backlog in the AP department, increasing the manual effort required to chase down issues and resolve them later, which is typically more time-consuming than resolving them promptly. * **Audit Issues:** Unresolved discrepancies and holds can be flagged during internal or external audits, leading to questions about internal control effectiveness and financial processes. --- In summary, addressing this invoice exception promptly is crucial to maintain financial integrity, strong vendor relationships, and the smooth operation of Vision Germany's procurement and payment processes."



Conclusion

OCI AI Data Platform introduces a new paradigm for enterprise analytics.

By combining:

  • Oracle EBS operational data

  • catalog-based data access

  • medallion architecture

  • generative AI reasoning

organizations can build AI-native enterprise applications capable of interpreting and explaining complex business scenarios.

The AI-powered AP Exception Analyzer demonstrated in this article illustrates how traditional ERP troubleshooting can evolve into an intelligent and automated capability.


Comments