None of these look like mistakes
Every one of the ten habits below is a completely normal, unremarkable bookkeeping practice for an ordinary business. Deduct the rent. Deduct the marketing spend. Wait until tax season to sort out classification details with the accountant. None of it sets off any alarm, because for almost every business, none of it should.
A cannabis business is the exception, and the gap between “normal practice” and “what 280E actually allows” is where real tax exposure and real audit risk quietly accumulate — not because anyone did anything obviously wrong, but because the rules genuinely are different here, in ways that don't announce themselves.
What 280E actually is
Section 280E of the Internal Revenue Code, enacted in 1982, denies any deduction or credit for amounts paid or incurred in carrying on a trade or business that consists of trafficking in a controlled substance listed on Schedule I or Schedule II of the federal Controlled Substances Act. It was written with drug traffickers in mind, decades before any state had legalized cannabis in any form.
Cannabis has stayed on Schedule I federally throughout the period states began legalizing it for medical and adult use, which means a fully licensed, state-compliant dispensary is, for federal tax purposes, still “trafficking” in a controlled substance under the plain language of a statute that predates the entire legal cannabis industry.
Why a state-legal business is still subject to it
Federal and state law operate independently here. A state legalizing cannabis sales changes what's permitted under that state's own criminal and regulatory code — it doesn't and can't change cannabis's classification under the federal Controlled Substances Act, which is a federal, not a state, list. 280E is written to key off that federal schedule specifically, so state legalization simply doesn't reach it.
This is the single most consequential fact a new cannabis business owner needs to internalize early: being fully compliant with every state license, inspection and reporting requirement has no bearing on federal tax treatment. The two systems run on entirely separate tracks.
The math that makes this different from ordinary tax planning
For an ordinary business, taxable income is gross receipts, minus cost of goods sold, minus ordinary and necessary business expenses. 280E removes the third term entirely for a cannabis business — what's left is gross receipts minus COGS only, taxed as if every other cost of running the business simply doesn't exist for federal tax purposes.
The practical result, reported consistently across the industry, is an effective federal tax rate that can run several times higher than what a similarly sized ordinary retailer pays on the same pre-tax economic profit — not because the cannabis business is taxed at a higher statutory rate, but because so much less of its real spending is allowed to reduce the number that gets taxed.
This is also why comparing a cannabis business's tax burden to an ordinary retailer's using the statutory corporate rate alone is misleading in either direction — the statutory rate applied to each business's own taxable income is roughly the same, but 280E has already inflated the cannabis business's taxable income figure well before that rate is ever applied. The gap lives entirely in what counts as taxable income, not in the rate charged against it.
1. “We'll deduct it and see”
Treating a gray-area expense as deductible by default, on the theory that it'll get sorted out if it's ever questioned, is a normal risk tolerance for an ordinary business audit. Under 280E, the default direction matters — an aggressive default toward deducting anything that isn't obviously disallowed compounds into a materially understated tax liability across an entire year, not a single line item worth arguing about later.
2. Treating COGS like a checklist instead of a fact pattern
There's no single published list of exactly what qualifies as cost of goods sold for a cannabis business — it depends on general inventory-costing principles applied to that business's own specific activities. A retailer copying a checklist built for a vertically integrated cultivator (or the reverse) ends up with a COGS figure that doesn't actually match its own real cost structure, in either direction.
3. Not separating cultivation and retail activity cleanly
A vertically integrated operator's cultivation costs and retail costs are treated completely differently under 280E, but they often run through the same bank accounts and the same vendor relationships. Without a deliberate separation — even just consistent tagging at the transaction level — the two activities blur together into one COGS figure that can't actually be defended line by line if it's ever examined.
4. Using a generic chart of accounts
A chart of accounts built for a generic retail business doesn't distinguish COGS-eligible cost categories the way a cannabis business needs it to. Bookkeeping software configured with cannabis-aware categories from day one produces a COGS figure that's traceable to specific accounts; bookkeeping retrofitted after the fact means reclassifying a year's worth of transactions after the pattern of what should have been tracked separately is already lost.
5. Waiting until tax season to classify anything
Batching a year's worth of COGS classification into a few weeks before filing means the person doing it has lost the specific context each transaction had when it happened — was this packaging line for retail product or a wholesale order, was this facility cost this month's cultivation run or general overhead. Classifying close to when the transaction actually occurred, while the context is still fresh, produces a meaningfully more defensible result than reconstructing it months later.
6. Treating a bank fee as immaterial
Cannabis banking fees — monthly account fees, cash-handling charges, enhanced compliance-reporting costs many cannabis-friendly institutions pass through — are non-deductible operating expense under 280E just like everything else outside COGS, but they're small enough individually that they often go completely unclassified. Across a full year and several accounts, unclassified fee lines add up to a real gap in a business's own understanding of its true cost structure.
7. No documentation trail behind a classification
A single aggregated COGS number on a tax return, with no supporting detail showing which invoices and transactions built it, is far weaker under examination than the identical number backed by a line-level trail. An examiner questioning a COGS figure is really asking “show me,” and a business that can't answer quickly and specifically starts every conversation from a position of disadvantage, regardless of whether the underlying number was actually correct.
8. Assuming the accountant will catch it
A general bookkeeper or accountant unfamiliar with 280E's specific fact patterns will apply ordinary-business instincts by default, which in this context means over-deducting. A cannabis business's own operational staff — the people actually classifying vendor invoices day to day — need enough working knowledge of the COGS/OPEX boundary to flag genuinely ambiguous cases, rather than assuming every classification question gets caught downstream at tax time.
9. Ignoring state-level tax treatment differences
A number of states with legal cannabis programs have decoupled their own state tax code from 280E, allowing ordinary business deductions at the state level that federal law still denies. A business that applies the federal 280E restriction to its state filing out of habit — or the reverse, assumes state treatment automatically mirrors federal — can materially misstate either return.
10. Treating 280E as a filing-season problem, not a daily one
The single biggest mindset shift 280E requires: it isn't a tax-return line item to sort out once a year, it's a classification discipline that has to run on every vendor invoice and every bank transaction as the business operates day to day. A dispensary that treats it as a daily bookkeeping habit builds a defensible, low-effort position by the time filing season arrives; one that treats it as a filing-season task is reconstructing a year's worth of judgment calls under deadline pressure, with the specific context for each one already gone.
What an IRS cannabis audit actually looks for
Because COGS is the one deduction 280E leaves standing, it's the natural focus of a cannabis- specific examination — an examiner comparing a business's reported COGS ratio against typical patterns for its type of operation, then asking for line-level support behind anything that looks unusually high. A retail-only dispensary reporting a COGS ratio that resembles a vertically integrated cultivator's, without the underlying cultivation activity to justify it, is exactly the kind of mismatch that draws closer scrutiny.
State tax treatment versus federal 280E
| Level | Typical treatment |
|---|---|
| Federal | 280E applies in full — only COGS reduces taxable income, regardless of state legality. |
| States that decouple from 280E | Ordinary business deductions allowed at the state level, producing a materially lower state tax liability than the federal one on the same activity. |
| States that conform to federal treatment | 280E's restriction effectively applies at the state level too, compounding the federal effect. |
Which category a given state falls into changes over time as legislatures revisit their own tax codes, so this is worth confirming directly with a professional familiar with the specific state a business operates in, rather than assumed from a general pattern.
Two dispensaries, same revenue, very different outcomes
Two single-location dispensaries, same state, same annual revenue, illustrate how much the bookkeeping discipline itself — not the underlying business — can change the outcome.
| Dispensary | Bookkeeping approach | Outcome |
|---|---|---|
| A | Daily line-level COGS classification, documented as it happens | Clean, defensible return; an examination, when it happens, resolves quickly with a visible trail |
| B | Annual, batched classification reconstructed at filing time | Same broad numbers, but no line-level support; an examination turns into a prolonged, costly document-reconstruction exercise |
Both dispensaries might file an identical COGS figure on their returns. The difference only shows up the moment either one is actually examined — and given how disproportionately often cannabis businesses are, that moment arrives for a meaningful share of operators sooner or later.
A worked example: the effective tax rate gap
A simplified illustration, figures rounded for clarity, comparing an ordinary retailer and a cannabis dispensary with identical revenue and identical real operating costs.
| Line | Ordinary retailer | Cannabis dispensary |
|---|---|---|
| Revenue | $2,000,000 | $2,000,000 |
| Cost of goods sold | $1,000,000 | $1,000,000 |
| Rent, wages, marketing, admin | $700,000 (deductible) | $700,000 (not deductible) |
| Federal taxable income | $300,000 | $1,000,000 |
Both businesses generated the same $300,000 in real, after-real-costs economic profit. The cannabis dispensary's federal taxable income is more than three times higher, because the same $700,000 in real operating cost simply isn't allowed to reduce it. This is the mechanic behind every widely reported figure on cannabis businesses' unusually high effective tax rates — it isn't a higher tax rate on the same income, it's tax on a much larger income figure than the business actually kept.
What actually reduces the impact
Maximizing legitimate COGS, correctly
Not aggressively — correctly. A vertically integrated operator genuinely has more COGS-eligible cost than a retailer, and capturing all of it accurately, without overreaching, is the single biggest lever available.
Clean separation of activities
A vertically integrated operator that cleanly separates cultivation and retail cost centers can substantiate a materially different, and often higher, defensible COGS figure than one that blends everything together.
Entity structuring for genuinely ancillary activity
Real estate, management services and other genuinely separate, non-trafficking activities can sometimes be structured into their own entities — done correctly and with professional guidance, not as a way to disguise the core cannabis-selling activity itself.
State-level planning
In a state that's decoupled its own tax code from 280E, the state-level savings can meaningfully offset the federal burden, even though the federal treatment itself doesn't change.
Why documentation is the real defense
None of the levers above matter much without the paper trail behind them. A correctly classified COGS figure that can't be traced back to specific invoices and transactions is functionally no more defensible than an incorrectly classified one — both fail the same “show me” moment an examination eventually asks for. Line-level classification, done consistently as transactions happen rather than reconstructed later, is what turns a correct number into a defensible one.
Why none of this is likely to resolve itself soon
280E's reach over cannabis is tied directly to the federal scheduling of the substance itself, a question that involves multiple federal agencies and has moved slowly for decades. Building a bookkeeping and tax position that assumes the rule will simply go away is a bet most cannabis operators can't afford to make — the businesses that manage 280E best treat it as a durable fact of the industry to build sound, permanent discipline around, not a temporary inconvenience to wait out.
How cannabis operators compare notes on this
280E is one of the few tax topics where cannabis operators are unusually open with each other — industry associations, state cannabis business groups and regional operator networks regularly compare notes on classification approaches, since the underlying rule is the same for every licensed business in a given state and the fact patterns tend to repeat across similarly structured operations.
That peer comparison is genuinely useful for spotting whether a business's own COGS ratio looks unusual relative to similar operators, but it has a real limit: another operator's classification decisions were made against their own specific facts, cost structure and CPA's judgment, and copying a peer's approach wholesale without independent professional review of your own business's facts is exactly the kind of shortcut that can produce a number that looks reasonable but isn't actually supportable for your specific operation.
A short history of how 280E met the cannabis industry
280E entered the tax code in 1982, a direct legislative response to a Tax Court decision the year before that had allowed a convicted drug trafficker to deduct ordinary business expenses — car expenses, rent, a portion of home expenses — against income from selling drugs, on the reasoning that the trafficking was still, mechanically, a trade or business under the tax code as it then stood. Congress closed that door specifically, and closed it broadly, worded to reach any trade or business trafficking in a Schedule I or II substance, not narrowly to the fact pattern of that one case.
For roughly two decades afterward, 280E was a niche provision, rarely invoked outside exactly the kind of criminal-trafficking case it was written for. That changed once states began licensing medical and then adult-use cannabis sales — a wave of entirely legal, state-regulated businesses that nonetheless matched 280E's plain statutory language precisely, because nothing in the statute itself ever required the trafficking to be illegal under state law, only that the substance be federally scheduled. The IRS began applying 280E to state-licensed cannabis businesses as that industry grew, and a series of Tax Court cases through the 2010s and 2020s largely upheld that application, cementing the provision's reach over an industry it was never written with in mind.
Three misconceptions worth retiring
“Our state legalized cannabis, so federal tax law must treat us normally by now.”
State legalization and federal scheduling are entirely separate systems. Nothing about a state's own licensing regime changes how the federal tax code treats the business, and there's no general exception written into 280E for a state-compliant operator.
“If we're profitable enough to survive 280E, we must be handling it correctly.”
Survivability and correctness aren't the same thing. A business can be overpaying tax through overly conservative classification, or carrying real audit risk through overly aggressive classification, and remain profitable enough either way that nobody notices until an examination happens.
“Once our COGS number is on the return, the work is done.”
The number is only half of it. Without a line-level trail showing how that number was built, it's a claim without support — which is a materially weaker position than the identical number backed by documented, consistent classification.
What a defensible recordkeeping standard actually requires
“Defensible” doesn't mean elaborate. A recordkeeping standard that actually holds up under examination has three simple properties: every classification decision is made close to when the transaction happened, not reconstructed later; every decision is traceable to the specific invoice or bank line it came from; and every revision to an earlier classification is itself recorded, not silently overwritten.
None of that requires specialized software as a precondition — a disciplined spreadsheet, updated consistently, meets the standard. What it does require is genuine consistency, applied every month, which is precisely the habit most businesses struggle to maintain by hand once the volume of transactions grows past what one person can comfortably review in the time they actually have for it.
The practical takeaway
None of the ten causes above require a dramatic fix — each one is solved by a specific, fairly small change in habit: classify as transactions happen, not at filing time; separate activities cleanly; document every judgment call; use a cannabis-aware chart of accounts from the start. None of it is complicated. What it requires is treating 280E as a daily discipline rather than an annual filing problem, which is the one habit that actually changes the outcome — see COGS vs. OPEX tagging for 280E for how that daily classification step can run against every vendor invoice and bank transaction automatically, with the genuinely hard calls flagged for a person rather than guessed at.
