A product is the label identity your spirits bottle under — a spirit type, a label proof (the tax basis), and an origin — plus one or more fills. Any number of products can draw from the same spirit type: a tank of purchased GNS can bottle as “House Vodka” without renaming the liquid.
- Switch to Spirits if the Beer | Spirits tabs are showing.
- Top-right avatar → Products (same menu label as beer; Spirits industry context loads the spirits catalog).
Page header: Products. Button: New. Search: Type to filter... Filter: All, Active, Disabled (default Active).
Columns: Name, Brand, Spirit type, Label proof, Kind of spirits (mark), Origin.
Empty: “No spirits products yet” plus a short explanation of spirit type + label proof + origin + fills.
If the spirit type is disabled: red (disabled) with tooltip “This spirit type is disabled — re-point the product before new packaging runs.” Kind blank: red Not set, tooltip “Cases of this product print their required mark as incomplete until a Part 5 class and type is recorded (27 CFR 19.487).”
How to create a product
Headers: New Product / product name. Breadcrumb: Products → New, or Products → {name} → Edit.
- Click New.
- Name (required).
- Brand — placeholder Select a brand. Only Spirits brands.
- Spirit type — placeholder Select a spirit type. Active types only. Packaging will only offer products whose type matches the lot you are bottling.
- Live hint after spirit type: “Bottled cases of this product report on the {classification} line (Line {n}) of the Processing report.”
- Label proof (tax basis) — required, 1–200, step 0.1. Proof gallons on the case are computed at this proof, not at tank proof.
- Kind of spirits (Part 5 class and type). Helper: “Copy it from the approved label — it is the designation TTB approved, not the product's name. Vodka, gin and neutral spirits must also name what they were distilled from. Leave it blank and case marks for this product will print as incomplete.” Placeholder e.g. Bourbon Whisky, Cordial, Vodka distilled from grain.
- Origin (drives which Storage report) — Domestic / Imported / Puerto Rico / Virgin Islands. Origin must be domestic in this slice — imported, Puerto Rican, and Virgin Islands spirits are not supported yet.
- Click Save / Cancel. Toasts: Product created / Product updated.
If packaging runs already exist: “Packaging runs exist for this product. Already-packaged lots keep the label proof they were packaged under; this change affects only future runs.”
The product show page has an Edit button. Summary: Brand, Spirit type, Label proof (tax basis), Origin, Kind of spirits (case mark) (red Not set if blank), plus the same Processing-report sentence.
Package types first
A fill picks an existing package type. It does not invent a bottle size on the product.
Avatar → Package types → tab Bottles or Cans → New. Fields: Name, Capacity (required), Unit of Measure, Selling Unit, Bill of Materials, Save. Active bottle and can types are what the fill picker offers. Fill size + container come from the package type.
Fill size must be a TTB standard of fill (27 CFR 5.203). If it is not: “{n} mL is not a TTB standard of fill (27 CFR 5.203) — nearest legal size is {m} mL.”
Fills & case configurations
On the product page, heading Fills & case configurations. New reveals the add form. Empty: “No fills yet — add the first one with New.”
- Click New.
- Package type — active bottle and can types from Package types.
- Bottles/cans per case — required, min 1.
- Units/pack (RTD only) — optional.
- Disposition (default) — Standard domestic bottling, Imported, Bottled in bond, Bottled for export. Imported default is not supported yet — domestic spirits only.
- SKU — required.
- Click Add Fill → Fill added.
Table: Fill ({ml} mL bottle/can), SKU, Units/case, Units/pack, Disposition (short: Domestic / Imported / In bond / Export), PG / unit, PG / case, Label approval. Proof gallons per unit and per case are derived. You do not type them.
Row links: Edit, Bill of Materials (core BOM page). There is no Delete fill. A wrong size means adding a new fill. Size and container come from the package type and cannot be changed on Edit Fill — past packaging runs have already recorded them.
Label approval
The UI never says “COLA.” Edit on a fill → page Edit Fill, breadcrumb Products → {product} → Edit fill. Header: {ml} mL {bottle/can} — {product name}.
Heading Label approval: “A certificate of label approval covers one label, and labels differ by container and fill size — so this belongs to this fill rather than to the product. The formula approval lives on the recipe, not here.”
- Approval number — placeholder “as it reads on the certificate”
- Date approved
Also editable: SKU, Units per case, Units per pack (optional), Disposition. Save → Fill updated.
Show-page Label approval column: number + short date, or —. There is no file upload on products. Documents live on DSP Settings and the DSP directory.
Disable and delete
Row ⋮: Edit; Disable Item — confirm “Disable {name}”; Enable Item — confirm “Enable {name}”; Delete — confirm “Delete product.” Disabled with “Product is currently in use.”
Pro Tip: Set label proof to the proof on the bottle. If the tank is 81 proof and the label is 80, Ollie packages at 80. Gauge the remainder in the tank after the run.
Draft · Zendesk category: Ollie Ops — Distilling · Section: Getting Started · Wave 1. CX adds screenshots. Do not publish until this workflow is live for customers.