$ storesmith build --automation

the manual steps your ops team does every morning, gone.

StoreSmith automates the manual steps behind a Shopify Plus store: ERP, PIM and WMS sync, B2B price tiers, order routing, Flow and scheduled jobs. Integrations that retry, reconcile and tell you when something didn't land — instead of a spreadsheet someone fixes by hand.

  • erp · pim · wms · pos
  • b2b on plus
  • webhooks + graphql
  • shopify flow

01 — what we build

your store, wired to the systems behind it.

Each integration has an owner, a source of truth per field and a record of every sync. You know what moved, when, and what failed.

erp · pos

inventory & order sync

Products, prices and stock in from your ERP or POS; orders, refunds and customers out; fulfilments back. One stock figure across online and stores.

pim

catalogue sync

Product data, variants, media and metafields from your PIM, pushed with bulk operations so large catalogues update without throttling the store.

b2b

b2b on shopify plus

Companies and locations, catalogues and price lists per customer segment, payment terms and quantity rules — kept in step with the ERP that owns them.

wms · 3pl

order routing & fulfilment

Orders sent to the right location, warehouse or 3PL by your rules, with tracking and status written back to the order.

flow

shopify flow, extended

Flow workflows for tagging, holds, alerts and approvals — plus custom triggers and actions when Flow needs to reach a system it doesn't know.

jobs

scheduled jobs & reports

Nightly reconciliations, price updates, feed exports and the reports your finance team rebuilds every week.

02 — typical architecture

event in, queued, applied, reconciled.

Webhooks tell us something changed. A queue absorbs bursts. Workers apply the change through the Admin GraphQL API or your system's API, and a scheduled pass catches anything a webhook missed.

  1. eventshopify webhook, erp export or a schedule
  2. queueordered, deduplicated, safe to retry
  3. applyadmin graphql api or bulk operation, within rate limits
  4. reconcilescheduled check against the source; drift flagged, not hidden
✓ idempotent

The same event applied twice changes nothing twice. Retries are safe, so failures can be retried automatically.

✓ observable

Every sync is logged with what was sent and what came back. Failures alert a person, not just a log file.

✓ one owner per field

Price from the ERP, copy from the PIM, stock from the WMS. Written down at scoping so two systems never fight over a field.

03 — when it's right

connector, flow, or custom build?

Not every integration needs custom code. We'll tell you which tier your problem sits in before we quote.

shopify flow vs a connector vs a custom build
optionwhat it coverschoose it when
shopify flowRules that live inside Shopify: tags, holds, notifications.The rule never leaves Shopify. Often no app is needed at all.
a connectorA maintained connector for your system. Our own connectors are listed below.It covers your system and your rules.
a custom buildSeveral systems, non-standard data, B2B pricing logic.Volumes or rules make an off-the-shelf sync fall over. This is where we spend most of our time.
not our focus
Template store setups and theme reskins. We'll point you to someone good.
how it's priced
Build sprints to deliver, then a retainer to keep integrations monitored and current with each Shopify release. See pricing.

05 — questions

common questions.

do i need a custom integration, or will shopify flow do?

If the rule lives inside Shopify (tags, holds, notifications), Shopify Flow often does it with no app at all. If a maintained connector covers your system and your rules, use it. A custom build is for several systems, non-standard data, B2B pricing logic or volumes where an off-the-shelf sync falls over.

how do you keep an erp and shopify in sync without losing orders?

Webhooks tell us something changed and a queue absorbs bursts. Workers apply each change through the Admin GraphQL API or your system’s API, and a scheduled pass reconciles against the source to catch anything a webhook missed. Every event is idempotent, so retries are safe, and every sync is logged with what was sent and what came back.

which system owns each field?

One owner per field, written down at scoping: for example price from the ERP, copy from the PIM and stock from the WMS. That way two systems never fight over a field.

what happens when a sync fails?

Failures alert a person, not just a log file. Drift found by the scheduled reconciliation is flagged, not hidden, and failed events can be retried automatically because applying the same event twice changes nothing twice.

06 — start

tell us what your team does by hand.

List the systems and the steps. An engineer replies with what we'd automate, what we'd leave alone, how long and roughly what it costs.