ml-connector
Oracle Fusion Cloud ERPShipStation

Oracle Fusion Cloud ERP and ShipStation integration

Oracle Fusion Cloud ERP runs your finance and supply chain. ShipStation manages your shipping operations and order fulfillment. Connecting the two keeps your order-to-cash cycle complete and your inventory accurate. Customer orders that flow through ShipStation shipments feed back into Oracle Fusion Cloud ERP's receivables and inventory accounts, while inventory adjustments from fulfillment sync back to Oracle for real-time stock visibility. ml-connector handles the very different authentication and data models on each side and moves the data on a schedule you control.

How Oracle Fusion Cloud ERP works

Oracle Fusion Cloud ERP exposes invoices, receivables transactions, customers, purchase orders, suppliers, GL accounts, and inventory through REST APIs with OData-style query parameters (fields, expand, limit, offset, filtering by LastUpdateDate). Each customer instance has a dedicated pod URL. Authentication uses OAuth 2.0 Client Credentials against an OCI Identity Domain, returning JWT bearer tokens valid approximately one hour. Oracle Fusion Cloud ERP has no direct outbound webhooks for external connectors, so data is read by polling REST APIs filtering by LastUpdateDate.

How ShipStation works

ShipStation exposes orders, customers, shipments, warehouses, and inventory through REST APIs in both V1 (order management, customers, products, warehouses) and V2 (label creation, batch operations, inventory, purchase orders). Authentication is API Key via header for V2 or HTTP Basic Auth for V1, with no OAuth support. Webhooks deliver outbound events for orders and shipments but send only resource pointers, requiring authenticated follow-up GET requests to fetch actual data. V1 supports 40 requests per minute; V2 supports 200 requests per minute.

What moves between them

The main flow is ShipStation into Oracle Fusion Cloud ERP. Fulfilled orders and shipment records from ShipStation flow into Oracle's receivables module, mapped to the correct customer and GL account. Inventory adjustments from shipments are posted to Oracle's inventory transactions. Customer data flows in both directions so Oracle customers match ShipStation order owners. Pricing and product catalogs are stored in ShipStation and referenced from Oracle orders, but financial postings are read-only in ShipStation, so ml-connector never writes financial entries back to the shipping system.

How ml-connector handles it

ml-connector accepts each customer's Oracle Fusion Cloud ERP pod URL and caches OAuth 2.0 bearer tokens, refreshing when a call returns 401. It polls ShipStation's order and shipment endpoints on a schedule tied to your fulfillment cycle, handling ShipStation's webhook pointers by following authenticated GET requests to fetch full order and shipment payloads. Because ShipStation's V1 and V2 APIs serve different purposes, ml-connector uses V1 for order and customer management while referencing V2 inventory data as needed. ShipStation's rate limits return HTTP 429, so ml-connector backs off and retries. Customers are implicitly created in ShipStation via order usernames, but ml-connector maps them explicitly to Oracle customers by email or account number. Shipment dates are converted from ShipStation's PST timezone to match Oracle's UTC-based journal posting. Every record carries a full audit trail and can be replayed if a downstream GL posting fails.

A real-world example

A mid-sized e-commerce retailer runs Oracle Fusion Cloud ERP for finance and supply chain, with ShipStation managing order fulfillment across three warehouses and multiple sales channels (web, Amazon, eBay). Before the integration, the operations team logged fulfilled orders and inventory adjustments into ShipStation for fulfillment, then the finance team manually entered shipment summaries and inventory adjustments into Oracle at the end of each day, leading to discrepancies between ShipStation's fulfilled inventory and Oracle's GL inventory accounts. With ShipStation and Oracle Fusion Cloud ERP connected, each shipment automatically posts to Oracle's inventory and receivables, allocated to the correct warehouse and customer, and daily reconciliation begins with shipment and inventory data already aligned.

What you can do

  • Post ShipStation shipments into Oracle Fusion Cloud ERP receivables and inventory journals, allocated to the correct customers and warehouses.
  • Keep Oracle customer records aligned with ShipStation order owners and their fulfillment status.
  • Map ShipStation warehouses and inventory adjustments to Oracle Fusion Cloud ERP GL accounts and cost centers.
  • Authenticate Oracle Fusion Cloud ERP with OAuth 2.0 Client Credentials against a customer-specific pod URL, and ShipStation with API Key headers.
  • Poll on a schedule tied to your fulfillment cycle, with rate limit backoff, webhook pointer resolution, and a full audit trail on every record.

Questions

Which direction does data move between Oracle Fusion Cloud ERP and ShipStation?
The main flow is ShipStation into Oracle Fusion Cloud ERP. Fulfilled orders and shipment records flow from ShipStation into Oracle's receivables and inventory modules, while customer data is aligned in both directions. Because financial documents are read-only in ShipStation, ml-connector does not write GL postings back into the shipping system.
How does ml-connector handle ShipStation's webhook pointers and Oracle's pod-specific URLs?
ShipStation webhooks deliver resource pointers rather than full payloads, so ml-connector follows authenticated GET requests to fetch the actual order and shipment data. Oracle Fusion Cloud ERP requires a customer-specific pod URL and OAuth 2.0 authentication; ml-connector accepts the pod URL per customer, caches and refreshes bearer tokens when they expire, and converts ShipStation's PST timezone to Oracle's UTC for GL posting.
What happens when ShipStation or Oracle hit rate limits?
ShipStation returns HTTP 429 with rate limit headers (X-Rate-Limit-Remaining, X-Rate-Limit-Reset); ml-connector backs off exponentially and retries. Oracle's rate limits are not published in the API docs, but ml-connector applies the same retry pattern. Every record carries an audit trail so retries and failed attempts are tracked and can be replayed.

Related integrations

Connect Oracle Fusion Cloud ERP and ShipStation

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

Get started