Warehouse management (WMS) Shopify · WMS integration
Fiftify

Real-time two-way inventory sync between Shopify and Fiftify

Stock, orders and fulfillments move between Shopify and Fiftify with no manual exports: webhooks, an idempotent queue, and hourly full-state reconciliation.

Timeline 6 weeks
Year 2026
Key result
40 s

inventory sync latency, down from a once-a-day CSV export; drift between Shopify and the warehouse stays under 0.3%

Challenge and solution

Challenge

The Shopify store and the Fiftify warehouse lived apart: stock was pushed across by CSV export once a day. A lot fits into a day: overselling on bestsellers, cancellations on orders already paid for, manual stock edits that the next import silently overwrote.

They needed a sync that keeps both systems in one state and doesn't fall over when Shopify redelivers the same webhook while the warehouse API happens to be down.

Solution

We built an integration service in TypeScript. Shopify webhooks (orders, fulfillments, inventory) and Fiftify events land in a BullMQ queue; every event is idempotent by key, so redeliveries are dropped instead of double-counting stock.

Inventory levels go to Shopify through the Admin GraphQL API in rate-limit-aware batches, orders go to Fiftify for picking, and tracking numbers come back to Shopify and the customer.

On top of that runs an hourly full-state reconciliation: anything that has drifted lands in a report with the reason attached, rather than being quietly overwritten. Deployed in Docker, with metrics and alerts on queue lag.

Tech stack

Node.js TypeScript Shopify Admin GraphQL API Webhooks BullMQ Redis PostgreSQL Docker
View live
fiftify.com
Open website
Ready to start?

Could your store be the next case study?

Tell us about the project and we'll come back with an estimate.