Production Records
A production record is the legally-required record of a single physical batch’s production for federal alcohol compliance. Every batch under the TTB compliance regime must have one before it can move to Closed. The records aggregate up into the Monthly TTB Report that gets filed with the Alcohol and Tobacco Tax and Trade Bureau.
TTB = Alcohol and Tobacco Tax and Trade Bureau, the federal agency that regulates beverage alcohol producers in the US. DSP = Distilled Spirits Plant, the federal designation for a permitted distillery.
When a production record is required
| Product compliance regime | Production record required? |
|---|---|
| TTB (most spirits, some wines, some beers) | Yes — gate to closing the batch. |
| None (non-alcoholic, exempt categories) | No. |
The regime is set on the product, inherited by the batch at creation, and frozen for the life of the batch. You cannot change a batch’s regime mid-run.
Pages
Production record list
A flat list of every production record across all batches, with status filters: Draft / Submitted / Filed. Click a row to open the record for that batch. The page subtitle is “Federal alcohol production records by batch.”
When opened from a batch detail view, vestl narrows the list to that batch only. Soft-deleted production records are never shown in either the all-records view or the batch-scoped view.
Single production record
The record form for one specific production batch. vestl auto-creates a draft record for the batch if none exists, then opens it for editing.
The page is a structured form with three sections:
- Identity — DSP number, formula number, product class, production date, bottling date.
- Volumes — volume in (gallons), volume out (gallons), losses (auto-computed), ABV %, proof gallons (auto-computed), proof gallons lost (auto-computed).
- Filing — status, notes, audit trail of every change.
Volume and proof-gallon math is computed for you, not entered by hand:
- Losses (gallons) = volume in − volume out
- Proof gallons = volume out × ABV % ÷ 50 (the federal definition: one proof gallon = one US gallon at 100 proof, i.e. 50% ABV)
- Proof gallons lost = losses (gallons) × ABV % ÷ 50 — the loss leg expressed in proof gallons, so the record reports proof gallons both produced and lost.
You enter the inputs; vestl computes the rest. This eliminates a class of TTB filing errors.
Lifecycle
A production record progresses through three statuses:
| Status | What it means | What advances it |
|---|---|---|
| Draft | Record is being filled in. Editable. | Submit the record (locks the volumes and proof-gallon math). |
| Submitted | Record is internally signed off. The numbers are committed and feed the monthly report. | A monthly report is filed that includes this record. |
| Filed | Included in a filed monthly TTB report to the federal government. Read-only forever. | — |
A Filed record cannot be edited under any circumstances — that is the whole point of the audit chain. If you discover an error after filing, file an amended monthly report rather than mutating the original record.
Field reference
Production batch
The physical batch this record covers. One production record per production batch — the batch is set when the record is first created and cannot be changed afterwards.
DSP number
Your federally-issued Distilled Spirits Plant number (format DSP-XX-NNNNN for traditional permits, DSP-AB-NNNNN for the newer alphabetic series). Set on the facility under Settings → Facilities — a permit is bonded to a premises, so it lives on the site. New production records default their DSP number from the facility permit; it stays editable so multi-site operators can pick the right premises. The number is copied onto each record so it stands alone if your DSP number ever changes (e.g. after a relocation).
Formula number
The TTB-issued formula approval number for the product. Pulled from the product’s TTB Formula # if set; otherwise blank for products that don’t require a formula approval (e.g. base spirits, certain wines, unmodified beers). Required on the record for products that do.
Product class
The TTB product classification. Common values: Distilled Spirits Specialty, Whisky, Vodka, Gin, Rum, Brandy, Cordials and Liqueurs, Wine, Malt Beverage. Drives which monthly report forms aggregate this batch’s proof gallons.
Production date
The date production started — typically the day the batch transitioned to In progress on the Batches board. Used to determine which monthly report the batch belongs to.
Bottling date
The date packaging completed. Optional; if not set, the batch is treated as bulk inventory until bottled. Bottling crosses certain federal thresholds (e.g. label-claim ABV must match within ±0.3% on the COA at bottling time).
Volume in (gallons)
What you put into the production batch — the sum of input liquid volumes converted to wine gallons. Drives losses computation.
Volume out (gallons)
What came out of the production batch — finished liquid volume in wine gallons, before bottling losses. Drives proof-gallon and losses computation.
Losses (gallons)
Auto-computed as volume in − volume out. Represents production losses (evaporation, sediment, line losses, sampling). Federally reportable; large losses may trigger TTB inquiry and require a deviation report.
ABV % (alcohol by volume)
The actual measured ABV of the finished liquid as a percentage. Pulled from the batch’s COA if one exists; otherwise entered manually here. Drives proof-gallon math.
Proof gallons
Auto-computed as volume out × ABV % ÷ 50. The federal unit for excise tax and reporting. One proof gallon = one US gallon at 100 proof (50% ABV), so a 100-gallon batch at 40% ABV = 80 proof gallons. Aggregates into the monthly report’s total proof gallons produced.
Proof gallons lost
Auto-computed as losses (gallons) × ABV % ÷ 50 — the same formula as proof gallons, applied to the loss volume instead of the output volume. This expresses production losses in proof gallons (not just wine gallons), so the production record reports proof gallons both produced and lost. A 5-gallon loss at 40% ABV = 4 proof gallons lost.
Batch status
See “Lifecycle” above. Status drives editability (Draft → editable, Submitted/Filed → read-only).
Notes
Free-text. Use this for the things that don’t fit a field: a deviation note about an unusually high loss percentage, a retest date if ABV was recalculated, a reference to an internal investigation.
Monthly TTB Report
The monthly report rolls up all Submitted and Filed production records for a single calendar month into the form the federal government actually wants to see. One row per month, accessible from the Production Records page.
Aggregated fields:
- Total proof gallons produced — sum of proof gallons across non-draft production records for that month
- Total proof gallons on hand — inventory snapshot at month-end (entered manually)
- Total proof gallons removed — sum of proof gallons across non-draft removal records for that month (taxable removals)
A monthly report has two statuses:
- Draft — being assembled. The produced and removed totals are a snapshot taken when the report is created.
- Filed — submitted to the TTB. Read-only.
When you file a report, vestl re-aggregates the produced and removed totals one last time so any production or removal record added after the report was created (but before filing) is captured in the filed figures. Filing freezes the report row itself; it does not change the status of the underlying production or removal records — those lock individually when you mark each one Filed.
Removal records
A removal record captures a taxable removal from bond — finished cases leaving the bonded premises for tax purposes. Removals are recorded from the production run (the Run detail → TTB · Removal panel), because a run is the packaging pass that produced the finished cases.
Each removal stores a snapshot of the proof-gallon inputs at record time, so a later edit to the product’s recipe can’t retroactively change a filed federal figure:
- Cases removed — how many finished cases left the bond (you enter this; partial removals are allowed — it is not assumed to equal cases produced)
- Bottles per case and fill volume per bottle — from the run’s pinned packaging spec
- ABV — from the product (or its formula)
- Volume (gallons) = cases × bottles/case × fill (ml) ÷ 3785.41
- Proof gallons = volume × ABV ÷ 50
The proof gallons preview updates live as you type the case count. A removal can’t be recorded if the product has no ABV set, or if the run’s line has no DSP/TTB permit and you don’t supply one. Removals in a calendar month roll up into that month’s monthly-report Total proof gallons removed. A removal can’t be added to a month whose report is already Filed.
Like production records, removals are draft → submitted → filed, are audit-logged, and lock once Filed. This is a run-gauge removal (recorded at packaging), not a shipment-gauge removal.
Audit trail
Every change to a production record is captured in the audit trail with the user, timestamp, and field-level diff (old → new). The trail is append-only — vestl never updates or deletes audit entries. View it at Compliance → Audit Trail, filtered to Production Records.
The audit trail is what makes the system survive a TTB inspection: every value is traceable to a person and a time, and the historical state can be reconstructed for any prior date.
Why this matters
Federal alcohol compliance is strict liability — there is no “I didn’t know” defense for missing or incorrect records. A producer can lose their permit (and therefore their entire ability to operate) for systematic failures here. The TTB form fields and computation rules in this doc are the same ones the federal forms ask for; doing the math correctly inside vestl, with a tamper-evident audit trail, is what keeps you out of trouble.
If you have a real TTB inquiry, work with your compliance counsel — vestl gives you the records, not the legal advice.