๐น Use Case
A source system sends AP Payable payment request data as REST JSON to Oracle Integration Cloud (OIC). OIC performs the following:
- Converts the incoming data into FBDI and property files.
- Zips and uploads them via ERP Fusion Adapter for bulk import.
- Handles invoice creation callback.
- On successful import, extracts the load interface ID and calls a BIP report to fetch invoice status.
- Sends the response back to the source over REST.
- Also handles callbacks for:
- Payables Payment Created
- Payables Payment Voided
- Uses Fusion REST API to get payment-related invoice info and sends status to the source.
- If payment is voided, calls an OOTB (out-of-the-box) fusion REST API to cancel the invoice in Fusion.
๐น Solution Steps
1. Receive AP Invoice payment Request from Source
- API: Expose OIC integration as REST endpoint.
- Method: POST
- Request Payload (Sample):
{
"transactions": [
{
"partyCode": "G1235",
"partyType": "ORGANIZATION",
"partyCountryCode": "HK",
"address": "Flat X 3/F,...",
"city": "Kowloon",
"bankCountryCode": "HK",
"bankCurr": "HKD",
"bankId": "004",
"bankName": "Citi Bank N.A.",
"bankAccountNumber": "1234",
"bankHolderName": "name",
"refundAmount": "500",
"currencyCode": "HKD",
"paymentDate": "2025/07/01",
"invoiceNumber": "PC-10043534_6",
"businessUnit": "test LIMITED",
"source": "PC",
"paymentMethod": "test",
"payGroup": "PC_HSBC",
"distributionCombination": "0100-631-000000-1207060101-0000-0000-000-000",
"lineNumber": "1",
"lineDescription": "1000000210+SDU2025R1"
}
]
}
2. OIC - Create FBDI File & Properties File
- Step: Map incoming JSON to AP Invoice FBDI template (usually
AP_INVOICES_INTERFACE
andAP_INVOICE_LINES_INTERFACE
). - Step: Generate the FBDI CSV and properties file.
- Step: Zip the files.
3. Upload to Fusion Using ERP Adapter
- Operation: Import Bulk data into Oracle Erp Cloud - Import Payables Payment Requests
- Adapter: ERP Integration Adapter
- Required Info: UCM Account:
fin$/payables$/import$
Enable callback
4. Callback: Invoice Load Completed
- Callback Notification from Fusion: OIC receives callback with
Load Interface ID
.
5. Call BI Report to Get Invoice Status
- API: Oracle BI Report Web Service
- Report Path:
/Custom/AP/Invoice_Status_Report.xdo
- Request:
<soapenv:Envelope ... >
<soapenv:Body>
<runReport>
<reportRequest>
<reportAbsolutePath>/Custom/AP/Invoice_Status_Report.xdo</reportAbsolutePath>
<parameterNameValues>
<item>
<name>p_load_interface_id</name>
<values>
<item>1234567</item>
</values>
</item>
</parameterNameValues>
</reportRequest>
</runReport>
</soapenv:Body>
</soapenv:Envelope>
- Response: XML/CSV with invoice number, status, rejection reason.
6. Send Invoice Status Back to Source
- Method: POST
- Payload (Sample):
{
"transactions": [
{
"invoiceNumber": "PC-1003423424",
"status": "Invoice Created",
"reason": "Bank details are missing",
"date": "01.07.2025"
}
]
}
7. Callback - Payables Payment Created
Since the PPR (Payment Process Request) process in ERP does not emit events for Payables Payment Created, we need to rely on the Payment File Created event instead.
- Trigger: Payment created event in Fusion
Call Fusion REST API: Get Child Invoices of Payment
GET /fscmRestApi/resources/11.13.18.05/payablesPayments/{CheckId}/child/relatedInvoices
- Send Status to Source (Sample Payload):
{
"transactions": [
{
"invoiceNumber": "PC-1003423424",
"status": "Payment Created",
"reason": "",
"date": "01.07.2025"
}
]
}
8. Callback - Payables Payment Voided
- Trigger: Voided payment notification from Fusion.
Call REST API: Get related invoices for the Voided Payment.
- API:
GET /fscmRestApi/resources/11.13.18.05/payablesPayments/{CheckId}/child/relatedInvoices
Call Fusion REST API: Cancel Invoice
- API:
POST /fscmRestApi/resources/11.13.18.05/invoices/action/cancelInvoice
Notify Source System
- POST Payload:
{
"transactions": [
{
"invoiceNumber": "PC-1003423424",
"status": "Payment Voided",
"reason": "",
"date": "01.07.2025"
}
]
}
๐น Final Integration Architecture
- Inbound:
- Source → OIC (REST API with AP data)
- OIC → Fusion (FBDI ZIP via ERP Adapter)
- Outbound:
- OIC → BI Report → Invoice Status → Source
- Fusion → OIC (Callbacks for Invoice Load, Payment Created, Payment Voided)
- OIC → Fusion REST (to fetch/cancel)
- OIC → Source (REST POST with status updates)
Next pending:
How to add Filters while subscribing events for specific system?