================================================================================ MACKENZIE CRAFT BREWING CO. — BOOKKEEPER GUIDE Companion document to: index.html, pos.html, brewlog.html, distribution.html Last updated: May 2026 ================================================================================ ABOUT THIS DOCUMENT ------------------- This guide assists the bookkeeper in posting operational activities from the three MCB tools into the accounting system in a manner consistent with Generally Accepted Accounting Principles (GAAP) as applicable to a small Canadian corporation in BC. It covers revenue recognition, cost of goods, LDB remittance entries, GST treatment, and period-end procedures. IMPORTANT DISCLAIMER: This guide reflects general GAAP principles and the known regulatory structure of BC LDB direct sales as of May 2026. It is not a substitute for advice from a Chartered Professional Accountant (CPA). Confirm specific treatments with your CPA, particularly for inventory valuation, LDB mark-up classification, and any changes to LDB agreement terms. Source files referenced: - POS daily PDF report and DSWR CSV export (from pos.html) - Distribution Form 60 PDFs, DSWR CSV, and QBO import CSV (from distribution.html) - Brew Log production and spoilage CSV exports (from brewlog.html) - LDB PAD Settlement Notification (emailed by LDB ~Day 4 after batch submission) - LDB Cost Details for Direct Sales Report (emailed by LDB ~Day 3) - LDB Batch Control Summary (produced in DSWR on submission) ================================================================================ SECTION 1 — CHART OF ACCOUNTS FRAMEWORK ================================================================================ Suggested account structure for this brewery. Adapt to your existing COA. REVENUE 4100 Taproom Beer Sales 4110 Taproom Food Sales 4200 Packaged Beer Sales — Direct (LIC / hospitality accounts) 4210 Packaged Beer Sales — Wholesale (LRS / GRC accounts) 4220 Packaged Beer Sales — MOS (on-premise / manufacturer's onsite store) 4300 Beer of the Month Club Revenue [when activated] 4900 Other Revenue COST OF GOODS SOLD 5100 Raw Materials — Grain, Hops, Yeast, Adjuncts 5110 Packaging Materials — Cans, Kegs, Growlers, Labels 5120 Direct Labour — Brewing 5130 Overhead — Utilities, Equipment Maintenance (brewery share) 5200 LDB Provincial Mark-Up — Pipeline Sales 5210 LDB Provincial Mark-Up — Packaged Sales 5300 Spoilage / Brew Loss REGULATORY LIABILITIES 2300 GST Collected (liability) 2310 GST Paid — Input Tax Credits (contra / recoverable) 2350 LDB Remittance Payable ASSETS 1200 Inventory — Raw Materials 1210 Inventory — Work in Progress (fermenting) 1220 Inventory — Finished Goods (packaged, unshipped) 1230 Accounts Receivable — Trade (wholesale customers) 1240 Container Deposits Receivable (refundable deposits paid by customers) LIABILITIES 2200 Accounts Payable — Trade 2400 Container Deposits Held (deposits collected, to be refunded on return) ================================================================================ SECTION 2 — TAPROOM SALES (FROM POS) ================================================================================ SOURCE DOCUMENTS - POS daily PDF report (download via Export button) - POS DSWR CSV (reference document for litres by SKU — used with DSWR, not posted directly to accounting) FREQUENCY: Post daily, or at minimum weekly before DSWR submission. 2.1 REVENUE RECOGNITION ---------------------------------------------------------------------- Revenue is recognized at the point of sale — when beer or food is served and payment is received (cash or debit). There is no credit extended in the taproom. The POS daily PDF shows: - Total beer revenue by SKU - Total food revenue - GST collected (5% on all taproom sales) - Payment method totals (Cash / Debit/Card) JOURNAL ENTRY — Daily taproom sales: DR Cash / Debit Terminal Clearing [total collected incl. GST] CR Taproom Beer Sales (4100) [beer revenue ex-GST] CR Taproom Food Sales (4110) [food revenue ex-GST] CR GST Collected (2300) [5% of total ex-GST revenue] Note: Cash and debit/card receipts may be recorded together in a single bank clearing account and reconciled against the daily bank deposit. 2.2 LDB MARK-UP ON PIPELINE SALES ---------------------------------------------------------------------- For taproom tap beer, the LDB charges a provincial mark-up (malt levy) on litres sold. This is calculated by DSWR when you submit your weekly batch. The PAD Settlement Notification (received ~Day 4 after submission) states the exact amount debited. The mark-up is a cost of sales — it represents the price differential between what the brewery receives and what it paid as a producer. It is NOT a tax collected from the customer (customers pay your retail price; you remit the LDB's share from that revenue). JOURNAL ENTRY — On receipt of PAD Settlement Notification (pipeline): DR LDB Provincial Mark-Up — Pipeline (5200) [mark-up amount] DR LDB Provincial Mark-Up — Pipeline (5200) [GST on mark-up] CR Cash / Bank [total PAD withdrawal] OR, if accruing at week-end before PAD clears: DR LDB Provincial Mark-Up — Pipeline (5200) [mark-up + GST] CR LDB Remittance Payable (2350) [liability until PAD clears] Then on PAD clearing: DR LDB Remittance Payable (2350) CR Cash / Bank 2.3 GST ON TAPROOM SALES ---------------------------------------------------------------------- GST is collected from customers at 5% on all beer and food sales. GST is remitted to CRA on your GST/HST return (quarterly or annually depending on your filing frequency). The POS daily PDF reports GST collected. Accumulate into account 2300 and reconcile to your GST return each filing period. Input Tax Credits (ITCs): GST paid on brewery inputs (ingredients, packaging, equipment, supplies) is recoverable. Maintain supplier invoices and post GST paid to account 2310. Net GST owing = 2300 (collected) minus 2310 (ITCs paid) ================================================================================ SECTION 3 — DISTRIBUTION SALES (FROM DISTRIBUTION TOOL) ================================================================================ SOURCE DOCUMENTS - Form 60 PDF per delivery (generated by distribution.html) - DSWR packaged sales CSV (upload-ready; also post to accounting) - QBO import CSV (for QuickBooks Online invoice creation) - LDB Cost Details for Direct Sales Report (emailed by LDB post-batch) - LDB PAD Settlement Notification (emailed by LDB ~Day 4 after batch) FREQUENCY: Post each delivery when Form 60 is generated / order marked Delivered. Reconcile LDB remittance entries on receipt of PAD notification. 3.1 REVENUE RECOGNITION — PACKAGED SALES ---------------------------------------------------------------------- Revenue is recognized on delivery — when goods transfer to the customer and the Form 60 is issued. This is the point of sale for GAAP purposes. The Form 60 (generated from the Distribution tool) shows: - Invoice number and date - Customer name, type, and LCLB licence number - Line items: beer SKU, container, quantity, unit price - Subtotal (ex-GST) - GST (5%) - Container deposits - Total amount due JOURNAL ENTRY — On delivery (Form 60 issued): DR Accounts Receivable — Trade (1230) [Form 60 total incl. GST + deposits] CR Packaged Beer Sales — [type] (4200/4210/4220) [revenue ex-GST] CR GST Collected (2300) [5% of revenue] CR Container Deposits Held (2400) [deposit portion] Note: Customer type determines the revenue account: LIC (hospitality/restaurant) → 4200 LRS (retail store), GRC (grocery) → 4210 MOS (on-premise/manufacturer's store) → 4220 3.2 PAYMENT RECEIVED FROM WHOLESALE CUSTOMERS ---------------------------------------------------------------------- When the customer pays the invoice: DR Cash / Bank [amount received] CR Accounts Receivable — Trade (1230) [clears the receivable] Container deposits are not revenue — they are refundable liabilities (account 2400) until containers are returned or the customer confirms non-return. See Section 3.4 for deposit treatment. 3.3 LDB MARK-UP ON PACKAGED SALES — REMITTANCE ---------------------------------------------------------------------- For packaged product sold through direct distribution (LIC, LRS, GRC, MOS accounts), the LDB charges a mark-up. Unlike pipeline sales, the LDB's mark-up on packaged sales is embedded in the price structure: the LDB-established retail or wholesale price that you charge is the price from which the LDB calculates its mark-up. The LDB Cost Details Report (emailed after batch processing) shows: - Your cost per unit per SKU - Quantity sold - Total cost (your cost of sales) - Container deposits (refundable, passed back to you) - The net mark-up owed to LDB (Price reported - Cost = LDB mark-up) The PAD Settlement Notification shows the total amount to be debited. JOURNAL ENTRY — On receipt of LDB Cost Details / PAD Notification: DR LDB Provincial Mark-Up — Packaged (5210) [mark-up portion] DR LDB Provincial Mark-Up — Packaged (5210) [GST on mark-up] CR LDB Remittance Payable (2350) [total to be debited] On PAD clearing: DR LDB Remittance Payable (2350) CR Cash / Bank Note: The LDB withholds its mark-up from the payment it makes to you (if operating on the LDB consignment/payment model) or debits your PAD account. Confirm the exact flow with your CPA based on your LDB agreement. 3.4 CONTAINER DEPOSITS ---------------------------------------------------------------------- Container deposits collected from customers are refundable liabilities, NOT revenue. They sit in account 2400 until: a) Containers are returned → refund the deposit: DR Container Deposits Held (2400) CR Cash / Bank (or Accounts Receivable as a credit) b) Customer confirms non-return (e.g. lost, out of business) → transfer to revenue or write off per your policy: DR Container Deposits Held (2400) CR Other Revenue (4900) [or a specific deposit forfeiture account] Container deposits paid to your suppliers (if any) for raw materials go to account 1240 (Container Deposits Receivable) until returned. 3.5 CUSTOMER RETURNS (FORM 55) ---------------------------------------------------------------------- When a customer returns product, a return is recorded in the Distribution tool and a credit/refund is issued. JOURNAL ENTRY — On processing a return: DR Packaged Beer Sales — [type] [revenue reversal, ex-GST] DR GST Collected (2300) [GST reversal] DR Container Deposits Held (2400) [deposit reversal if applicable] CR Accounts Receivable — Trade (1230) [credit to customer account] OR CR Cash / Bank [if cash refund issued] The return reason code (from Form 55 / Distribution tool) should be noted on the journal entry for audit trail purposes. 3.6 GST ON DISTRIBUTION SALES ---------------------------------------------------------------------- GST is charged on all packaged beer sales to LIC, LRS, GRC, and MOS customers (5%). Accumulate in account 2300 and remit to CRA on your GST/HST return. Wholesale customers (LRS, GRC, MOS) do not pay PST — only retail (LIC hospitality) customers may have PST implications; confirm with your CPA. ================================================================================ SECTION 4 — PRODUCTION COSTS (FROM BREW LOG) ================================================================================ SOURCE DOCUMENTS - Brew Log production CSV (batch records) - Brew Log spoilage CSV (loss events by category) - Supplier invoices for raw materials and packaging FREQUENCY: Post raw material purchases as received. Update WIP and finished goods at each batch completion phase. Post spoilage as it occurs. 4.1 RAW MATERIAL PURCHASES ---------------------------------------------------------------------- When purchasing grain, hops, yeast, adjuncts, or packaging materials: DR Inventory — Raw Materials (1200) [cost of materials] DR GST Paid — Input Tax Credits (2310) [GST on purchase] CR Accounts Payable — Trade (2200) [or Cash/Bank if paid immediately] 4.2 WORK IN PROGRESS — BREW DAY ---------------------------------------------------------------------- When a batch begins (grain into the kettle), raw materials are transferred from raw materials inventory to WIP. Labour and overhead are applied. DR Inventory — WIP (1210) [raw materials cost] CR Inventory — Raw Materials (1200) [raw materials consumed] DR Inventory — WIP (1210) [direct labour + overhead] CR Direct Labour / Overhead accounts [as applicable] In practice, many small breweries use a simplified approach: expense all production inputs in the period and adjust inventory at period-end based on a physical count and cost calculation. Discuss the appropriate method with your CPA based on your inventory materiality. 4.3 FINISHED GOODS — PACKAGING COMPLETE ---------------------------------------------------------------------- When a batch completes packaging (Phase 3 in Brew Log), transfer from WIP to Finished Goods: DR Inventory — Finished Goods (1220) [total batch cost] CR Inventory — WIP (1210) [cost transferred out] The Brew Log production CSV shows: Batch ID, Beer, SKU, brew date, packaging date, actual volume into fermenter (L), final volume packaged (L), yield %, ABV. Use these to calculate cost per litre or cost per selling unit for inventory valuation. 4.4 COST OF GOODS SOLD — ON SALE ---------------------------------------------------------------------- When packaged product is sold (a distribution order is marked Delivered): DR Cost of Goods Sold — Packaged (5100–5130) [cost of units sold] CR Inventory — Finished Goods (1220) [at cost] For taproom (pipeline) sales, the equivalent is: DR Cost of Goods Sold — Pipeline [cost of beer poured] CR Inventory — WIP or Finished Goods [at cost] Taproom COGS may be tracked on a per-litre basis using your standard batch cost calculation. The Brew Log's litres-produced figure feeds this. 4.5 SPOILAGE AND BREW LOSS ---------------------------------------------------------------------- The Brew Log records spoilage events by category (Trub/Hop Loss, Fermentation Loss, Packaging Loss, Quality Rejection, Other). The spoilage CSV provides: Batch ID, Beer, SKU, date, category, litres lost, notes. Spoilage within your LDB-allowed threshold (set in Brew Log Setup) is a normal cost of production: DR Spoilage / Brew Loss (5300) [cost of volume lost] CR Inventory — WIP or Finished Goods [at cost] Spoilage exceeding your allowable threshold should be flagged to your CPA as it may have LDB audit implications (the LDB reconciles production vs. reported sales vs. closing inventory). Quality rejection losses (product destroyed for failing QC) require the strongest documentation per LDB rules. Ensure the Brew Log notes field contains a specific reason and, ideally, reference a physical record with a witness signature. ================================================================================ SECTION 5 — WEEKLY CLOSE PROCEDURE ================================================================================ Run this checklist each week before DSWR submission (due first business day of the following week): [ ] 1. Post all taproom sales from POS daily PDFs (Mon–Sun) Verify: beer revenue, food revenue, GST collected, bank deposits [ ] 2. Post any distribution deliveries from Form 60 PDFs Verify: AR entries created, GST collected, deposits recorded [ ] 3. Submit DSWR weekly batch (pipeline + packaged documents) Deadline: first business day following the reporting week [ ] 4. Note LDB Cost Details Report (arrives ~Day 3 after submission) Reconcile mark-up amount against your own calculation [ ] 5. Post LDB remittance accrual when PAD Notification received (arrives ~Day 3, PAD debits ~Day 4) [ ] 6. Confirm bank — verify PAD debit cleared correctly [ ] 7. Export CSVs from all three tools and file as period backup: - POS DSWR CSV and Detail CSV - Distribution DSWR CSV - Brew Log Production CSV and Spoilage CSV if batches active ================================================================================ SECTION 6 — PERIOD-END PROCEDURES (MONTHLY / QUARTERLY) ================================================================================ 6.1 INVENTORY COUNT AND RECONCILIATION ---------------------------------------------------------------------- At each period-end, reconcile your book inventory to a physical count: Book inventory: Opening balance + Raw material purchases + Brew Log production − Brew Log spoilage − Sales (cost of units sold) = Book closing Physical inventory: Count raw materials, WIP (by batch stage), and finished goods (cases/units on hand). Value at cost. Any variance requires investigation. Large unexplained variances may indicate unrecorded spoilage, theft, or entry errors. They also affect your LDB reconciliation (Opening + Produced − Sold = Closing). 6.2 GST RETURN ---------------------------------------------------------------------- If filing quarterly: total GST collected (account 2300) less total ITCs (account 2310) = net GST owing (or refund). File online with CRA. Ensure your GST number is correctly entered in Setup across all three tools — it appears on exported documents. 6.3 LDB STATEMENT OF ACCOUNT ---------------------------------------------------------------------- The LDB sends a Statement of Account at month-end showing all transactions processed during the month. Reconcile this against your LDB Remittance Payable account (2350) to confirm all PAD debits were correctly posted. 6.4 ACCOUNTS RECEIVABLE AGING ---------------------------------------------------------------------- Review AR aging for wholesale customer balances. Standard payment terms for direct distribution are typically net 30. Follow up on overdue accounts before they age past 60 days. 6.5 CONTAINER DEPOSIT RECONCILIATION ---------------------------------------------------------------------- Review the Container Deposits Held balance (2400) against known customer deposit balances. This should match the sum of outstanding deposits from delivered-but-not-returned orders in the Distribution tool. ================================================================================ SECTION 7 — QBO IMPORT CSV USAGE ================================================================================ The Distribution tool produces a QBO Import CSV (QuickBooks Online invoice import format) for delivered orders not yet exported. Columns: Invoice No, Customer, Date, Description, Qty, Unit Price, Amount, GST, Deposits, Total Usage in QBO: 1. Download via Export → "Delivered orders (QBO import)" 2. Orders are marked as exported in the system after download to prevent double-export 3. Import into QBO using the standard invoice import workflow 4. Review imported invoices — verify customer names match QBO customer list exactly (case-sensitive matching may require cleanup) 5. Post customer payments against invoices as received Note: The QBO CSV is a summary-level import (one line per order, not per SKU line). For line-item detail, reference the Form 60 PDF for that invoice. ================================================================================ SECTION 8 — KEY CONTACTS AND REFERENCES ================================================================================ LDB Direct Sales (DSWR) Support: Email: wpdr@bcldb.com Phone: 604-252-7564 LDB PAD Settlement Support: Email: PD.Settlement.Support@bcldb.com Phone: 604-252-3383 CRA — GST/HST enquiries: 1-800-959-5525 Reference documents (in the AI project folder): - DSWR User Guide (rev June 2019) - DSWR CSV Fields Specification and Validation Rules (v6.0) - Solution Design Document — CSV File Upload Format (v1.5) - Instructions for Completing Sales Reporting Forms - Craft Brewery Remittance Reconciliation Example - Remittance Notifications for BC Craft Brewers - LDB Container Type and Description Reference ================================================================================ END OF BOOKKEEPER GUIDE ================================================================================