We build and run the integration layer between enterprise ERPs and Shopify Plus. Deployed single-tenant for each client, watchable in production, and priced as a build, not a subscription that renews forever.
Makro.Integration · in production since 2014 · 23 enterprise integrations · 1,756 automated tests
What you actually get
One surface, switch between the two. The admin UI your team watches in production, and the documentation your engineers and ours work from.
| Time | Entity | Error class | Attempts | Next | Action |
|---|---|---|---|---|---|
| 08:13:04 | order · #SO-10288 | PERMANENT · validation | 3 / 3 | held | Inspect |
| 07:55:22 | company · CUST-00910 | TRANSIENT · timeout | 2 / 5 | 09:50 | Retry now |
| 06:40:11 | product · ITEM-44120 | RATE_LIMIT | 1 / 5 | paced | Inspect |
Every record carries three identities at once. The middleware reads this row before every write and decides create, update, or skip.
Sync a record twice and it updates. Delete and recreate it in one system, and the mapping still holds in the other. This is what stops duplicate customers and double-posted orders before they reach your ledger.
Change detection runs on the stored checksum, so a catalog of 50,000 items with 12 real edits syncs 12 records, not 50,000.
entity key map · every id matched before write
The position
What is actually in it
Ten engineered subsystems, each one a thing a connector subscription either charges extra for or does not have. This is the parts list.
schedules, sequences and checkpoints every job
three identities per record: ERP id · canonical UUID · Shopify GID
10 transform types · per-tenant config · no code changes
7 failure classes, each with its own retry strategy
failed records held, inspected, replayed · never lost
per-endpoint · trips on downstream failure, heals itself
long jobs resume where they stopped, never restart
append-only · every operation, source-tagged
compares both systems daily · catches what live sync missed
one contract per ERP · new systems plug in, core untouched
The trace
A buyer places a B2B order on Shopify. This is the actual path it takes through the middleware, span by span, the way your team would see it when they ask what happened. Sample run shown.
change detection · checksums, not brute force
SHA-256 checksum per record · watermarked delta reads · version vectors for conflicts
ERP coverage
Every ERP sits behind the same adapter contract: the sync engine, mapping layer, error handling and Shopify integration never change. What changes per system is only how we speak to it. Each card opens the live integration page for that system.
not listed? if it has an API, it fits the contract
Security posture
The math
A connector platform is not a purchase. It is a meter. The one below is set to a typical $40,000-a-year enterprise contract, accruing in real time while you read this page. This is what a connector bills, not Makro.
That is the meter at $40,000 a year. It does not pause for the months nothing changes, and it resets to full price every renewal.
Illustrative at list pricing. Enterprise iPaaS contracts commonly run $30,000 to $100,000+ a year; ERP-side commerce licensing can add $48,000 to $120,000 a year on top. Your actual quote is the number to bring to the session.
Makro Middleware is scoped and priced as an engineering engagement: a build with a support agreement. No per-record tiers, no per-connector fees, no platform seat.
The meter never starts.
Questions, answered
The questions that come up in working sessions, answered the way we answer them there. Bring the rest to the session.
A real conversation about your ERP, your data shapes, and what the integration should cost when nobody is renting you a pipe.