The problem
This shop has traded for years. It sells to trade customers (other businesses) and to everyday shoppers. In late 2025 it moved its online shop to Shopify. The products moved over fine. But the old system had quietly done some jobs behind the scenes. Shopify had no built-in way to do them.
Three gaps showed up once orders started coming in:
- Bundle stock counts that did not update. A bundle is a set of products sold together. When a part's price or stock changed, the bundle should have changed too. The tool meant to do that was broken. Thirteen bundles showed wrong numbers. One said it had far more in stock than its parts allowed.
- Trade orders sorted by eye. Business customers pay in different ways: a bank deposit, a card charged by hand, or an invoice paid later. Each way needs a different packing and shipping routine. The team read the payment details off every order by hand.
- Customer groups kept outside Shopify. The team knew which customers belonged to which group. But that list lived in their marketing system. Shopify could not see it.
The fix
I built one system to do all three jobs. It runs on a cloud account the shop owns. Some jobs run on a timer. Others run the moment something changes in Shopify. The team has a password-protected screen to watch it. Every run is logged as it happens, so the team can see what ran and whether it worked.
The four parts:
- Bundle Recompute. This replaced the broken tool. It works out each bundle's stock from its parts, and keeps it current as the parts change. It runs every day, and again whenever a product is updated.
- B2B Order Tagger. It labels each order by how it was paid, so the team sees the right packing routine at a glance. If an order arrives before its payment details, it tries again later.
- Customer-Segment Sync. Every day it copies each customer's group from the marketing system into Shopify, so both say the same thing. It covers about 26,000 customers who appear in both. If the marketing system is slow to answer, it tries again.
- Product labels. It adds labels to products on its own: many sizes, clearance, downloads, kits, and a "new collection" badge. When a clearance sale ends, it takes that label off again. It labelled 154 products in the first new-collection run. Labels update the moment the catalogue changes.
The shop owns it. In April 2026 the system moved into the shop's own cloud account. Nothing went offline during the move. The code went to their own developer the same month, checked and ready to build on.
The wider work went further than this system. I moved the shop's design onto a modern setup. That came with a form that asks what kind of customer you are, and a minimum order quantity. Bundle pictures now change when you pick a part. I also built a sister brand's shop before it launched. It got the same search tool, and a quote-only version with no checkout.
What changed
Three gaps closed. Bundle counts, trade order labels, customer groups and product labels all run on one system the shop owns. No pile of monthly app fees doing the same work.
Bundle numbers put right. All 13 bundles were corrected. Wrong stock counts now match what the parts allow. The bundles that had no record before now have one.
Customer groups in both places. Around 26,000 customers now carry the same group in Shopify and in the marketing system. A daily run keeps it that way.
The shop owns the system. The system and its code went to the shop's own developer in April 2026. They can change it, check it and run it without me. If I vanished tomorrow, nothing would stop. The system grows with the business.
The client sells to trade customers and to everyday shoppers. The work runs from December 2025, and includes the sister brand's shop before launch. Published with the client's permission. Details are hidden at their request.