No results found
Try adjusting your search terms
Client
Confidential (Canadian educational-supply retailer)
Industry
Business to business (B2B)
Shopify Plan
Plus
Project Duration
Dec 2025 - Apr 2026

A long-running Canadian educational-supply retailer serving childcare centres, schools, and the broader B2B and DTC market. They migrated their storefront to Shopify in late 2025 from a legacy platform, bringing a catalog of bundled and multi-variant products with them.
Childcare centres, schools and educational institutions buying on B2B terms, alongside a direct-to-consumer storefront. B2B customers order on a mix of payment methods — bank deposit, manual card capture, and purchase orders on terms — each needing its own fulfillment workflow.
Rebuild the operational logic that had no native home on Shopify after the migration: keep bundle inventory accurate against its components, classify B2B orders by payment method automatically, bring customer-segment data from an external marketing system into Shopify, and keep catalog tagging current — without adding a paid app and a recurring bill for each one.
Three gaps surfaced once orders started flowing.
Bundle recompute was broken. The automation meant to roll component price and inventory changes up to the bundle parent fired inconsistently. Thirteen bundles drifted out of sync — one advertised 74 units available against a true component-derived total of 63.
B2B orders were classified by eye. Bank deposit, manual card capture and purchase-order-on-terms each need a different fulfillment path, and the team read payment data off every order by hand.
Customer-segment knowledge was trapped outside Shopify. The team knew which customers belonged to which segment, but that data lived in their marketing system, out of reach of the storefront.
Baseline Metrics(before the project)
Shopify Flow was the obvious place to start — it's what Shopify itself points merchants at for backend automation, and the previous agency had already built the bundle recompute there. It didn't hold. Flow is genuinely good at linear when-X-do-Y work, but it struggles when the answer depends on rolling up a variable set of child records and comparing the result to what's already stored, which is exactly what the bundle maths required.
The answer was one operations layer, hosted on cloud infrastructure the merchant owns end to end. It runs scheduled jobs, listens to Shopify events, exposes a password-protected web UI, and logs every run live so the team can see what ran and whether it succeeded.
Bundle Recompute — replaced the broken Flow. Recomputes each bundle's available inventory from its components and keeps it current as they change. Runs daily and on every product update.
B2B Order Tagger — classifies each order by payment method so the team sees the right fulfillment workflow at a glance. Retries on orders that arrive before payment data lands.
Customer-Segment Sync — keeps the Shopify customer-segment field current against the marketing system's source of truth. About 26,000 matchable contacts, synced daily, with retry on upstream API hiccups.
Tagging suite — auto-tags products by attribute: multi-variant, clearance, eBook, kit, and new-collection badge. 154 products tagged on the backfill; tags update in real time as the catalog changes.
Infrastructure handed over — the app moved into the merchant's own cloud account with zero downtime, and the code repository went to their in-house developer, audit-clean and ready to extend.
Used Shopify apps and theme
Operational gaps closed. Bundle recompute, B2B order tagging, customer-segment sync and catalog tagging all run on one operations layer the merchant owns — no subscription stack growing month over month for the same coverage.
Bundle data corrected. All 13 bundles were backfilled and reconciled to real component-derived totals, including the bundle advertising 74 units when only 63 were actually available. Bundles that previously had no index now have one, and it stays current automatically.
Infrastructure owned by the client. Their in-house developer can extend, audit and run the system without me as a single point of failure. It grows with the business rather than against it.
Baseline Metrics(after)