Integration combo
Shopify to Sage 200 integration
Shopify is the storefront. Sage 200 is where the UK back office runs: nominal ledger, stock, purchase orders, VAT, the whole accounting and operational stack. The integration moves orders, customers and payments out of Shopify into Sage 200 as proper sales documents, and pushes stock and pricing back the other way so the storefront reflects the warehouse rather than wishful inventory. We design, build and support Shopify-to-Sage 200 integrations as a Patchworks Partner Agency, with the SLA picking up the moment the integration goes live.
Flow shape
Order sync: Shopify to Sage 200
How a Shopify order lands as a Sage 200 sales document, with VAT, nominal codes and customer ledger entries in the right place from the first run.
- Trigger Shopify Order created order/create webhook
- Extract Patchworks Ingest payload queue, dedupe, normalise
- Transform Patchworks Resolve VAT codes rate, group, reverse-charge
- Decision Patchworks Customer exists? Sage account lookup
- Transform Patchworks Map to sales order nominal codes, analysis fields
- Action Sage 200 Post sales order via Sage API
- Writeback Shopify Tag order store Sage document number
Illustrative only. The diagram above shows how an integration of this shape works in concept. It is not a screenshot or export of the actual Patchworks process flow; the production flow has more nodes, more branches and more error handling than a marketing page can usefully render.
What we sync
8 synchronisations between Shopify and Sage 200.
Only the data flows that both platforms actually support. Each section below describes what’s in scope, the gotchas we watch for, and how the flow is shaped inside Patchworks.
- 01
Order sync
Shopify Sage 200
Orders raised in Shopify flow into Sage 200 on creation, status change and edit. The flow normalises Shopify's order schema into the record shape Sage 200 expects, including line-level discounts, taxes, gift cards, shipping methods and multi-currency. Partial cancellations and post-capture edits are handled with idempotent updates so Sage 200 stays the system of record without double-counting. Edge cases that come up most often on this pair: backorders, pre-orders, subscription rebills and orders placed through guest checkout with no matching customer record on the destination side.
- 02
Inventory sync
Sage 200 Shopify
Stock levels in Sage 200 push to Shopify on a schedule, on movement events, or both. The flow handles multi-location and multi-warehouse split, safety stock buffers, in-transit and committed quantities, and channel-specific availability rules. Where Shopify has its own location model we map Sage 200's locations onto it explicitly rather than relying on default behaviour. Throttling protects both sides during bulk recalculations; deltas only during normal operation. The goal is one source of truth for sellable inventory across the estate, with Sage 200 retaining authority.
- 03
Product sync
Sage 200 Shopify
Product master data syncs from Sage 200 to Shopify on publish, with channel-aware enrichment so Shopify only receives the attributes it can act on. Variants, option sets, media, locale-specific copy, category mappings and metafield or extension data are handled explicitly. New SKUs flow in; deprecated SKUs are flagged rather than hard-deleted so historical orders stay intact. Where Shopify has channel-specific requirements that Sage 200 does not natively model (typing rules, required attributes, image dimensions), the integration enforces them at the boundary rather than asking the merchandising team to.
- 04
Pricing sync
Sage 200 Shopify
Price lists in Sage 200 push to Shopify with currency, tax-class and customer-group awareness intact. Promotional pricing, contract pricing and tiered B2B pricing are handled as first-class concepts rather than overrides applied at the storefront. Where Sage 200 runs effective-dated pricing, the flow coordinates the cutover so Shopify's catalogue switches at the same instant as the finance side rather than drifting by hours. Currency rounding and display-tax rules are reconciled at the integration boundary to avoid the classic 1p / 1c off-by-one that haunts multi-currency rollouts.
- 05
Customer sync
Shopify Sage 200
Customers created or updated in Shopify flow into Sage 200 with a stable cross-system identifier so the same shopper isn't fragmented into duplicates across the estate. Addresses, marketing preferences, B2B account hierarchies, tax exemption flags and channel attribution are mapped explicitly rather than left to Sage 200's defaults. Where Sage 200 is the customer system of record (CRM or ERP) we publish back into Shopify so storefront personalisation and segmentation reflect the canonical state. GDPR deletion and rectification are propagated across the integration in both directions.
- 06
Returns sync
Shopify Sage 200
Return authorisations created in Shopify flow into Sage 200 with reason codes, inspection state, restocking decisions and refund eligibility carried through. Where Sage 200 is the ERP or WMS, the return becomes an inbound record that affects available stock and accounts. Where Sage 200 is the storefront, the order record updates so the customer-facing return state stays honest. Exchanges are handled as a paired return-plus-outbound rather than collapsed into a refund-plus-new-order, which keeps the accounting clean and the operational picture accurate.
- 07
Refund sync
Shopify Sage 200
Refund decisions raised in Shopify push into Sage 200 as the financial event they are, with original payment method, partial-versus-full handling, tax recalculation and currency intact. The flow waits on inspection outcome where the merchant policy requires it rather than firing on RMA creation. Refunds against gift cards, multi-tender orders and marketplace orders (where the marketplace owns the refund execution) each take a different path; the integration picks the right one based on the original order's tender mix rather than a single default rule.
- 08
Tax sync
Sage 200 Shopify
Tax codes, tax classes and jurisdiction rules in Sage 200 push to Shopify so the storefront or marketplace charges what finance will actually post. VAT groups, reverse-charge B2B handling, marketplace-of-record tax (where the channel collects on the seller's behalf) and US sales-tax nexus are each modelled explicitly. The integration validates that Shopify's tax calculation matches Sage 200's before publishing a price; mismatches are flagged loudly rather than left to surface at month-end on a VAT return.
Typical delivery
6 to 9 weeks for a standard delivery.
Up to 5× faster using PatchBuddy- Week 1 Discovery: Sage 200 chart-of-accounts walkthrough, VAT scheme, nominal posting rules.
- Weeks 2 to 4 Build: order, customer, stock and pricing flows in Patchworks.
- Weeks 5 to 6 Integration testing against the live Sage instance using a staged Shopify store.
- Weeks 7 to 8 UAT with finance and operations; sign-off on VAT and nominal mappings.
- Week 9 Cutover and hyper-care; transition into support retainer with monitoring and SLA.
Patchworks delivery
How Patchworks shapes Shopify to Sage 200.
Sage 200's data model is built around accounting conventions rather than ecommerce expectations, and integrations that try to ignore that tend to need rework within months. We build the Shopify-to-Sage 200 flows directly in Patchworks, mapping orders onto the right Sage transaction types, respecting nominal codes and VAT groups, and letting Sage's batch posting cadence drive the rhythm where finance needs it to. The runbook covers the edge cases Sage tends to surface loudest at month-end.
Got more connectors that need to live in this flow? A 3PL, a marketplace, returns, a PIM, anything. We can do it. Most live integrations end up larger than a pair, all built and supported as one estate. More on multi-platform estates →
Our Patchworks practiceQuestions
Common questions.
-
01 Does the integration work with Sage 200 on-premise or only Sage 200 Cloud?
Both. The Patchworks connector supports Sage 200 Standard (cloud-hosted) and Sage 200 Professional (on-premise or partner-hosted). The flow logic is the same; the access path differs. -
02 How are Shopify discounts represented in Sage 200?
Order-level and line-level discounts post as discount lines against the relevant nominal code rather than being baked into the unit price. Finance can see what was sold at what value and what was discounted; reporting stays honest. -
03 Can Sage 200 stock drive Shopify availability?
Yes. For most engagements Sage is the source of truth for stock, with location-aware availability rules publishing to Shopify on a delta schedule plus event-driven updates on warehouse movement. Safety stock buffers are configurable per SKU group. -
04 What about multi-currency orders?
Supported. Shopify Markets orders post to Sage 200 in the order currency, with FX policy applied at the configured rate. We agree the rate source at scoping so finance isn't reconciling two interpretations. -
05 Do you support Shopify-to-Sage 200 under SLA after go-live?
Yes. The same team that builds the integration runs it under retainer. Monitoring on every shipped flow, on-call cover, monthly health checks and tiered response SLAs from £750/month.
Get in touch
Tell us what you’re trying to connect.
And what’s in the way. We will tell you whether we are the right people to do it. Drop us a line below, or open the chat in the corner of the screen.
Direct: contact@ecirql.com
Message sent
Thanks. We’ll be in touch.
Your message is in our inbox. A human will read it and reply within a working day. For anything urgent, drop us a line at contact@ecirql.com or open the chat in the corner of the screen.