Lot, Case & Bottle Tracking
Every unit of stock — lot, case, or individual bottle — carries pack format, location, and bond status, with full lineage preserved when a lot splits or merges.
Platform
Bacchus ERP's full fine wine ERP feature set runs lot, case, and bottle stock tracking, bonded-warehouse status, duty and VAT, and en primeur allocation software inside one platform — no side spreadsheet, no separate allocation tool.
Every unit of stock — lot, case, or individual bottle — carries pack format, location, and bond status, with full lineage preserved when a lot splits or merges.
Bond status (en primeur, in bond, duty paid, in transit) is tracked across multiple warehouse locations and operators — including stock that’s sold before it has even landed.
A read-only, verifiable history of who has owned and where a lot has been stored, with an explicit account of what the data can and can’t confirm.
Run allocation campaigns bound to ordered quantities, issue multi-supplier purchase orders, and handle partial or short deliveries automatically.
Excise duty and VAT are calculated automatically at the right point in the movement, effective-dated so historical rate changes recompute exactly, with the scheme applied per your jurisdiction’s rules and a live preview calculator to check the figure before anything posts.
Ingest a warehouse’s storage charges, match them to client holdings, recharge with margin, and generate itemised storage and withdrawal invoices on a schedule.
A full draft-to-sold lifecycle for consignment and brokered stock, with sales and purchase orders generated automatically, net of commission, the moment a sale completes.
Every transaction posts to an immutable, append-only ledger with a live trial balance — the accounting backbone the rest of the platform builds on. Capitalised cost stranded by an inconsistent posting history is detected automatically, with a required-reason write-off for an operator to correct it deliberately, never a silent sweep.
Give clients visibility into their own holdings and statements, with self-service delivery and brokering requests, so routine questions stop going through a support inbox.
See your own stock alongside live wine market pricing in one screen, kept in step automatically as prices move, and send an order for execution from the same screen — confirmation-gated, idempotent, and fully logged through a broker-agnostic execution adapter.
Movement instructions to bonded-warehouse operators are generated and confirmed automatically the instant stock is released, with inbound stock reports reconciled against them, any mismatch flagged to a review queue, and a reminder raised if a confirmation runs overdue — across every operator and site.
Ledger postings sync automatically to your accounting platform through a queued, retried drain worker, so what happens in the ledger reaches your books without anyone re-keying it.
Automation
Most wine-trade admin is the same handful of consequences repeating. Stock lands, so a sale that was made in transit can finally settle. A case leaves bond, so duty and VAT fall due. A storage period closes, so somebody has to invoice for it. Bacchus ERP treats each of those as an event and does the follow-on work itself — while stopping short, on purpose, of anything that would mean inventing a number.
When a landing is recorded
Stock sold while it was still in transit is held as a claim: no money posted, no stock moved. The moment matching stock is recorded as landed, the deferred sale completes against the newly landed position — the money posts, the stock goes out, the claim closes. If only part of the consignment lands, the rest keeps waiting for the next one.
When a dispatch is recorded
Stock leaving bonded storage produces its own itemised withdrawal invoice, with duty and VAT calculated at withdrawal from the unit’s own bond status — and never charged a second time on stock that already settled it. One invoice per movement, however many times the dispatch is retried.
When a storage period closes
A daily check watches every storage rate’s own charging period. When one closes, that period’s storage invoices are raised against the holdings they belong to and recharged with your margin — exactly once per period, even if the check runs twice or someone triggers it by hand at the same moment. There is a preview mode for when you would rather look before anything is written.
When a sale completes
Every sale writes its own balanced double-entry postings, and the purchase costs capitalised against those units — delivery, handling — are relieved into cost of goods sold at the same moment, at the rate they were loaded at. The margin you read afterwards is the margin that actually happened.
When a consignment sells
A brokered sale generates the back-to-back sales order and purchase order in the same transaction, net of commission and fees, so a client’s stock going out and your obligation to them going on the books can never drift apart.
When a storefront order is paid
A paid order from your storefront is signature-verified on arrival, then — for whichever of these you have switched on — matched to the trade cycle it belongs to, and turned into that client’s reserve holdings without anyone re-keying them. Settlement itself is left to a person, deliberately; see the first rule below. The same order delivered twice does nothing the second time.
Automating the wrong thing in an accounting system is worse than not automating it at all. Three rules are built in.
Market Data
A market price is only worth what you can show behind it. Bacchus ERP sets your own holdings beside market data on one screen — and never puts a figure on that screen on its own. Every one arrives with the source it came from, which side of the market it represents, the moment it was captured, and whether that capture is still current. The rule that turns market data into the number you read is written down and deterministic: the same inputs re-derive the same figure, by hand if you want to check.
Price trend
Illustrative series| Month | Price per case |
|---|---|
| Mar 2024 | £1,712 |
| Apr 2024 | £1,728 |
| May 2024 | £1,745 |
| Jun 2024 | £1,736 |
| Jul 2024 | £1,760 |
| Aug 2024 | £1,782 |
| Sep 2024 | £1,775 |
| Oct 2024 | £1,804 |
| Nov 2024 | £1,826 |
| Dec 2024 | £1,818 |
| Jan 2025 | £1,848 |
| Feb 2025 | £1,872 |
| Mar 2025 | £1,890 |
| Apr 2025 | £1,874 |
| May 2025 | £1,908 |
| Jun 2025 | £1,936 |
| Jul 2025 | £1,958 |
| Aug 2025 | £1,944 |
| Sep 2025 | £1,982 |
| Oct 2025 | £2,014 |
| Nov 2025 | £2,036 |
| Dec 2025 | £2,022 |
| Jan 2026 | £2,058 |
| Feb 2026 | £2,090 |
| Mar 2026 | £2,116 |
| Apr 2026 | £2,098 |
| May 2026 | £2,140 |
| Jun 2026 | £2,176 |
| Jul 2026 | £2,208 |
| Aug 2026 | £2,242 |
Illustrative series on a generic sample wine. The wine is not a real one and the figures are not real market data — no market-data vendor’s prices are reproduced anywhere on this site. What is real is the shape: a per-wine series of derived figures, each one carrying its own derivation, which is what the record beside this chart sets out.
A number nobody can account for is not an asset, it is a liability. So a figure never travels alone: it carries the source it was taken from, which price it is, when it was captured, and whether that capture still counts as current — and the derivation itself is written down as one deterministic rule, so it can be read, checked and agreed before anyone trades on it.
Derivation record
One wine, one figureSample record. The values are invented; the fields are the ones the platform attaches to a real figure.
The same fields follow the figure outward. A client-facing surface renders the derived trend and the derivation that goes with it — price type, as-at, staleness — but never the name of the source behind it; that stays on the operator’s side of the line, and the line is enforced in the code rather than left to editorial care.
What you sell at stays a separate, deliberate decision. Channel and customer-group pricing resolves in one fixed order, and a floor price always wins — so a market figure informs the number you quote without ever becoming it by default.
Sending an order for execution starts from this same screen — confirmation-gated, idempotent and fully logged, through a broker-agnostic execution adapter.
Product Overview
Register new stock as a lot, case, or bottle the moment it enters the system — whether it’s an en primeur purchase, a trade acquisition, or a consignment from a client’s own reserves.
Track stock across bonded and duty-paid locations spanning multiple bonded-warehouse operators and their own storage sites, generate warehouse movement instructions the moment stock is released, and follow it through to a despatch note — including stock sold while it’s still in transit.
Run en primeur allocation campaigns bound to ordered quantities, sell direct or through consignment and brokering, and move stock from company-held to client-owned in a single atomic transaction, with built-in guardrails that stop the ownership-change sale from crediting stock back to the same entity that’s already holding it.
Calculate duty and VAT, recover cellarage storage costs from clients with margin, and post every transaction — including purchase costs, which are capitalised and automatically relieved into cost of goods sold at the point of sale — to a double-entry ledger with a live trial balance.
Ledger
A purchase is rarely just wine. There is delivery, there is handling, and if those land anywhere other than the wine’s own cost, the margin you report afterwards is not the margin you made. Bacchus ERP posts each of them as its own balanced ledger line, capitalises them against the units they belong to, and relieves them into cost of goods sold when those units sell.
Bordeaux grand vin 2019 — 5 cases, 12 × 75cl
Sample document. Not a real purchase, supplier or price.
| Account | Debit | Credit |
|---|---|---|
| Inventory — wine value | £3,900.00 | |
| Inventory — delivery provision | £96.00 | |
| Inventory — handling provision | £39.00 | |
| Trade creditors | £4,035.00 | |
| Totals | £4,035.00 | £4,035.00 |
A purchase posts the wine and its delivery and handling provisions as separate balanced GL lines against one credit to trade creditors. Because those charges are capitalised against the units they arrived with rather than swept into a general expense line, cost of goods sold is fully loaded when the case sells — £67.25 a bottle here, not £65.00 — and the margin you read back afterwards is the margin that actually happened.
Reversal of #4471 A correction posts a compensating entry against the original, with both sitting on the record. Nothing already posted is edited or deleted.
Duty & VAT preview
Read-only preview — nothing is posted.
One case, 12 × 75cl at 13.5% ABV, withdrawn from bond duty paid. Goods value £1,050.00.
Duty and VAT raised at withdrawal £254.64
One invoice per movement: a dispatch that is retried still raises this once.
The same case, left where it is. No withdrawal, so no withdrawal invoice.
Duty and VAT raised while it stays in bond £0.00
£37.20 falls due when the case is withdrawn, at whichever rate is in force that day. Stock that already settled duty is never charged it twice.
One case, 12 × 75cl of fortified wine at 20.0% ABV, withdrawn duty paid — on a book set to the margin scheme instead. Goods value £1,050.00, acquisition basis £780.00.
Duty and VAT raised at withdrawal £109.12
Same band, more duty: the charge follows the alcohol in the bottle, not the label on it.
Alcohol duty bands effective 1 February 2026, at a VAT rate of 20.0%. Bands and rates are effective-dated, so a movement dated before an uprating is still calculated at the rate that was in force on the day it happened. The VAT scheme is a setting on the book rather than a choice per transaction: the first two scenarios are one book on the standard scheme, and the third is a book set to the margin scheme instead. For the standard scheme, duty enters the taxable base on which VAT is calculated at a duty-point crossing like withdrawal from bond. For the margin scheme, duty sits beside the VAT figure rather than inside the base — the two schemes’ respective approaches are what the platform’s own preview calculator applies. Figures are illustrative, on sample stock. Which scheme applies to your own transactions is a matter for you and your accountants; the platform calculates whichever one your book is set to.
Questions
A wine ERP has to treat wine in bond as a distinct stock state with its own tax consequences, not a variant of ordinary inventory. Bacchus ERP calculates UK excise duty and VAT automatically at the point wine actually leaves bond — not when it's purchased or landed. It uses whichever duty band and VAT scheme (standard or margin) was actually in force on the day of that specific withdrawal. The duty preview calculator above shows exactly how a withdrawal is worked out. Duty already settled at an earlier withdrawal is never recalculated and charged a second time on the same stock.
Bonded stock rarely stays with one warehouse operator forever. A system that models bond status per warehouse rather than per stock unit forces someone to reconcile positions by hand every time stock moves. Bacchus ERP tracks bond status as a property of the stock unit itself — en primeur, in bond, in transit, or duty paid — across every bonded-warehouse location and operator a merchant uses, so a case moving between warehouses stays on one continuous record. The whole model is built around the movement rather than around a single shelf. Movement instructions are generated and confirmed automatically the instant stock is released, with any mismatch against the warehouse's own inbound report flagged to a review queue rather than discovered at the next stocktake.
Questions
Both. Every unit of stock — lot, case, or individual bottle — carries its own pack format, warehouse location, and bond status. Full lineage is preserved when a lot splits or merges, so a single bottle can still be traced back to the lot it came from.
Yes. Excise duty and VAT are calculated automatically at the point of withdrawal from bond. They are effective-dated, so historical rate changes recompute exactly, with the scheme applied per your jurisdiction's rules. A live preview calculator checks the figure before anything posts.
Yes. Bacchus ERP connects live to Shopify, Xero, Liv-ex, LiveTrade/Bordeaux Index, and bonded-warehouse operators, on top of a double-entry, append-only ledger.
A single atomic ownership change moves the stock unit out of company stock and onto the client's holding. Both sides of the ledger entry are written in the same transaction. The unit's full provenance history is carried forward rather than starting again on the far side.
Bacchus ERP calculates UK excise duty and VAT automatically at the point wine actually leaves bond. It uses whichever duty band and VAT scheme was in force on the day of that specific withdrawal. Duty already settled at an earlier withdrawal is never charged a second time on the same stock.
Bond status is tracked as a property of the stock unit itself, not of any one warehouse's own system. Bonded stock held across multiple warehouse locations and operators therefore stays on one continuous record. Movement instructions are generated and confirmed automatically the instant stock is released.
Go Deeper
Stock tracked at lot, case, and bottle level, with bond and duty status attached to every unit — not one count per warehouse.
Bottle-level inventory, bonded-warehouse tracking, market-aware trading, duty and VAT, en primeur allocation, and one ledger — on a single platform.
ABV-based UK excise duty, VAT-scheme calculation, effective-dated bands, and a read-only preview before anything posts.
What actually breaks in a wine-trade ERP migration — legacy data, bonded stock, open en primeur allocations, ledger balances — and a realistic cutover timeline.
“Wine software” mixes four different products — winery production systems, cellar apps, inventory tools, and merchant trade ERP. How to tell them apart.
Producer-side production tracking and merchant-side bond, duty, and ledger management solve different problems. Here’s the split.