Oracle E-Business Suite and GoCardless integration
Oracle E-Business Suite runs your financials and customer master. GoCardless collects payments directly from your customers' bank accounts. Connecting the two keeps your accounts receivable and cash receipts synchronized with your payment collections. AR invoices in EBS create mandates in GoCardless, successful bank debits come back to EBS as cash receipts, and manual payment matching is eliminated.
What moves between them
AR invoices in EBS flow outbound to GoCardless as payment mandates matched to customers. Successful bank debits flow back from GoCardless as payout events via webhook, and ml-connector posts those payouts to EBS as cash receipt transactions. The flow is bidirectional but asymmetric: invoices are read-only in EBS before matching to GoCardless, and payouts are read-only in GoCardless but become creatable transactions in EBS. The sync runs on a schedule you control, typically daily or with each EBS batch import cycle.
How ml-connector handles it
ml-connector polls EBS for open AR invoices using the customer-specific ISG hostname and HTTP Basic Auth credentials, storing the bearer token in memory until it expires (typically 30 to 60 minutes) and re-authenticating on 401 responses. On the GoCardless side, it stores the bearer token and subscribes to webhook events for successful payouts; it validates each webhook by computing HMAC-SHA256(secret, raw_body) and comparing to the Webhook-Signature header, returning 2xx only on a match. When a payout occurs, ml-connector looks up the corresponding EBS invoice by customer and amount, then inserts a cash receipt record into the EBS cash receipts table via an open interface view and triggers the concurrent program to import it. EBS writes are asynchronous, so ml-connector polls EBS until the receipt is confirmed in the base tables, with exponential backoff and timeout. All records carry a full audit trail and failed receipts can be replayed once the downstream EBS import completes.
A real-world example
A mid-sized B2B software company runs Oracle E-Business Suite for finance and AR. They use GoCardless to collect subscription invoices directly from customer bank accounts across Europe and North America. Before the integration, they issued EBS invoices manually and tracked GoCardless collection status in a separate spreadsheet, then entered successful payments back into EBS weekly after reconciling bank deposits with GoCardless payout reports. With the integration, invoices sync daily to GoCardless, collections are posted automatically to EBS as cash receipts, and reconciliation happens in real time rather than in bulk after-the-fact. AR aging is now accurate, DSO improves, and the finance team spends no time on invoice-to-payment matching.
What you can do
- Poll Oracle E-Business Suite for open AR invoices and post successful GoCardless bank debits back to EBS as cash receipt transactions.
- Authenticate with EBS via HTTP Basic Auth and session tokens, and GoCardless via bearer token with real-time webhook event subscription.
- Validate GoCardless webhook signatures with HMAC-SHA256 verification, returning 2xx only on a valid match to prevent endpoint health degradation.
- Match GoCardless payouts to EBS invoices by customer and amount, handling asynchronous EBS import cycles and polling until receipts are confirmed in the base tables.
- Maintain a full audit trail of all invoice-to-payout mappings and replay failed receipts without re-posting duplicate transactions.
Questions
- How does ml-connector handle the fact that EBS sessions expire and EBS has no webhooks?
- ml-connector stores the EBS bearer token in memory and polls EBS on a schedule tied to your AR batch cycle. When the token expires (typically 30 to 60 minutes), it re-authenticates using HTTP Basic Auth on the next poll. Because EBS has no webhook system, polling is the standard approach and ml-connector manages the session state transparently.
- What happens when a GoCardless payout posts to EBS?
- ml-connector receives the payout event via webhook, validates its signature, and looks up the matching EBS invoice by customer and amount. It then inserts a cash receipt record into the EBS cash receipts open interface table and triggers the concurrent program to import the receipt into the base tables. Because the import is asynchronous, ml-connector polls EBS until the receipt is confirmed in AR_CASH_RECEIPTS_ALL before marking the payout complete.
- How does ml-connector prevent duplicate cash receipts or missed payments?
- Every payout is tagged with a GoCardless payout ID before being sent to EBS, and ml-connector deduplicates by payout ID. If an EBS import fails or times out, the payout record is retained in the audit trail and can be replayed with a single API call once the downstream import issue is resolved, without creating a duplicate in EBS.
Related integrations
More Oracle E-Business Suite integrations
Other systems that connect to GoCardless
Connect Oracle E-Business Suite and GoCardless
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started