Beancount.io LogoBeancount.io

Cannabis Dispensary Bookkeeping Under Section 280E: COGS, METRC, FinCEN BSA, and the KPIs MSOs Track

14 min readMike ThriftMike Thrift
Cannabis Dispensary Bookkeeping Under Section 280E: COGS, METRC, FinCEN BSA, and the KPIs MSOs Track

A licensed cannabis dispensary doing $5 million in topline revenue can owe more federal income tax than a non-cannabis retailer doing $15 million. Same gross margin. Same operating leverage. The difference is a single sentence of the Internal Revenue Code—Section 280E—that disallows ordinary and necessary business deductions for any "trade or business that consists of trafficking in controlled substances." Marijuana is still a Schedule I substance under federal law, so every state-legal dispensary, regardless of how the ballot measure that authorized it was worded, lives under that sentence.

The practical effect is that a cannabis operator is taxed not on net income, but on something much closer to gross profit. Budtender payroll, rent, marketing, legal fees, software subscriptions, and depreciation are all written in the wallet but not on the federal return. Only cost of goods sold survives. So the books that a dispensary keeps are not merely bookkeeping. They are tax strategy executed daily in the chart of accounts, at the POS terminal, and in the METRC manifest. Get them right and you legally minimize a tax burden that already lands somewhere between 50% and 70% of operating cash flow. Get them wrong and the IRS Cannabis Compliance Program closes the gap with deficiency notices, accuracy-related penalties, and interest.

This guide walks through how disciplined dispensaries—single-store independents up through multi-state operators—structure their books to survive Section 280E, leverage the Section 471(c) small-taxpayer inventory carve-out where it applies, reconcile state-mandated seed-to-sale tracking against the POS and the general ledger, navigate FinCEN BSA cash-banking expectations, and surface the operating KPIs investors and lenders actually want to see.

The Section 280E Tax Trap, in Plain Numbers

Imagine two retailers in the same shopping center. Both sell consumer products. Both report $5,000,000 in revenue, $2,500,000 in product cost, and $2,000,000 in operating expenses (payroll, rent, marketing, utilities, insurance). For the non-cannabis retailer, federal taxable income is $500,000—revenue minus COGS minus all operating expenses. For the dispensary, federal taxable income is $2,500,000—revenue minus COGS only, because Section 280E disallows every line of operating expense. At a 21% corporate rate, the dispensary owes $525,000 of federal tax on $500,000 of true economic profit. The effective rate is 105%.

That math is why dispensary CFOs become obsessive about cost classification. Every dollar that legitimately belongs in COGS, rather than below the gross-profit line, reduces taxable income one-for-one. Every dollar that the IRS later reclassifies out of COGS does the opposite. The entire bookkeeping architecture is built around that lever.

What Counts as COGS for a Dispensary

The IRS published Chief Counsel Advice (CCA 201504011) and audit guidance that pinned cannabis retailers to the pre-2018 version of Section 471. Under those rules, a reseller's COGS is limited, broadly, to:

  • The invoice price of inventory purchased for resale, net of trade discounts.
  • Inbound freight and transportation from the cultivator or distributor to the dispensary door.
  • Direct receiving, handling, and storage costs necessary to get inventory shelf-ready—the labor minutes spent unboxing, scanning into METRC, label-printing, and stocking the secure vault.
  • Inventory shrinkage and adjustments properly documented and tied to METRC reconciliation events.

What does not count as COGS for a retailer, even though a cultivator could capitalize the equivalent costs under Section 263A, is the full apportionment of selling, general, and administrative overhead. The IRS has repeatedly held that Section 263A cannot be used to push otherwise-disallowed Section 280E expenses into inventory. The pre-2018 Section 471 rules govern, and they are narrow.

The Section 471(c) Small-Taxpayer Carve-Out

The 2017 Tax Cuts and Jobs Act added Section 471(c), which lets a small business with average annual gross receipts at or below the inflation-adjusted threshold (approximately $31 million for 2026 tax years) use its applicable financial-statement inventory method—or, absent an AFS, its books-and-records method—for tax purposes. For many cannabis retailers, that is a meaningful carve-out: instead of being locked into the narrow reseller Section 471 method, a qualifying dispensary can treat costs as inventoriable to the extent they are inventoriable on its book financial statements, including more receiving, handling, and product-preparation labor than a strict reseller method would allow.

The catch is that the IRS has not explicitly blessed Section 471(c) as a workaround to Section 280E, and at least one Tax Court case (San Jose Wellness) shut down aggressive applications. Conservative practitioners use Section 471(c) to capture genuinely inventoriable costs that book accounting recognizes, with thorough documentation, rather than as a wholesale relabeling of disallowed expenses. The strongest position is the one supported by a written accounting policy, applied consistently, and reflected on the dispensary's GAAP-basis financial statements.

Building a 280E-Defensible Chart of Accounts

A standard retail chart of accounts will not survive a cannabis audit. The chart needs to be designed so that every transaction is coded at entry into one of three buckets: (1) inventory or COGS, (2) Section 280E disallowed but real cash operating expense, or (3) non-deductible owner or capital activity. Operators who treat this as a year-end reclassification project lose; the cost of the reclassification work alone exceeds the tax savings, and audit defensibility evaporates.

A workable cannabis chart of accounts separates:

  • Inventory accounts by category and METRC package class—Flower, Pre-Roll, Concentrate, Edible, Vape, Topical, Accessory (non-plant-touching, fully deductible).
  • Direct labor posted to a COGS-eligible account for the receiving, vault, and inventory-prep portion of hours, with daily timekeeping logs that can defend the allocation under audit. The remainder of the budtender's day—selling, customer service, cleaning the floor—stays in disallowed payroll.
  • Selling expenses, fully disallowed under 280E but tracked separately for management reporting.
  • General and administrative, disallowed but isolated.
  • Excise and sales taxes as separate liability accounts—cannabis tax pyramiding (where state excise tax is included in the sales-tax base) is one of the most common ledger errors.
  • Non-plant-touching ancillary lines (apparel, glassware, branded merchandise) tracked as a separate business activity, because deductions tied to a non-cannabis trade or business are not disallowed by 280E.

The ancillary point matters more than it looks. A dispensary that also sells unrelated merchandise or licenses brand IP through a separately operated entity preserves deductions for that activity—provided the entities are genuinely separate, with separate books, separate bank accounts, and arm's-length intercompany agreements. The Tax Court's Californians Helping to Alleviate Medical Problems (CHAMP) decision and its progeny (notably Harborside and Patients Mutual Assistance Collective) established the doctrine; subsequent cases have policed how cleanly the separation must be maintained. Sloppy intercompany allocations between a plant-touching OpCo and a real-estate or services PropCo are a common audit finding.

METRC, the POS, and the Three-Way Reconciliation

Every state with adult-use or medical marijuana laws requires real-time seed-to-sale tracking. METRC (Marijuana Enforcement Tracking Reporting Compliance) is the dominant vendor, mandated in over 20 states; BioTrack and similar systems cover the rest. From the dispensary's perspective, METRC is a parallel ledger of every gram of inventory: received from a licensed distributor on a manifest, held in the vault with a unique package tag, decremented by every sale, and adjusted for waste, theft, or destruction events.

The financial books, the POS database, and METRC must all tell the same story. When they diverge, two problems compound: (1) the state regulator opens an investigation that can suspend the license, and (2) the IRS treats the missing inventory as either unreported revenue or non-deductible shrinkage, depending on which direction the variance runs.

A disciplined reconciliation cadence runs three times:

  • Daily: Close the POS, push the day's sales to METRC, and verify the package counts decremented match the receipts. Most modern cannabis POS systems automate this push, but they fail silently when network outages or package-tag mismatches occur. The opening shift manager pulls the prior-day METRC inventory report and confirms it ties to the POS on-hand.
  • Weekly: Physical count of high-velocity SKUs (vape cartridges, top-selling flower strains) against METRC and POS. Discrepancies above a defined tolerance (typically 0.5% by weight or 1% by unit) trigger an investigation memo.
  • Monthly: Full physical count, with the result reconciled to METRC and to the general ledger inventory balance. Adjustments are journaled to a clearly named inventory variance account (so the auditor sees the trail) and, if the variance is to COGS, supported by a documented cause—damaged in transit, sample for compliance testing, regulatory destruction event.

The general ledger journal entry for a typical day looks something like this in beancount syntax, kept in a plain-text file under version control:

2026-06-02 * "Daily POS Close — Adult-Use Sales"
  Assets:Cash:Vault                  18,742.00 USD
  Liabilities:SalesTaxPayable:State                    1,124.52 USD
  Liabilities:CannabisExcisePayable:State              2,061.06 USD
  Liabilities:CannabisLocalTaxPayable                    750.00 USD
  Income:Sales:Flower                                  8,400.00 USD
  Income:Sales:PreRoll                                 2,100.00 USD
  Income:Sales:Vape                                    3,500.00 USD
  Income:Sales:Edible                                  1,800.00 USD
  Income:Sales:Concentrate                             1,400.00 USD
  Income:Sales:Accessory                                 400.00 USD
 
2026-06-02 * "COGS Recognition — Adult-Use Sales"
  Expenses:COGS:Flower                4,200.00 USD
  Expenses:COGS:PreRoll               1,000.00 USD
  Expenses:COGS:Vape                  1,600.00 USD
  Expenses:COGS:Edible                  830.00 USD
  Expenses:COGS:Concentrate             650.00 USD
  Expenses:COGS:Accessory               220.00 USD
  Assets:Inventory:Flower                              -4,200.00 USD
  Assets:Inventory:PreRoll                             -1,000.00 USD
  Assets:Inventory:Vape                                -1,600.00 USD
  Assets:Inventory:Edible                                -830.00 USD
  Assets:Inventory:Concentrate                           -650.00 USD
  Assets:Inventory:Accessory                             -220.00 USD

Plain-text journaling is not the default in cannabis—most operators run QuickBooks, Sage Intacct, or a vertical cannabis ERP—but a growing number of multi-state operators keep a parallel plain-text book of record for auditability, version control, and the kind of rebuilds that a 280E examination demands.

Cash, Banking, and FinCEN BSA Compliance

Cannabis remains federally illegal, which means most national banks and Visa/Mastercard networks decline plant-touching accounts. The result is that a meaningful slice of the industry still transacts in physical currency. The 2014 FinCEN guidance—"BSA Expectations Regarding Marijuana-Related Businesses"—remains the operative federal framework. It has not been rescinded.

That guidance lays out three Suspicious Activity Report categories that any depository institution serving a marijuana-related business must file: Marijuana Limited (the business appears compliant with state law and the Cole Memo priorities), Marijuana Priority (concerns are present), and Marijuana Termination (the bank is closing the account). FinCEN data through 2025 showed roughly 800 to 850 depository institutions actively serving cannabis accounts—a fraction of the industry's need, with most concentrated in state-chartered credit unions and small community banks. As of 2026, the count of institutions willing to underwrite large commercial banking relationships with plant-touching operators remains under 100 in most major markets.

For the dispensary operator, the bookkeeping implications are concrete:

  • Form 8300 reporting: Any single cash transaction (or related series within 24 hours) of more than $10,000 received in the trade or business must be reported on FinCEN Form 8300 within 15 days. This is not optional. The penalties for willful failure scale into criminal territory.
  • Cash-handling controls: Dual custody on vault counts, video surveillance retained for the statutory period (varies by state, often 90 days minimum), surprise audits, and a written cash-handling policy that the bank can rely on when filing its SARs.
  • Operating bank account discipline: Once a banking relationship is established, every dollar of cash deposited needs to be sourced from a documented sale in the POS and METRC. Banks file SARs on unsourced deposits, and a string of those can terminate the account.
  • Armored carrier and vault insurance: Premiums are operating expenses, disallowed under 280E for federal income tax purposes but still very real cash costs that need to be tracked for management reporting.

The bookkeeping system has to support both worlds: the IRS view (where most of these costs do not exist) and the operator's view (where they are 30%+ of the operating budget). A chart of accounts that surfaces both views, with reporting layers that strip 280E-disallowed lines for the federal return while leaving them in the management P&L, is the architecture that scales.

State Cannabis Excise Tax, Local Tax, and the Pyramiding Problem

Sales tax on cannabis is rarely just sales tax. A typical California adult-use transaction at the register includes (1) the state cannabis excise tax (15% of gross receipts as of mid-2025 changes), (2) any local cannabis business tax, and (3) state and local sales tax computed on a base that may or may not include the excise tax. Whether the excise tax is in the sales-tax base depends on the state—Colorado, Washington, Oregon, Illinois, Massachusetts, and New York each have their own rules, and several have changed in the last 24 months.

The bookkeeping principle is simple but easy to get wrong: every tax collected from the customer is a balance-sheet liability, not income. The dispensary is a pass-through agent. Where dispensaries go off the rails is when the POS is configured to compute taxes incorrectly—say, it applies sales tax to a base that excludes excise tax in a state where the law requires inclusion—and the error compounds across millions of transactions until the state department of revenue issues a notice of audit.

The defensive practice: at least once a year, have a cannabis-experienced state tax practitioner walk through a sample of POS receipts against the statutes, document the tax-stacking methodology, and keep the documentation with the chart of accounts. When the audit comes, the operator who can produce a written, dated, signed memorandum showing the methodology is in a fundamentally different position than the operator who cannot.

The KPIs That Investors and Lenders Actually Read

Cannabis is capital-starved relative to most consumer-retail sectors. The federal banking restrictions push debt costs into the 10–15% range; private equity demands margins and growth rates that ordinary retail does not produce. The KPIs that show up in lender covenants and equity-investor decks are narrow but specific:

  • Sales per square foot: The classic retail metric, with top-performing dispensaries clearing $1,500 to $2,500 per square foot per year. In mature markets, the floor for a viable single-store is closer to $800; below that, the rent and labor model does not pencil at 280E tax rates.
  • Average transaction value (basket size) and average units per ticket: Track AOV by daypart and by customer cohort (loyalty members vs. new). A $45–$65 basket in a recreational-only market is typical; medical-only operations see higher baskets because of larger purchase limits and frequency of refill.
  • Gross margin by product category: Flower margins compress as a market matures (often 45–50% at retail in mature states), while concentrates and pre-rolls hold 55–65%. The product-mix shift is one of the most reliable leading indicators of profitability change.
  • Inventory turns and days inventory on hand: Cannabis is perishable—flower potency degrades, edibles have expiration dates—so high turns matter. Top operators run 12–18 turns per year on flower, 8–12 on edibles and vapes.
  • Effective tax rate: For a non-cannabis retailer, this is a back-page footnote. For a dispensary, it is the headline KPI. A well-run operation under 280E with a tightly defended COGS shows an effective federal rate in the 35–45% range; a poorly-run one shows 60%+.
  • EBITDA, adjusted for 280E: Operators reporting to investors typically present both GAAP EBITDA and a "280E-adjusted" view that adds back the disallowed taxes, because EBITDA alone is meaningless when the tax burden is the operating story.

Keep Your Cannabis Operation's Finances Audit-Ready From Day One

Operating under Section 280E means that every transaction posted in your books is a tax decision. A chart of accounts that separates COGS from disallowed expenses, a reconciliation cadence that ties METRC to the POS to the general ledger, and a banking workflow that survives FinCEN scrutiny are the difference between a defensible federal return and an audit you cannot win. Beancount.io provides plain-text accounting that gives cannabis operators complete transparency and version-controlled audit trails for every journal entry—no black boxes, no vendor lock-in, no surprises when the IRS Cannabis Compliance examiner asks how a line item was classified three years ago. Get started for free and see why operators in regulated industries are switching to plain-text accounting.