Stop discovering the missing 4 kg on the morning of the batch.

The stock sheet says one thing, the production plan another, and the order still gets typed from memory on Sunday evening. Then Thursday’s batch is short 4 kg of habanero, the fast vendor is out, and the week reorganizes itself around a shortage that was knowable ten days earlier.

The Buying screen does that cross-checking for you. BatchDash reads your planned batches and your restock levels, subtracts what the shelf holds and what is already on order, and lays out only what is left to buy, one decision per vendor. You arrive with the thinking done; the choices stay yours.

01Buying

One card per vendor, with the deadline on it

You stop assembling orders and start approving them. What is left to buy arrives grouped by the vendor it would come from, and every quantity is already a real order: whole packs, the vendor’s minimum honored, enough to clear the shortfall rather than land exactly on it. Each card knows the last day to order so the delivery still beats the batch, and says what that card costs. Filters narrow the list to what is short for planned batches, what has dropped under its restock level, or what nobody has ordered yet.

The Buying screen in BatchDash: what to order grouped by vendor, each card with its order-by date, its total, and the lines behind it.
02Buying

Every line says why it is there

Needed, on hand, on order, order this much: the arithmetic sits on the row, so a quantity is never a number you have to take on faith. The Why column names the batches waiting on it, with their dates, and links to each one. A line that no batch asked for says Below restock instead, because that is a different reason and should read like one. Overrule any quantity and the rest of the math follows it.

A vendor card in BatchDash Buying: needed against on hand and on order, the pack-rounded quantity, the arrival date, and the batches each line is for.
03Buying

BatchDash optimizes for the batch date, then the price

The cheapest line-by-line answer is often the worst basket, so the default vendor is picked the way a good buyer picks:

  • Among vendors that can deliver by the day the batch needs it, the cheapest wins. A ten-day supplier does not win a batch due Friday.
  • When one vendor could also cover lines sitting on another card, the card says what consolidating would cost or save, in euros, before you move anything.
  • It also says when the saving is a trap: moving the habanero here saves €30.80 and lands after the batch needs it, so the offer arrives with the reason to refuse it.
04Buying

Delivery is part of the price, until it is not

A vendor charging €12 to deliver is not the cheapest vendor at the same unit price, so the card carries both figures: what the goods cost, and what lands. And when a free-delivery threshold is within reach it says so in the only terms that matter, which is how much more it would take. Another €10.30 at this vendor and the charge disappears. That is usually one more line you were going to order anyway.

A vendor card in BatchDash Buying: the goods total beside the landed total with its delivery charge, and the line saying how much more would make delivery free.
05Buying

One click writes the draft orders

Tick the lines you want and Create orders writes one draft purchase order per vendor, quantities and prices carried over. Nothing is emailed, nothing is committed; a person reviews and sends. If a colleague is doing the ordering today, share the list and every tick and quantity saves as they work.

06Buying

Then it arrives, and rarely exactly

An order stays a document until something turns up. Receive a line and it books at what you actually paid, with the supplier’s lot and its best-before, so the ledger and the trace both get what they need from the same act. Twelve of the twenty kilos came: the line says so and the order reads Partial. The apricots are not coming at all before March, so you close that line short with the reason in your own words and it stops asking. The invoice can be photographed rather than typed, which is its own story.

A partly received purchase order in BatchDash: one line short of what was ordered, one closed short with its written reason, two still pending, and the total received so far.

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.

BatchDash is the system batch manufacturers run on: the whole life of a recipe, from the first bench test to the costed, sealed batch.

© 2026 BatchDash