ml-connector
Oracle PeopleSoftShopify

Oracle PeopleSoft and Shopify integration

Oracle PeopleSoft runs your enterprise finance and HR, and Shopify runs your e-commerce storefront. Connecting the two keeps your financial records and customer data synchronized without manual entry. New orders and customer records from Shopify flow into PeopleSoft's customer master and sales GL, and refunds generate offsetting GL entries so month-end close sees the full picture from a single source.

How Oracle PeopleSoft works

Oracle PeopleSoft is a self-hosted on-premise ERP and HCM platform deployed on customer hardware or Oracle Cloud Infrastructure. It exposes financial entities including customers, invoices, payments, journal entries, GL accounts, vendors, and employee records through REST JSON endpoints and SOAP/XML component interfaces via Integration Broker. Authentication uses HTTP Basic Auth (OPRID plus password) for all PeopleTools versions, or OAuth2 bearer tokens for PeopleTools 8.58 and later. REST endpoints are primarily read-only inquiry operations and must be explicitly activated by a PeopleSoft administrator. PeopleSoft has no native webhook system, so data is read by polling with date-range filters.

How Shopify works

Shopify is a cloud-based e-commerce platform that exposes orders, customers, transactions, refunds, products, inventory, and payment payouts through its Admin API. The API supports both GraphQL and REST transports, with GraphQL as the preferred current interface. All calls require OAuth2 with offline access tokens (prefix shpat_) that do not expire. Shopify supports webhooks for order, customer, and transaction events including orders/create, orders/updated, orders/paid, orders/cancelled, orders/fulfilled, and disputes/create, with deduplication via X-Shopify-Webhook-Id header and signature validation on every call.

What moves between them

Orders and customer records flow from Shopify into Oracle PeopleSoft. Each new Shopify order syncs to PeopleSoft's customer master and creates a sales journal entry in the GL mapped to the correct sales revenue account. Customer updates in Shopify are reflected in PeopleSoft's customer inquiry endpoints. When a Shopify order is refunded, ml-connector generates a corresponding GL reversal entry in PeopleSoft so the financial records stay aligned. Data moves on webhooks from Shopify (when available) and polls to PeopleSoft's invoice and requisition endpoints to catch any orders that bypass the webhook system.

How ml-connector handles it

ml-connector stores Shopify OAuth2 credentials and PeopleSoft HTTP Basic Auth credentials encrypted and refreshes the Shopify bearer token when a call returns 401. It accepts the unique hostname, port, and node name for each PeopleSoft customer instance since each is self-hosted and deployed independently. Because PeopleSoft has no webhooks, ml-connector polls the invoice inquiry endpoints and customer inquiry endpoints on a configurable schedule, filtering by date range to avoid large result sets that may impact the customer's PeopleSoft performance. Shopify order events are captured via webhooks where enabled, reducing latency for new orders. GL entries are posted via PeopleSoft's SOAP component interface with the order number as the natural key so duplicate posts are idempotent. Refund amounts are validated against the original Shopify transaction before generating GL reversals, and every record carries a full audit trail so any exchange can be inspected or replayed if a downstream validation fails.

A real-world example

A mid-sized retail company operates a Shopify store selling to consumer and small business customers, and uses Oracle PeopleSoft for accounting and customer billing. Before the integration, the finance team downloaded Shopify's order export at the end of each day and manually entered the orders into PeopleSoft's customer master and sales GL, a process prone to double-entry errors and manual reconciliation. With Shopify and PeopleSoft connected, each order creates a customer record and sales GL entry automatically, and refunds generate GL reversals. The finance team no longer needs to reconcile Shopify order numbers to PeopleSoft invoice records because they come from a single source.

What you can do

  • Sync Shopify orders into Oracle PeopleSoft as customer records and sales GL journal entries mapped to the correct revenue accounts.
  • Capture customer updates from Shopify and reflect them in PeopleSoft's customer master for accurate billing addresses and contact details.
  • Post GL reversals automatically when Shopify orders are refunded, keeping sales and refund accounts in agreement.
  • Authenticate via HTTP Basic Auth to PeopleSoft's REST endpoints and OAuth2 to Shopify's Admin API, with bearer token refresh and retry logic.
  • Poll PeopleSoft's invoice inquiry endpoints on a schedule and receive Shopify order events via webhooks, with full audit trails on every synced record.

Questions

Which direction does data move between Oracle PeopleSoft and Shopify?
Orders and customer records flow from Shopify into Oracle PeopleSoft. Each order creates a customer record in PeopleSoft and generates a sales GL entry, and refunds create GL reversals. Customer updates in Shopify are reflected in PeopleSoft's customer master. PeopleSoft's GL accounts are read-only from Shopify's perspective, so ml-connector only writes to them, never reads balances back.
How does ml-connector handle PeopleSoft's self-hosted deployment and lack of webhooks?
Because each PeopleSoft customer operates their own instance with a unique hostname, port, and node name, ml-connector accepts these details per customer and does not assume a shared base URL. PeopleSoft has no native webhook system, so ml-connector polls the invoice inquiry and customer inquiry endpoints on a configurable schedule with date-range filters to avoid overwhelming the customer's hardware. Shopify orders are captured via webhooks where enabled to reduce latency.
What happens if a GL entry fails to post to PeopleSoft or a refund amount does not match the original Shopify transaction?
Every record in the flow is stored with a full audit trail and can be inspected or replayed. Refund amounts are validated against the original Shopify transaction before ml-connector generates a GL reversal, and if the validation fails the record is marked for review rather than posted. Failed GL entries are retried with exponential backoff, and if they continue to fail they are flagged for support investigation with the complete exchange log available for troubleshooting.

Related integrations

Connect Oracle PeopleSoft and Shopify

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

Get started