ml-connector
Oracle E-Business SuiteStampli

Oracle E-Business Suite and Stampli integration

Oracle E-Business Suite handles financials and procurement across your organization. Stampli automates invoice capture, routing, and approval in the cloud. Connecting them means AP invoices created in EBS flow to Stampli for approval and payment execution, and payments processed in Stampli post back into EBS's AP ledger. No manual export-import steps, no duplicate invoices, and every transaction is audited end to end.

How Oracle E-Business Suite works

Oracle E-Business Suite (R12.2) runs on premises and exposes data through the Integrated SOA Gateway (ISG), which publishes REST and SOAP endpoints from the Integration Repository. Each customer hosts the ISG on their own server, so there is no fixed public URL; ml-connector accepts the customer's hostname and port. Authentication is HTTP Basic Auth (username and password) or a session token obtained by logging in via the REST login endpoint. Session tokens expire after 30 to 60 minutes, and the connector must re-authenticate on any 401 response. Key entities for AP are AP_INVOICES_ALL, AP_INVOICES_INTERFACE, PO_VENDORS, PO_VENDOR_SITES_ALL, GL_CODE_COMBINATIONS, and GL_JE_HEADERS. Oracle E-Business Suite has no modern webhook system, so ml-connector polls the open interface tables using LAST_UPDATE_DATE with limit/offset pagination.

How Stampli works

Stampli is a cloud-based AP automation platform with no publicly documented REST API. The only integration path available to third-party developers is file-based: SFTP with CSV or XML flat files. Stampli provides SFTP credentials (hostname, port, username, password) and customers can ingest invoices by uploading CSV files to a designated inbound directory. Stampli then exports paid invoices and payment records to an outbound directory that the connector can poll. There are no webhooks, rate limits, or API response schemas. Duplicate detection is built in on the Stampli side, but the connector should implement its own dedup logic on the EBS side. Internal sync refresh rates are approximately 5 minutes for invoices and GL accounts, and 2 hours for purchase orders.

What moves between them

The main flow is from Oracle E-Business Suite to Stampli. Invoice records from EBS are read from AP_INVOICES_INTERFACE and vendor data from PO_VENDORS are uploaded to Stampli via SFTP CSV on a schedule you define (typically daily or as-needed). In the return direction, when Stampli exports paid invoices and payment records to its outbound SFTP directory, ml-connector polls that directory, transforms the payment data to GL journal entries, and writes them into EBS's GL_JE_LINES via the ISG REST API. GL accounts and cost centers are validated in both directions so every payment line references valid EBS GL combinations.

How ml-connector handles it

ml-connector stores both the EBS ISG hostname and port plus the Stampli SFTP credentials encrypted at rest. For EBS, it authenticates using HTTP Basic Auth or a session token, and because tokens expire after 30 to 60 minutes, the connector checks the response code and re-authenticates on any 401. For Stampli, it establishes an SFTP connection, uploads CSV files of invoices to the inbound directory, and polls the outbound directory for payment files on your defined interval (e.g. every 15 or 30 minutes). Because EBS is on premises, the connector tracks the customer's ISG hostname and port, and validates that application context headers (responsibility, organization, security group) are correct before submitting REST calls. Writes to EBS open interface tables are asynchronous: the connector inserts rows via REST POST, and EBS concurrent programs import them to base tables over minutes or hours, so ml-connector tracks the import status via polling. Stampli has duplicate detection built in, but the connector maintains a dedup key per invoice on the EBS side to prevent re-submission if a network error causes a retry. Every record carries a full audit trail so a failed payment can be replayed once the underlying issue is fixed.

A real-world example

A mid-sized manufacturing company runs Oracle E-Business Suite on premises for full financials and procurement, and recently adopted Stampli in the cloud for three-way PO matching and approval automation. Before the integration, AP staff exported invoices from EBS weekly, uploaded them to Stampli manually, waited for approvals, then re-entered the approved payments into EBS. With Oracle E-Business Suite and Stampli connected, invoices from EBS flow automatically to Stampli for approval, and once Stampli approves and processes payment, the journal entries post back into EBS's GL without re-keying. The approval process is now transparent across both systems, and month-end close is two days faster because AP reconciliation is already done.

What you can do

  • Sync AP invoices from Oracle E-Business Suite to Stampli for approval and three-way matching.
  • Export approved and paid invoices from Stampli back into EBS GL journals, mapped to the correct GL accounts and cost centers.
  • Validate vendors and PO line items in both directions so every invoice references a valid vendor and cost center in EBS.
  • Handle HTTP Basic Auth and session token re-authentication when EBS tokens expire after 30 to 60 minutes.
  • Poll Stampli's SFTP outbound directory on your defined interval and dedup payment records to prevent re-posting to the GL.

Questions

Since Stampli has no public REST API, how does ml-connector read and write data?
ml-connector uses file-based integration over SFTP. It uploads invoice CSV files to Stampli's inbound directory and polls the outbound directory for payment files that Stampli exports. This is the only integration path available to third-party developers without a formal Stampli partnership agreement.
How does ml-connector handle Oracle E-Business Suite's session token expiry and on-premises hosting?
EBS session tokens expire after 30 to 60 minutes, so the connector checks the HTTP response code and re-authenticates on any 401. Because EBS runs on premises, ml-connector accepts the customer's hostname and port for the ISG and validates that the application context headers (responsibility, organization, GL set of books) are correct before submitting REST calls.
What happens when ml-connector writes invoices to EBS's open interface tables?
Writes to EBS open interface tables are asynchronous. The connector inserts rows via REST POST to AP_INVOICES_INTERFACE, and EBS concurrent programs import them to the base AP_INVOICES_ALL table over minutes or hours. ml-connector polls the import status and tracks each invoice by dedup key to handle retries, so a network error during upload does not cause duplicate invoices in EBS.

Related integrations

Connect Oracle E-Business Suite and Stampli

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started