Wired to the shelf.

A Shopify shop and a workshop run two stock systems that never talk. Online orders get retyped after dinner, or not at all. The shop keeps selling jars that were never made, and the first sign of trouble is an oversold weekend.

Connect the shop once, on Shopify’s own authorize page. From then on its orders arrive as sales orders that reserve stock, and the shop is only offered what you can actually ship.

01Sales channels

Every pull, on the record

Orders are pulled on a schedule and on demand, and every pull answers for itself. This morning’s saw 3 orders: it imported #1042 as a confirmed sales order, applied the edit a buyer made on another, and held one whole because its listing is not mapped yet. The waiting row names the listing, links to the mapping queue filtered to it, and a Retry button finishes the job. No order half-imports, and no order ever imports twice.

A connected Shopify shop in BatchDash: the connection state over its pull history, one order needing attention.
02Sales channels

One loop, both directions

An imported order is a normal sales order: reference minted, the buyer kept as a customer, the Shopify number linked back to the shop’s admin. From there, the rest of the system already knows what to do.

  • Confirming reserves stock the moment an order arrives, so the weekend’s online sales hold their jars before you open the workshop.
  • Stock push writes one figure, Available. After a production day the jar listing reads 22; once a wholesale order promises 30 of them, the next push writes the honest zero.
  • A batch held for its release check is invisible to the shop. Releasing it is what puts it on sale.
03Sales channels

Your shop stays yours

BatchDash writes exactly one thing to Shopify: inventory quantities, for the listings you mapped, at the location you chose. Push starts off, runs on a button when you want it, and goes automatic within minutes when you trust it.

Prices, titles, images and the shop’s continue-selling policy are never touched. When the shop cancels or refunds an order, pull history says so in plain words and leaves your figures to you.

Cost your first formula this afternoon.

Open a workspace, add a few ingredients with their prices, and build one formula. You'll see where the real cost lands, per jar, per liter or per 100 g, before your next run. No demo to sit through.