Skip to content

Order operations

The plumbing between Shopifyand everything else.

Your store, your ERP, your 3PL and your accounting system each hold their own version of what happened. They are supposed to agree. When they stop agreeing, nothing breaks loudly — the numbers just quietly stop being the same, and you find out from a customer.

The short answer

We build the integration layer between Shopify and the systems around it, and we make it provable: every event recorded before it is acted on, replays made safe, differences collected in an exception queue, and a weekly receipt stating what matched and what did not. The build is $9,500. Keeping it reconciled is $3,400 a month, and includes the quarterly API-version upgrade that otherwise arrives as an emergency.

Last updated August 2026.

Six ways two systems stop agreeing

None of these throw an error anybody sees. That is what makes them expensive — the cost is paid in oversells, duplicate picks and a month-end that does not tie out, long before anyone connects it to the integration.

A webhook was delivered once, and processed twice

Shopify retries a webhook it did not get a success response for. If the receiving endpoint did the work and then timed out before replying, the retry does the work again. Two fulfilment records, two picks at the warehouse, one order.

Every handler keys on the event id and records that it has seen it, so a replay is a no-op rather than a second write.

A webhook was never delivered at all

Retries are finite. An endpoint that is down long enough stops being retried, and the order simply never reaches the system on the other side. Nothing errors, because from Shopify’s side the conversation ended.

A reconciliation pass compares what Shopify holds against what the downstream system holds, on a schedule, so a gap surfaces as a row rather than as a customer complaint.

The same customer exists twice

One record created by the storefront, one by an import, differing by a trailing space or a capital letter. Order history splits across both, so lifetime value, segmentation and support history are all quietly wrong.

A deterministic identity rule applied at the boundary, plus a merge path for the records that already diverged.

Inventory says one thing in two places

The 3PL decrements on pick, Shopify decrements on order, and a return re-enters at whichever end handles it first. Over weeks the two counts separate, and the first visible symptom is an oversell.

One system is made authoritative per location, the other follows, and the difference is measured continuously instead of at stock-take.

Refunds and adjustments never reach accounting

Orders sync, refunds do not. Partial refunds, shipping adjustments and gift-card redemptions are frequently handled by a different object than the one the integration was built around.

The ledger models the full set of money-moving events, not just order creation, and every one is reconciled against the payout record.

An API version aged out and the integration went quiet

Shopify retires API versions on a published schedule. An integration pinned to a retired version does not fail loudly on the day — behaviour degrades, fields disappear, and the failure surfaces as missing data downstream.

The version is tracked as a dated obligation and upgraded on a quarterly cadence, ahead of retirement rather than after it.

What we actually build

Six components. The first three are what most integrations have; the last three are what separates one that is trusted in month six from one that has been quietly worked around.

01

Idempotent ingestion

Every inbound event is recorded before it is acted on, keyed so a duplicate delivery cannot produce a duplicate effect. Acknowledgement happens fast and the work happens after, so a slow downstream system never causes a retry storm.

02

A durable queue with retries you can see

Work that fails is retried with backoff and, when it stops being worth retrying, it lands somewhere a person can look at it. Nothing is dropped silently and nothing is retried forever.

03

A reconciliation ledger

An append-only record of what each system believed, and when. Reconciliation is then a query rather than an investigation, and any answer it gives can be traced back to the events that produced it.

04

An exception queue that is actually watched

Differences that need a human decision are collected in one place with the context needed to decide. This is the part most integrations skip, and it is the reason they are trusted for a quarter and then worked around forever.

05

Alerting with a threshold, not a firehose

A count that moves within normal trading is not an alert. A count that moves in a way normal trading does not explain is. Getting that line right is what keeps the alerts readable in month six.

06

A weekly reconciliation receipt

A short document that states what matched, what did not, and what was done about it. It exists so that "is it working" has an answer that is not somebody’s impression.

The exception queue

Illustrative · format only

Differences that need a decision, with enough context to make it. Not a log — a worklist that empties.

ReferenceDifferenceOpenResolution
#10482Order in Shopify, absent from the ERP2hReplayed; ERP accepted
#10461Refund not reflected in accounting9hNeeds a human decision
#10455Fulfilment recorded twice at the 3PL1dDuplicate suppressed
SKU-2213Inventory differs by 4 units1dAwaiting stock confirmation

These rows are invented to show the layout. Carrtel has no client data to publish and nothing above describes a real store.

What we connect

ERP and accounting

Order, refund and payout records reconciled against the ledger rather than assumed to match.

3PL and warehouse

Fulfilment, tracking and inventory movements in both directions, with the authoritative side stated explicitly.

Subscription and B2B flows

Recurring orders, net terms and customer-specific catalogs, which break most integrations built around a single retail order shape.

Marketplaces and other sales channels

Orders arriving from outside Shopify, normalised into the same ledger so reconciliation covers all of them.

If the system you need connected is not listed, ask. The honest answer is sometimes that a vendor's API cannot support what you want — and it is cheaper to hear that before an engagement than during one.

What it costs

Start here

$750

Tracking & Checkout Integrity Audit

Five business days. Establishes what your systems actually do rather than what they are believed to do. Credited in full against any project booked within 60 days.

The build

$9,500

Order Ops Bridge · 4 weeks

Ingestion, queue, ledger, exception queue, alerting and the weekly receipt. 30-day bug-fix warranty. Yours to keep, with no obligation to continue.

Keep it reconciled

$3,400/mo

Order Ops retainer

Middleware maintained, exception queue watched, quarterly API-version upgrade, and up to 12 fix-hours a month. Lighter option: Integrity Watch at $1,200/mo covers the money path without the middleware.

What the retainer does not cover

  • Defects inside third-party apps we did not build — we will identify and report them, and route them to the vendor.
  • Work blocked waiting on your ERP or 3PL vendor to act. We will chase, but their timeline is not ours to promise.
  • Platform incidents at Shopify or at a carrier.
  • Anything outside the agreed scope, which is quoted at $135/hour and approved by you before it starts, never discovered on an invoice.

If we miss an agreed delivery date, the remedy is a 25% credit toward the next engagement — a credit, not a cash refund. We would rather publish the exclusions than have you discover them during an engagement. How we work sets out scope, access and how you leave.

Access, scoped

A scoped app rather than blanket admin access. Credentials held encrypted, limited to what the integration reads and writes, and revoked when the engagement ends. Reading order records requires Shopify approval for protected customer data — obtaining it is part of onboarding, not something we assume we already have.

Yours at the end

All code, all accounts, all documentation. No lock-in period on the retainer and no proprietary layer you must keep paying for to keep using what you paid to have built. If you leave, handover is a deliverable rather than a favour.

Questions

How is this different from a Zapier or Make automation?
Those tools move an event from one system to another, which is the easy part. They do not hold a durable record of what each system believed, they do not make a replayed event safe to process twice, and they have nowhere for a difference that needs a human decision to go. When they miss something, nothing tells you — which is precisely the failure this service exists to remove.
What access do you need?
A scoped app on your store rather than blanket admin access, plus credentials for whichever systems are in scope. Access is held in an encrypted store, is limited to what the integration reads and writes, and is revoked at the end of the engagement. Reading order records requires Shopify approval for protected customer data, and obtaining it is part of onboarding rather than something we assume.
Who owns the code?
You do. Everything we build in or around your store is yours, along with the accounts it runs on and the documentation for it. There is no lock-in period on the retainer and no proprietary layer you have to keep paying for to keep using what you paid to have built.
What happens when Shopify changes an API version?
Shopify retires API versions on a published schedule. On the Order Ops retainer the upgrade is a quarterly obligation we carry out ahead of retirement. Without a retainer it is a change order — the work is real either way; the difference is whether it happens before the retirement date or after something has already gone quiet.
Can you take over an integration somebody else built?
Often, and the honest answer depends on what is there. The starting point is the $750 audit, which establishes what the current integration actually does versus what it is believed to do. Sometimes the finding is that it needs replacing, and we will say so plainly even though it is the more expensive answer.
What if we only want it built, not watched?
That is fine and it is a normal choice. The Order Ops Bridge at $9,500 is a fixed-price build with a 30-day bug-fix warranty and no obligation to continue. The retainer exists because reconciliation is a continuous property rather than a one-time state, not because the build is deliberately incomplete without it.

Start where it costs nothing

The free scan reads your public storefront and tells you what is visibly wrong. It will not see inside your order flow — that is what the audit is for — but it is a real answer in about a minute, and it is the honest first step.

Carrtel Solutions is a Shopify Partner. We build stores on Shopify.