BrewCraft
Join the beta

Worked example

One batch, from the malt lot to the excise period.

A worked example of what a licensed brewery has to keep consistent: one batch of pale ale, followed through purchasing, the brewhouse, packaging, sale, the duty period and a mock recall. The producer is fictional and so is every figure; what matters is how the records fit together.

Figures are illustrative, from Kettle Creek Brewing Co., a fictional producer. No customer data appears anywhere on this site.

Step 1

Materials arrive as lots.

A purchase order is a promise; the receipt is the physical event. Each delivery becomes a material lot with the supplier’s lot code and its certificate of analysis — and the hop lot’s measured alpha acid, not the variety’s typical value, decides how much goes into the kettle.

  • ML-2610-A

    Canadian 2-row pale malt

  • ML-2610-B

    Munich malt

  • HL-2609-M

    Magnum hops

  • HL-2609-C

    Cascade hops

  • YH-2026-0188

    Yeast, third generation

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 2

Two brew sessions, one batch.

The fermenter holds twice what the brewhouse makes, so the batch is two brew sessions knocked out into one vessel. A batch and a brew session are different things for exactly this reason, and every material consumed is recorded against the batch in the same step as the inventory movement and the traceability link.

Batch
KC-2026-014
Fermenter
FV-3
Into the fermenter
3,003.0 L

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 3

Every litre accounted for.

Volume in equals volume packaged, plus what is still on hand, plus every recorded loss — exactly, with no tolerance band. A transfer records both the volume that left and the volume that arrived, and the difference is a loss with a reason, never a rounding.

Every litre that entered the vessel, and where each one went.
Term Volume
Packaged 2,870.4 L
473 mL cans and 50 L kegs. This is the volume duty is assessed on.
Tank heel 68.0 L
Left in the cone. Still on hand, not a loss — it is measured, not estimated.
Transfer loss 17.0 L
The difference between what left the fermenter and what arrived in the brite tank.
Packaging line 47.6 L
Line waste and twelve rejected cans, recorded in the same transaction as the run.
Into FV-3 3,003.0 L
Remainder 0.0 L
Batch KC-2026-014, from FV-3 to the package. Each litre the batch gives up is named where it happened, and nothing is left unexplained.

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 4

Beer duty is assessed at packaging.

Under the Excise Act, beer duty is assessed on what is packaged each production day — not when it is brewed, not when it is sold, and not when it leaves the building. BrewCraft applies the rate in force on that production day, from a dated table that cites its published source.

In this example, 2,870.4 L was packaged into cans and kegs, and all of it was assessed at packaging.

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

The same ledger, as it is stored: one row per event, each with the duty status it left the beer in.
Event Volume Duty status
Fermenter FV-3 Fermentation complete 3,003.000 L Process stock
Process stock. Nothing is assessed yet, and the ledger says so.
Brite tank BT-2 Transfer · 17.000 L loss recorded 2,918.000 L Process stock
Still process stock. 68.000 L stays behind as a measured tank heel.
Packaging run 473 mL cans and 50 L kegs · 47.600 L line waste 2,870.400 L Assessed
Duty is assessed HERE, on the production day. Not at the sale. Not at the shipment.
Finished goods On the pallet, unsold, nobody has ordered it 2,870.400 L Assessed
Already assessed, though nobody has ordered it. This is the part people get wrong.
Shipped Provincial board order, 2,880 cans 1,362.240 L Assessed
Shipping is not a duty event for beer, so the status does not move. The period’s remittance is what makes it duty-paid.
Beer duty is assessed when the beer is packaged. By the fourth stop the whole run is assessed, and none of it has been sold.

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 5

Release, then sale.

Nothing ships until quality release is signed. Then the board order goes out, kegs go to a licensee and the taproom — and for beer, none of it changes the duty status: the beer was assessed when it was packaged. A keg leaving the dock is three records at once: beer sold, an asset moved, a deposit owed.

Provincial board order
2,880 cans · 1,362.240 L
Duty status after shipping
Unchanged — assessed at packaging

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 6

The period that will not close — on purpose.

At period end the assessed volume must equal duty paid, plus exported, plus destroyed, plus returned to process stock. Here it does not: the quality-control retention samples have no published treatment, so that volume cannot be placed in any term. The reconciliation stays open rather than inventing an answer.

Assessed
2,870.400 L
Accounted for
2,864.724 L
Unresolved (QC retention samples)
5.676 L

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Of the accounted-for volume, 2,864.724 L is duty paid — including beer still in the cold room, because assessment is the liability.

A beer duty period under the Excise Act, reconciled line by line in the return’s own terms. The last row is the one that matters.
Line Volume
Assessed at packaging 2,870.400 L
= 28.704 hL
Duty paid −2,864.724 L
Including assessed beer still in the cold room. Shipping it does not change this line.
Exported 0.000 L
None this period
Destroyed 0.000 L
None this period
Returned to process stock 0.000 L
None this period
Accounted for 2,864.724 L
Unresolved 5.676 L
QC retention samples

No return produced

5.676 L of assessed product is unaccounted for, and the reason it is unaccounted for has no published answer.

The rule
A duty period only closes when every litre reconciles. There is no tolerance band, and no setting that adds one.
The open question
Whether a quality-control retention sample drawn from packaged, assessed beer is duty-paid, destroyed, or neither. No published source answers it. BrewCraft marks it as an open question rather than guessing.
What happens instead
The period stays open, the unexplained volume is named on screen, and the question stays on our list of questions with no published answer, with the date it was last reviewed. It is never filled in with a default, and never with zero.
A beer duty period under the Excise Act: two figures that do not match, a difference nobody can explain from a published source, and a return that is therefore not produced.

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 7

Traced both ways.

Start from the malt lot and every finished lot it reached, and every destination of those lots, is one walk through recorded links. Start from a can and you reach every material lot behind it. Each link was written in the same step as the movement that created it.

Suspect lot

ML-2610-A · Canadian 2-row pale malt

Went into batch KC-2026-014. The other four inputs are not implicated and stay out of the recall.

  • FG-2026-0781 · 4,800 × 473 mL cans

    • Provincial board order 2,880 cans
    • On hand 1,908 cans
    • QC retention 12 cans
  • FG-2026-0782 · 12 × 50 L kegs

    • Licensee 8 kegs
    • Taproom 2 kegs
    • On hand 2 kegs
A mock recall from one suspect malt lot: every batch it went into, every finished lot, and every place those lots went — with nothing lost between hops.

Illustrative figures from Kettle Creek Brewing Co., a fictional producer.

Step 8

Five amounts on one order, kept apart.

The board order carries excise duty, the board’s markup, a container deposit, a stewardship fee and sales tax. Different payees, different bases, and only one of them comes back. BrewCraft looks each one up from a dated table that cites its source, and keeps them as separate amounts.

How each amount on a board order works
Amount Paid to How it applies Comes back?
Excise duty Canada Revenue Agency Assessed at packaging on the volume packaged that production day. Shipping the order later does not change it. No
Provincial markup The provincial liquor board The board’s own formula, by province, container, strength and the producer’s volume. No
Container deposit The provincial deposit programme Per container, collected on sale and handed back when the empty returns. Yes — a liability, not revenue
Stewardship (EPR) fee The provincial recycling programme Per container, by material, to fund recycling. No
Sales tax Federal and provincial tax authorities Applied at sale, under place-of-supply rules. Recoverable as an input tax credit by a registrant

Questions

Questions this example tends to raise.

What is the difference between a duty-paid and a non-duty-paid litre?
A non-duty-paid litre is packaged wine, cider or mead held in an excise warehouse, where duty is imposed but not payable until it leaves. Beer has no non-duty-paid stage: its duty is assessed at packaging, and the litres become duty-paid once that period’s duty is remitted.
How do I run a mock recall?
Choose the suspect lot (a malt, hop or yeast lot, say) and BrewCraft follows it forward to every batch it went into, every finished lot made from those batches, every customer who received one, and what is still in your cold room. The links were written as the work happened, so nothing has to be pieced together on the day.
Is beer duty charged when the beer is sold?
No. Under the Excise Act, beer duty is assessed on the volume packaged each production day, so selling it, shipping it or moving it to the taproom does not change what is owed.
What happens to beer lost between tanks?
The transfer records the litres that left one vessel and the litres that arrived in the next, and the gap is written down as a loss with a reason in the same step. None of it disappears into a tolerance.

Your batches, followed the same way.

BrewCraft is in private beta, onboarding a limited number of Canadian producers. Early partners shape what it does next.