Event-Driven Invoice Processing for Oracle Fusion ERP Using OCI Events, Streaming, OCI Document…
Part 2: Implementation & Execution
Event-Driven Invoice Processing for Oracle Fusion ERP Using OCI Events, Streaming, OCI Document Understanding, and OIC
Part 2: Implementation & Execution
In the previous part of this blog, I covered the architecture overview, prerequisites, and the configurations required across OCI services to enable this event-driven invoice processing solution.

In this part, I will focus on the Oracle Integration implementation, including the integration flow, OCI Document Understanding invocation, supplier master data enrichment using OIC lookups, and the creation of supplier invoices in Oracle Fusion ERP Cloud. Finally, I will demonstrate the end-to-end execution of the solution, from uploading an invoice to OCI Object Storage through to the automatic creation of an invoice in Fusion ERP.
OIC Integration implementation:
1. Configure OCI Steaming adapter connection

You can obtain the Username and generate the Password by following the Step2 of my previous blog part. Also, the steps to generate the keystore file can be found in the Prerequisites section of the previous blog part.
2. Configure REST Adapter connection for Fusion ERP Cloud

3. OIC Flows
For this solution, I have implemented two OIC integrations.
The first integration is responsible for consuming events from OCI Streaming whenever a new invoice document is uploaded to OCI Object Storage. Upon receiving the event, it extracts the file details and invokes the second integration.
The second integration receives the file name from the first integration, invokes OCI Document Understanding to extract the invoice details from the document, enriches the extracted data using OIC lookups, and finally creates the supplier invoice in Oracle Fusion ERP Cloud.

a. Object storage file event trigger flow

OCI Steaming Connection configuration in the flow

Sample payload:
{
"eventType": "com.oraclecloud.objectstorage.createobject",
"cloudEventsVersion": "0.1",
"eventTypeVersion": "2.0",
"source": "ObjectStorage",
"eventTime": "2026-05-16T20:42:55Z",
"contentType": "application/json",
"data": {
"compartmentId": "ocid1.compartment.oc1..aaaaaaaawXXXXXXXXXXq",
"compartmentName": "iPaaS-Compartment-2026",
"resourceName": "Screenshot6.png",
"resourceId": "/n/xxxxxxx/b/bucket-oic-ailearn/o/Screenshot6.png",
"availabilityDomain": "HYD-AD-1",
"additionalDetails": {
"bucketName": "bucket-oic-ailearn",
"versionId": "c1bbf99e-14f3-41c5-XXX-f485728e1253",
"archivalState": "Available",
"namespace": "xxxxxxx",
"bucketId": "ocid1.bucket.oc1.ap-hyderabad-1.aaaaaaaag5scjXXXXXhdcq",
"eTag": "e9a162d9-2844-492a-9890-XXXd82caa3"
}
},
"eventID": "e3a399d4-4d3f-3911-d036-5c957187a687",
"extensions": {
"compartmentId": "ocid1.compartment.oc1..aaaaaaaawXXXXXXXXXXq"
}
}
b. Document understanding and invoice creation flow — This flow will receive the filename from the first flow.

Drag and drop the OCI Document Understanding action which is under OCI AI Services in Actions palette.

Configure as below:

Next, select the compartment, Input source as Object storage and input storage bucket as the bucket in which you are placing the invoice file.
Note: OCI Document Understanding supports both Inline and Object Storage as input sources. When using Inline, the document content must be provided in Base64 format within the request payload. When using Object Storage, OIC reads the document directly from the specified Object Storage bucket, and only the file name needs to be passed in the mapper.

Configure REST connection configuration invoice creation in ERP

Provided below sample payload for invoice creation, this is the minimal payload required to create an invoice.
{
"BusinessUnit" : "US1 Business Unit",
"InvoiceNumber" : "INV_SK_0206_2",
"InvoiceAmount" : 1000,
"InvoiceCurrency" : "USD",
"InvoiceDate" : "2026-06-01",
"Supplier" : "ABC Consulting",
"SupplierSite" : "ABC US1"
}
Note: SupplierSite and Business Unit are stored in a lookup in OIC for this demo.

Execution:
Upload the file into the bucket that emits the object create event.
Invoice uploaded for this demo:
I have highlighted the values we are interested in.


OCI Stream Event has triggered the integrations

Key value pairs of Invoice are extracted as shown at runtime in the OIC by document understanding action.

Finally, invoice is created in Fusion ERP Cloud.

Conclusion:
In this blog series, we built an event-driven invoice processing solution using OCI services and Oracle Integration. By leveraging OCI Events and OCI Streaming, invoice processing is automatically initiated whenever a document is uploaded to OCI Object Storage, eliminating the need for polling-based integrations.
OCI Document Understanding further simplifies the process by extracting invoice information directly from the uploaded document, enabling the automatic creation of supplier invoices in Oracle Fusion ERP Cloud. Together, these services provide a scalable and efficient approach to automating invoice processing while reducing manual effort.
Possible Enhancements:
OCI Document Understanding provides confidence scores for extracted fields. As a future enhancement, these scores could be used to implement validation thresholds and exception handling, allowing low-confidence invoices to be reviewed before being created in Oracle Fusion ERP Cloud.
References:
메타데이터
- post_id
- cbe5c8e9f878
- slug
- event-driven-invoice-processing-for-oracle-fusion-erp-using-oci-events-streaming-oci-document-cbe5c8e9f878
- url
- https://medium.com/@sumanthkoditala/event-driven-invoice-processing-for-oracle-fusion-erp-using-oci-events-streaming-oci-document-cbe5c8e9f878
- canonical_url
- https://medium.com/@sumanthkoditala/event-driven-invoice-processing-for-oracle-fusion-erp-using-oci-events-streaming-oci-document-cbe5c8e9f878
- author_url
- https://medium.com/@sumanthkoditala
- status
- ok
- fetched_at
- 2026-06-20 20:29:01