Built inside a hot sauce company, for the people who make in jars.
A ferment that runs seven days, a pH that has to sit under 3.8, mango prices that double out of season, and a hundred jars that all need a lot number and a best-before date. The notebook holds it together until the day the auditor, the co-packer or one customer asks something precise.
BatchDash grew up inside a hot sauce workshop, and it shows: the demo you will click through is one, ferments, checkpoints, lot codes and all.
What this does for a jar of sauce
It connects four things a spreadsheet keeps apart: what an ingredient cost the day it landed, what the recipe says at the size you are making, what is on the shelf this morning, and what the finished batch owes to each of them. For sauces and preserves that means a ferment's pH checks sit on the same sheet as its yield, and the lot code on a jar walks back to the farm that grew the chilies.
The ferment is a recipe step, with a check on it
Lacto-ferments, reductions and rests are recipe steps with parameters on them. Salt and pack, seven days at 20 °C, a pH that has to land between 3.4 and 3.8. The sheet carries the checkpoint and its target, the batch takes the reading while it runs, and the reading is stored with who took it and when. Nothing seals while a check is still unanswered.

Margins that survive the seasons
Produce prices swing. Your figures should swing with them the day they move, not at the year end. Every ingredient keeps its own price history: the offers you have on file, the monthly unit cost, and your weighted average laid across it.
- The weighted average updates at every delivery, so August mangoes and January mangoes each cost what they really cost.
- Yield is part of the math: a batch reduced to 92% prices the evaporation into every jar.
- A price spike re-costs every affected recipe immediately, while there is still time to reprice the jar.

The mash you fermented feeds next month’s sauces
A ferment is a batch in its own right: it books its output under a lot code, onto a shelf, and the sauces draw it as a sub-formula. So the mash has a cost, an age and a quantity like anything you bought, and a sauce batch can either draw the mash that exists or plan the one it needs. Put a level on the mash and the day the shelf drops under it, the batch to make it turns up on its own.
The label prints from the batch that filled it
Point a design at a finished batch and the words fill themselves in: the declaration in descending order with the mash broken out into its own chilis, the allergens marked, the net quantity from the format, the lot and the best-before from that batch. Print a sheet on your own printer, or export a print-ready file with bleed and a cut line when the run goes to a print service.

One code, and the trail opens both ways
Type the lot off a jar. The screen names what it is, then opens in both directions: the deliveries and batches it came from, and the batches, movements and sales it went to. Every row is a real record you can open. When it is the supplier calling instead of a customer, start from their delivery code and the same answer arrives from the other end.

And the jars themselves, sold and counted
A wholesale order holds its jars the moment you confirm it, so the Saturday market cannot sell them a second time. Shipping a line draws real lots, books the sale at your weighted average cost and puts the order reference on the movement. Connect a Shopify shop and its orders arrive the same way. What is left on the shelf is what the screen says, which is the whole point of the ledger underneath.
Questions we hear before the first batch.
- Can I trace a jar back to a delivery?
- Both directions. A finished batch books its output under a lot code, and the run records the lots that went into it, so a jar walks back to the farm and a delivery walks forward to every jar it reached.
- Where do fermentation checks live?
- On the formula, as checkpoints on the step they belong to. The run sheet asks for the reading when the operator gets there, and the sealed record keeps what was written.
- Our chili price moves every season. Does the cost follow?
- Every delivery moves the ingredient weighted average cost, and every formula using it is recomputed. The margin you read is the one from the prices you actually paid.
- Does it know what the shop sold?
- Connect a Shopify store and its orders arrive as sales orders that reserve stock. The shop is only ever offered Available: released stock minus what is held or reserved.