ml-connector
Oracle Fusion Cloud ERPZuora

Oracle Fusion Cloud ERP and Zuora integration

Oracle Fusion Cloud ERP runs your financials and procurement. Zuora runs your subscription billing and revenue recognition. Connecting them keeps invoice data and customer records synchronized without manual export and import. Customer master records from Oracle Fusion Cloud ERP create or update billing accounts in Zuora, and invoice data flows from Oracle Fusion Cloud ERP into Zuora so each billing event has the GL backing it needs. ml-connector bridges the two OAuth2 credential sets and maps GL dimensions between them.

How Oracle Fusion Cloud ERP works

Oracle Fusion Cloud ERP exposes invoices, customers, suppliers, purchase orders, GL accounts, and journal lines through REST APIs accessed via a tenant-specific pod URL (https://{pod}.fa.{region}.oraclecloud.com/fscmRestApi/). Authentication uses OAuth 2.0 Client Credentials with Bearer tokens valid approximately 1 hour. Queries use OData-style parameters (filter, fields, limit, offset) and support filtering by LastUpdateDate for incremental polling. Oracle Fusion Cloud ERP has no native outbound webhooks for external connectors; Business Events exist but require Oracle Integration Cloud middleware, so the standard integration pattern is polling on a schedule tied to your finance close cycle.

How Zuora works

Zuora provides REST APIs for accounts, subscriptions, invoices, payments, and revenue recognition at a multi-region base URL that varies by tenant (rest.zuora.com, rest.eu.zuora.com, rest.ap.zuora.com, and others). Authentication uses OAuth 2.0 Client Credentials with 1-hour tokens. Zuora fires webhook notifications (Callout Notifications) for billing events like invoice posted, payment processed, and subscription renewed, with HMAC-SHA256 signature support and configurable retry behavior. Payment notifications fire only for electronic payments, not manual entries. Webhooks return minimal payloads; the receiver must call back to fetch full record details.

What moves between them

Customer master records and invoice headers flow from Oracle Fusion Cloud ERP into Zuora on a polling schedule you define. Customers in Oracle Fusion Cloud ERP map to Accounts in Zuora; invoices map to Invoice records, with GL account codes mapped to Zuora revenue recognition dimensions. The flow is one-way: Oracle Fusion Cloud ERP supplies the source of truth for customer and invoice data, while Zuora enriches them with subscription and billing context. Payments in Zuora are read-only from Oracle Fusion Cloud ERP's perspective. ml-connector polls Oracle Fusion Cloud ERP every 5-15 minutes (configurable), filtering by LastUpdateDate, and pushes updates to Zuora via its REST API.

How ml-connector handles it

ml-connector stores both credential sets encrypted and handles the tenant-specific OAuth2 flow for each system. For Oracle Fusion Cloud ERP, it uses the customer-provided pod URL and OCI Identity Domain endpoint to obtain Bearer tokens. For Zuora, it determines the correct regional base URL from the customer's tenant configuration, refreshes OAuth2 tokens before expiry, and manages the multi-region routing. Customer records from Oracle Fusion Cloud ERP are polled by creation or last-update date, de-duplicated by external ID, and posted to Zuora's Account endpoints. GL account codes are extracted from Oracle Fusion Cloud ERP invoices and mapped to a Zuora revenue recognition dimension defined in the flow configuration. If an invoice update arrives after a Zuora payment has been posted, ml-connector tracks the sequence to prevent out-of-order writes. Zuora's rate limits (50,000 RPM in production, lower in sandbox) are observed, and failed calls are retried with exponential backoff. Every record carries a full audit trail showing the source payload, transformation, and delivery status.

A real-world example

A mid-market SaaS company runs Oracle Fusion Cloud ERP for general ledger and accounts payable, and Zuora for subscription billing and revenue recognition. Before the integration, the finance team exported a customer master file from Oracle Fusion Cloud ERP each week and uploaded it to Zuora by hand, then re-entered invoice totals into Zuora for month-end close. Customer changes in Oracle Fusion Cloud ERP often arrived in Zuora days late, breaking the reconciliation between the two systems. With Oracle Fusion Cloud ERP and Zuora connected, customer records sync automatically within each polling interval, and invoices flow from Oracle Fusion Cloud ERP into Zuora with GL codes already mapped, so the revenue accounting team can close the books without manual file transfers or data re-entry.

What you can do

  • Sync customer master records from Oracle Fusion Cloud ERP to Zuora Accounts on a polling schedule you control, keeping billing customer data current.
  • Map Oracle Fusion Cloud ERP GL account codes to Zuora revenue recognition dimensions so invoices land on the correct ledger accounts.
  • Handle Oracle Fusion Cloud ERP's tenant-specific pod URLs and Zuora's multi-region base URL routing without manual configuration per call.
  • Poll Oracle Fusion Cloud ERP filtered by LastUpdateDate for incremental sync, reducing load on both systems and keeping data fresh.
  • Authenticate both systems with OAuth 2.0 and track token expiry, with full audit trail and error replay on every record.

Questions

Which direction does data move between Oracle Fusion Cloud ERP and Zuora?
The main flow is one-way from Oracle Fusion Cloud ERP to Zuora. Customers and invoices move from Oracle Fusion Cloud ERP into Zuora as Accounts and Invoices. GL account codes are mapped to Zuora revenue recognition dimensions. Zuora payments and subscriptions remain managed in Zuora; ml-connector does not write data back into Oracle Fusion Cloud ERP.
How does the integration handle Oracle Fusion Cloud ERP's tenant-specific URLs and Zuora's multi-region setup?
ml-connector accepts the full Oracle Fusion Cloud ERP pod URL per customer (https://{pod}.fa.{region}.oraclecloud.com) and the Zuora regional base URL from the customer's tenant configuration, since neither system publishes a single global endpoint. Both URLs are stored encrypted and used on every request, so routing is correct regardless of region.
Does Oracle Fusion Cloud ERP support webhooks, or does the integration rely on polling?
Oracle Fusion Cloud ERP webhooks require Oracle Integration Cloud middleware, which adds complexity and cost. The standard pattern for external connectors is polling the REST API on a schedule tied to your finance close cycle. ml-connector polls every 5-15 minutes (configurable), filtering by LastUpdateDate to fetch only changed records, and retries failed calls with exponential backoff.

Related integrations

Connect Oracle Fusion Cloud ERP and Zuora

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

Get started