Shopify Integration
Your storefront is a sales channel - not your inventory master.
Shopify integrations look simple until the first oversell, the first refund that never reached finance, or the first bundle that shipped as three separate SKUs. The durable work is deciding which system owns products, stock, customers and money, and then handling the exceptions properly.
At a glance
- Typical connections
- Shopify to ERP, inventory, 3PL, CRM and accounting systems.
- Highest-risk object
- Inventory. Two writers to one stock pool is the root of most overselling.
- Design principles
- One stock master, explicit refund path, replayable orders, reconciled payouts.
Business problem
What ecommerce integration is expected to deliver.
Orders into operations
Every order lands in the system that fulfils it, with the customer, pricing, tax and shipping method already resolved - no exported CSV, no re-keying.
Stock accuracy across channels
Available-to-sell quantities published from the system that controls the goods, so the storefront reflects reality rather than yesterday's count.
Fulfilment status back to the customer
Despatch and tracking information flows back to Shopify so notifications are automatic and the service inbox quietens down.
Finance without double entry
Orders, refunds and payouts summarised into the accounting ledger in a form finance can reconcile, rather than transaction-by-transaction noise.
Customer view across channels
Online and offline purchase history against one customer record in CRM, which is what makes lifecycle marketing and service actually work.
Wholesale alongside retail
B2B pricing, terms and approval rules handled in the system designed for them while the storefront serves the retail experience.
Source of truth
Ownership decisions that prevent overselling.
Overselling is almost never a speed problem. It is an ownership problem wearing a speed costume.
Where it goes wrong
Common ecommerce integration failures
- Two systems both adjusting stock
- Orders imported but refunds handled manually
- Bundles and kits treated as simple SKUs
- Discount and shipping lines breaking finance totals
- Sync failures nobody is alerted about
What we design
A flow that survives a peak trading week
- One stock master with per-channel allocation
- Refunds and returns modelled explicitly
- Bundle and kit logic resolved before fulfilment
- Financial mapping reconciled to payouts
- Alerting plus a replayable order queue
Data model
Objects and events typically exchanged.
| Object | Ownership and mapping considerations |
|---|---|
| Product / variant | Split ownership by field: identity, SKU and cost upstream; merchandising content in Shopify. Agree who may create a new variant. |
| Inventory level | One authoritative source. Decide the buffer, the allocation rule per channel and the update frequency your order velocity demands. |
| Customer | Match on a stable identifier rather than email alone; guest checkout and multiple emails per household are the usual complications. |
| Order | Directionally one-way out of Shopify. Map discounts, shipping, tax and gift cards deliberately - these are where totals stop reconciling. |
| Fulfilment | Written back to Shopify from the warehouse or 3PL, including partial and split fulfilments. |
| Refund / return | Needs a defined path across stock, revenue and customer record. The most commonly under-specified object in ecommerce integrations. |
| Payout / settlement | Usually summarised for finance rather than synced per transaction, so bank reconciliation stays manageable. |
Options
App, iPaaS or custom build.
The right answer depends on how much of your order flow is standard and how much is yours alone.
Marketplace app
Fastest route for standard product, order and fulfilment sync. Check how it handles refunds, partial fulfilment and failure visibility before relying on it.
iPaaS
Sensible when several systems are involved and you want visible run history and reusable mappings, at the cost of an ongoing subscription.
Custom API integration
Warranted for bundles, kits, multi-warehouse allocation, B2B pricing rules or anything requiring conditional logic the app cannot express.
Hybrid
Frequently the practical answer: an app for the standard path plus a custom exception service for the parts that make your business yours.
Approach
How we typically deliver a Shopify integration.
A recommended methodology; the sequence adapts to trading calendar, volume and existing tooling.
01
Order lifecycle map
From add-to-cart through fulfilment, refund and settlement - including the exceptions your team currently handles manually.
02
Source-of-truth model
Ownership agreed per object and per field: products, stock, customers, pricing and orders.
03
Integration design
Events, direction, frequency, retry behaviour and the exception queue, specified before anything is built.
04
Build and load test
Implemented against a development store and tested with realistic volume, partial fulfilments, refunds and failure injection.
05
Cutover
Catalogue and stock alignment, a monitored parallel period where practical, then switchover with rollback criteria agreed in advance.
06
Operate and tune
Monitoring, reconciliation against payouts, and a review of allocation and buffer settings as volumes change.
Questions we are asked about Shopify integration
- Which system should own stock levels?
- Whichever system physically controls the goods - usually the ERP, warehouse or inventory system, not the storefront. Shopify then receives available-to-sell quantities. When the storefront is treated as the master and another system also adjusts stock, overselling is a matter of time.
- How do we prevent overselling across channels?
- One authoritative stock source, a defined buffer or allocation rule per channel, and updates frequent enough for your order velocity. Sales-channel-specific allocations matter more than raw sync speed: a fast sync of a contested pool still oversells.
- Should product data be managed in Shopify or upstream?
- Commercial and merchandising content - imagery, descriptions, collections, SEO fields - usually belongs in Shopify. Core item identity, SKU, cost, supplier and pricing rules usually belong upstream. Splitting ownership by field rather than by record is what keeps both teams working without conflict.
- How are refunds and returns handled?
- They need an explicit path, because a refund touches stock, revenue and customer history at once. We define where the return is initiated, how stock is or is not returned to sellable, and how the credit is reflected in the finance system, before build.
- Do we need an iPaaS or a custom integration?
- It depends on how standard your order flow is. Off-the-shelf connectors cover common product, order and fulfilment patterns well. Bundles, kits, partial fulfilment, split shipments, multi-warehouse allocation and B2B pricing are where custom logic is usually required.
Where to go next
Decide who owns stock before the next peak.
A short ownership and lifecycle review is usually enough to expose the oversell risk hiding in your current setup.