A written data contract
Which system owns what, in a document, agreed before code — the thing you can point at when the systems disagree.
ERP · PIM · 3PL · LOCAL STORES
Shopify connected to the systems your business already runs on. For GANT that meant migrating the store and wiring in their existing internal systems, including integrations with individual local stores.
IN SHORT
Every ERP integration conversation starts in the wrong place. Which connector, which middleware, which API version. None of that is the hard part.
The hard part is this: when Shopify and your ERP disagree about how many units you have, who is right? Answer that for every field — inventory, price, product data, customer records, order status — and the engineering becomes routine. Skip it, and you will spend two years firefighting symptoms of a decision nobody made.
Inventory is the one that bites hardest, because the failure mode is visible to customers. You oversell during a sale, cancel orders, and the support cost lands in a week when everyone is already busy.
Six stages. The last one runs forever, and it is the one most integrations skip.
Products, inventory, pricing, customers, orders and fulfilment drawn end to end with direction of travel marked. This is a whiteboard exercise before it is an engineering one.
Every field gets exactly one owning system, written down. Inventory especially — this is the decision that prevents overselling six months later during a sale.
Deltas rather than full syncs, batching where rate limits demand it, and idempotency so a webhook arriving twice does not create two orders.
What happens when the ERP is unreachable, a payload is malformed, or a message arrives out of order. Retry strategy, dead-letter handling and alerting decided before launch.
Where the source system allows it, the integration runs alongside the existing process against real data, so discrepancies surface before anything depends on it.
A scheduled report that compares both systems and flags drift. Not glamorous, and the single most useful thing you can have after go-live.
Deltas, not full syncs. Pushing the entire catalogue every hour is the default that everyone regrets. It burns rate limits, hides real changes in noise and makes debugging nearly impossible. Send what changed.
Idempotency. Webhooks arrive twice. They arrive out of order. They arrive six hours late after an outage. Every operation has to be safe to apply more than once, or you will create duplicate orders and double-decrement stock.
Reconciliation. A scheduled job that compares both systems and reports drift. Not glamorous. It is how you find out about a problem before your customers do.
Which system owns what, in a document, agreed before code — the thing you can point at when the systems disagree.
You find out from a monitor, not from a customer service ticket three days later.
Scheduled drift detection between Shopify and the ERP, so small discrepancies never become large ones.
In your repository, with tests and documentation. No per-operation fee, no dependency on us.
GANT came to Shopify with internal systems already in place. We migrated the store and connected those systems, including integrations with individual local stores.
GANT came to Shopify with internal systems already in place, and the brief was to connect them rather than replace them — including integrations with individual local stores. Replatforming a storefront should not turn into a back-office programme, and that principle shapes how we scope every integration.
Clients from the roster whose work this page describes. Each links to what we actually built.
GANT came to Shopify with internal systems already in place. We migrated the store and connected those systems, including integrations with individual local stores.
A guided bundle builder for a coffee subscription: the customer answers what they drink, how many drinkers there are, which roast they want and how many cups, picks their cups, and the built bundle is handed straight to Recharge.
A cake marketplace connecting customers to vendors across Malaysia. We built the back end that decides what can actually be delivered: each vendor has a daily capacity and each cake a lead time, and together they determine which dates and time slots a customer is offered at checkout.
Trunki moved from Magento to Shopify Plus, with a configurator for the custom, one-off ride-on designs the brand is known for. We have managed the store since.
Moonglow sells jewellery set to the moon phase of a date that matters to you. We built Find Your Moon: the customer enters a date of birth or other significant date, the store renders that moon phase, and it drives the personalised product.
Whichever is cheaper to own. A middleware platform is right when the flows are standard; custom code wins when the business rules are specific, because you are not paying per operation forever.
Yes, through locations. The work is usually in keeping the source of truth straight between your ERP, the stores and Shopify.
We have worked with the common mid-market and enterprise systems — NetSuite, Microsoft Dynamics, SAP and Brightpearl among them — and with bespoke internal systems, which is often what mid-market retailers actually have. The integration approach is the same: map the flows, settle ownership, design for failure.
Typically four to eight weeks for a standard product, inventory, order and fulfilment sync. Longer when pricing logic is complex, when multiple locations or stores are involved, or when the ERP side needs changes too.
Almost always two systems both believing they own inventory, combined with a sync that is slower than the sales rate during a peak. The fix is a single owning system per location plus near-real-time decrements, not a faster full sync.
Bundle builders and subscription logic that hand off cleanly to Recharge, as built for Tayst Coffee.
When the logic does not fit an app: vendor capacity, delivery scheduling, made-to-order queues.
Build-your-own product flows, from Trunki custom designs to date-driven personalisation at Moonglow.
Migrating and integrating at once? See migration services. Multi-region inventory adds its own layer: Shopify Markets.
NEXT STEP
Vendor capacity engines, bundle builders and configurators are the work we are asked for most. Tell us the rule set.