Batches

The list

The batch list

Batches is the registry: every batch with its code, name, style, status, and brew date. Sort by clicking the column headers. Row checkboxes allow bulk deletion — that is the hard-delete escape hatch for genuine mistakes (a batch created twice), not the normal lifecycle; a finished batch simply becomes completed, a dumped one discarded.

Two buttons open panels right here:

  • + New manual batch — code, name, style, volume per turn, turns, fermentation/conditioning days, planned brew date. The plan facts power the chain suggestion, so the more you fill in, the better the suggestion.
  • Import from Brewfather — once connected (Configuration), pick batches from the list; already-imported rows are grayed. Re-importing refreshes the recipe facts and never touches your planning.

The batch page

A batch: header, mini-timeline, chain, packaging

The header states the facts — status, source, style, volume (turns × per-turn), planned days, brew date — and the mini-timeline draws the chain in one line. Move whole chain ◀ ▶ shifts every booking and event by whole days, all-or-nothing: if any part would collide with another batch, nothing moves.

The booking chain

The chain is the batch's life as an ordered list of bookings. Each row: stage, vessel, dates, volume, and its events. You can:

  • Suggest chain from plan — Batchmother proposes the whole chain from the batch facts: brew day(s), a fermenter that fits (or several, when the batch is bigger than any one tank), conditioning in a free vessel of your default type, events on their recipe days. Review, adjust, create all at once.
  • Add bookings by hand — the form pre-selects the next stage, seeds dates from the previous booking's end, and interlocks Start / Duration / End so typing any one adjusts the others. Only vessels that are free and the right type for the stage are offered; occupied ones are listed with when they free up.
  • Add events — each stage offers its valid events (dry hop and cold crash during fermentation; carbonation from conditioning on, with an optional duration). Dates default to counting from the booking's end, the way brewers think ("dry hop 4 days before the end").
  • Close open bookings — a serving keg has no planned end; when it comes back, mark it returned and the open tail becomes exact history.

Deleting a booking is allowed while planning — but not if it is a keg fill belonging to a completed package run (see below).

Packaging

Packaging: fills, lots, runs with L-codes

The Packaging card leads with the number that matters: litres still to package (total volume minus filled kegs and recorded lots).

  • Fill kegs — tick free kegs and a date. Each fill books the keg to the batch until returned.
  • Record can/bottle lot — format, size (from your configured list, with a suggested quantity from the remaining litres), quantity, date. The Best-before / label text field is exactly that — free label text; the identity lives in the L-code.

The first fill or lot on a given day starts an open package run with its generated L-code; everything else you package that day joins the same run. When the day's packaging is done, press Complete… — name, label version, checklist ticks, packaging-material lots — as your trace level requires (Trace & recall has the details). A completed run is journal: its kegs and lots can no longer be deleted one by one, so a printed L-code always traces to its records.

Supplier lots

The Supplier lots card holds the batch's ingredient lot numbers — malt, hops, yeast — as free text. This is the "one step back" of traceability: the link into your suppliers' own paperwork. At the Attest and Checklist trace levels, a run cannot complete until the batch carries at least one.

Next: Trace & recall — what all of this buys you.