Work
Shopify inventory sync for iirntree: handmade furniture without the spreadsheet
How iirntree, a handmade furniture store in Ajax, Ontario, stopped copying Shopify inventory counts by hand — a system integration case study.
iirntree makes custom handmade wooden furniture and home décor in Ajax, Ontario — floating shelves, tables, standing desks, benches, and kitchen pieces, each one built to order from a handpicked board and shipped across North America. It’s exactly the kind of business Shopify was built for, and exactly the kind of business Shopify’s default inventory model quietly fails.
This is what a system integration fix sprint looked like for them.
Problem
The team updated inventory in Shopify and a shared Google Sheet every day. Wholesale orders, returns, and workshop adjustments meant the two sources disagreed by afternoon.
Staff spent about an hour copying numbers, checking rows, and asking the workshop which count was real. Even after that work, the store still sold against stale inventory because one channel had changed before the other.
The owner had been quoted a larger platform change by another vendor. But the daily pain was narrower: the tools they already used were not staying in sync.
Why made-to-order inventory is different
Most Shopify inventory advice assumes you have a warehouse of identical SKUs. A made-to-order furniture business doesn’t work that way:
- The real constraint is materials rather than finished goods. “In stock” means the boards, hardware, and finish are on hand and the build queue has room, rather than a finished shelf sitting on a rack.
- Lead time is part of inventory. A standing desk that takes three weeks to build can’t be sold like a candle that ships tomorrow.
- One-of-a-kind pieces don’t restock. When a live-edge piece sells, that listing is done — but Shopify happily keeps it purchasable if a count is stale.
- Wholesale and custom orders bypass the storefront. They consume the same materials and build capacity, but never touch Shopify unless someone remembers to update it.
The spreadsheet existed because Shopify alone couldn’t answer “can we actually take this order?” The problem was that keeping the spreadsheet honest had become a daily manual job.
Business impact
- Oversells on popular pieces happened about twice a month
- Customer service spent time apologizing for cancelled orders on items that were never really available
- Workshop staff distrusted both systems and kept their own paper notes
- The owner could not see accurate stock without calling someone
- A simple “can we take this order?” question turned into a cross-team interruption
This was not a website-design problem or a marketing problem. It was operations software work: data moving between tools, rules applied consistently, and exceptions made visible.
What was broken
There was no single source of truth for sellable inventory. Shopify had one count. The spreadsheet had another. Wholesale orders sometimes bypassed the spreadsheet entirely. Returns and manual adjustments created more drift.
The team did not need a more beautiful spreadsheet. They needed a reliable data flow and a way to see mismatches before customers were affected.
What changed
- Shopify became the system of record for sellable inventory — one place where the number is true
- Automated sync pushed counts to the spreadsheet for the workshop staff who still relied on it
- Wholesale orders updated inventory through the same pipeline instead of a side channel
- Manual adjustments got a documented path — a workshop correction flows to both systems instead of creating drift
- A daily reconciliation report flagged mismatches before they affected customers
- Error cases were made visible instead of silently leaving stale numbers behind
- The owner got a simple stock view without interrupting the workshop
The implementation respected the tools already in place. The spreadsheet stayed because the workshop genuinely used it. The difference was that it stopped being the place where humans had to reconcile every number by hand.
Result
Manual inventory copy-paste dropped to zero for day-to-day operations. Oversell incidents stopped within the first month. Customer service had fewer cancelled-order conversations, and workshop staff stopped keeping separate paper notes for normal inventory questions.
The owner could check stock from one dashboard without calling the workshop — and get back to building furniture, which is the part of the business that actually earns money.
What this prevented
iirntree avoided a rushed replatforming project. The fix sprint connected and stabilized existing tools instead of replacing everything.
That mattered because the expensive proposal did not solve the immediate operational problem any faster. The business needed inventory rules, sync behavior, reconciliation, and supportable handoffs, rather than a new platform with the same sync gap.
FAQ
How do you sync Shopify inventory with a spreadsheet?
Pick one system of record (usually Shopify), then automate the flow to everything else — via Shopify’s API and webhooks, or middleware where it fits. The critical piece most setups skip is reconciliation: a scheduled check that compares the systems and flags drift, because every sync eventually hits an edge case.
Does this only work for Shopify?
No. The same pattern — one source of truth, automated propagation, visible exceptions — applies to any combination of ecommerce platform, POS, accounting tool, or spreadsheet. Shopify just happens to have a well-documented API that makes the work predictable.
What does a Shopify integration like this cost?
Far less than replatforming. A scoped fix sprint that connects existing tools is typically a few weeks of focused work with a fixed outcome, rather than an open-ended rebuild. If you want a number for your situation, a Business Systems Audit is the cheap first step.
Do you work with other Durham Region ecommerce businesses?
Yes — iirntree is in Ajax, and I work with ecommerce and service businesses across Durham Region and the GTA, as well as remotely across North America.
Related services
This was a System Integration fix sprint, with Ongoing Software Support keeping the sync healthy afterward. Similar situations often start with a Business Systems Audit.