Shopify
Two-way sync of orders, inventory, and customers. Multi-store supported. Customer dedup across channels.
What's connected
| Surface | Sync direction | Notes |
|---|---|---|
| Orders | Two-way | Status, fulfillment, refunds. |
| Inventory | Two-way | Per-location stock with the reservation ledger. |
| Customers | Two-way | Deduped against other channels. |
| Products & variants | Two-way | SKU is the canonical join key. |
Connect
Connect from Settings → Integrations → Shopify. The connection is store-level, not per-user, and managed by an Admin. Multi-store works — each store is a distinct connection with its own settings and stock pool.
Order lifecycle
When a Shopify order is placed:
- ThorStack creates the order record.
- The relevant SKUs are reserved at the warehouse Shopify reports the inventory at.
- The reservation propagates to other channels (Etsy, etc.) so you don't oversell.
- When the order ships in Shopify (or in ThorStack's fulfillment view), the reservation becomes a deduction.
Refunds and partial fulfillments round-trip cleanly.
Inventory
Inventory sync is eventually consistent — channels see updates within seconds, not milliseconds. The reservation ledger guards against the race where two channels sell the last unit at the same moment.
Customer dedup
Shopify customers are deduplicated against other channels (Etsy, manual entries, CRM contacts) on email + name + shipping address. Lifetime value rolls up across channels for the same person.