Introduction
A cannabis business’s bookkeeping has one job: produce defensible numbers that survive (1) tax scrutiny—especially IRC §280E, (2) state excise/sales tax audits, and (3) licensing “track-and-trace” inspections.
The practical implication of §280E is blunt: most operating expenses don’t reduce federal taxable income, so the bookkeeping system must be built to (a) correctly compute gross receipts, (b) accurately compute COGS within IRS rules, and (c) maintain a clean audit trail that ties POS → seed-to-sale → general ledger → tax returns.
This guide is written as a scalable framework: it works for a single dispensary, a cultivation site, or a vertically integrated operator, and it scales up by adding tighter controls, deeper cost accounting, and stronger segregation of duties.
The highest-leverage design choices are:
- Department-based bookkeeping (cultivation / processing / retail / distribution / admin) tied to a cannabis-specific chart of accounts so you can cleanly separate COGS vs. §280E-disallowed OPEX at year-end without “spreadsheet archaeology.”
- Inventory discipline (e.g., perpetual inventory, routine cycle counts, documented adjustments, and formal cutoff procedures) because inventory is both a compliance object (seed-to-sale) and a tax object (COGS).
- Cash-first internal controls (daily cash counts, armored transport processes, surprise audits) because banking access varies and cannabis remains cash-intensive in many markets.
This report includes: a state comparison table (CA, CO, WA, OR, IL, MI, AZ, NV, MA, NY), a cannabis-tailored chart of accounts template, software comparisons with pricing tiers (where public), inventory valuation examples, a flowchart workflow, and sample financial statements.
Federal tax and IRS accounting rules

What IRC §280E changes in bookkeeping
IRC §280E disallows deductions and credits for amounts paid or incurred in a trade or business that consists of trafficking in controlled substances (Schedule I or II) that is illegal under federal law (or the law of the state where conducted). Cannabis businesses are generally treated as captured by §280E while cannabis remains a Schedule I controlled substance under federal law.
Bookkeeping consequence: you must treat the income statement as two layers:
- Economic P&L (GAAP-style): revenue – COGS – operating expenses = operating income.
- Federal taxable income (280E overlay): revenue – allowable COGS only (most operating expenses do not reduce taxable income).
A key nuance is that COGS is not a deduction in the same way operating expenses are; it reduces gross receipts to arrive at gross income. This is the core reason inventory accounting becomes mission-critical in cannabis.
COGS boundaries: reseller vs. producer and why Harborside matters
For federal tax, what you can include in COGS depends heavily on whether you are treated as a reseller or a producer/manufacturer for inventory-costing purposes, because different rules apply to each.
- The Internal Revenue Service has taken the position that §471 and its regulations define what costs are properly inventoriable for a cannabis business (and that §263A’s broader capitalization rules cannot be used to “push” otherwise-disallowed operating expenses into COGS).
- In Patients Mutual Assistance Collective Corp. (Harborside), the U.S. Tax Court concluded that §280E disallowed ordinary and necessary deductions and that §263A could not be used to capitalize those disallowed amounts into COGS; the taxpayer’s COGS had to be computed under the applicable §471 rules.
Practical bookkeeping rule:
- Retailers/resellers should be very conservative: COGS typically centers on invoice cost of inventory + freight/transport to acquire it, consistent with reseller inventory costing.
- Cultivators/manufacturers can generally capitalize a broader set of production costs into inventory (within §471’s producer costing concepts), but still must document and apply a consistent method.
This is why you should build the ledger so you can prove, from source documents, where each “COGS” dollar came from: vendor bills, labor records, production logs, and inventory movements.
Court cases that shape safe structure and activity separation
Two recurring themes in cannabis tax examinations are (a) “is this really two businesses?” and (b) “are you over-capitalizing costs?”
- CHAMP supports the idea that a taxpayer can have more than one trade or business, and §280E does not automatically disallow deductions attributable to a separate, lawful trade or business; the case turned on facts showing substantial caregiving services distinct from cannabis sales.
- Olive shows the opposite outcome: where the court found the taxpayer effectively operated a single cannabis-trafficking business (even if it had “other” services), deductions were disallowed under §280E.
- Harborside further underscores that “add-on” activities that are tightly integrated with cannabis sales may not qualify as a separate business for §280E purposes, and it constrained attempts to expand COGS using §263A.
Bookkeeping implication: if you plan any multi-entity or multi-activity strategy, your books must support it with (at minimum) separate cost centers, clean intercompany billing, and documentation that the non-cannabis activity is economically real, and not just a label.
Payroll and employment tax compliance still applies normally
Even if §280E disallows wage deductions for federal income tax purposes (outside allowable inventoriable labor), employers still must comply with federal employment tax rules: withholding, depositing, and reporting.
Key mechanics that affect your bookkeeping workflow:
- Deposit schedules (monthly vs. semiweekly) drive how you should set up payroll accrual and cash forecasting.
- Employment tax deposits must generally be made electronically (e.g., through EFT methods including EFTPS).
- Quarterly filing via Form 941 is a core compliance cadence that should be integrated into monthly close checklists.
Cash transaction reporting: Form 8300 is a cannabis reality
Because cannabis operators often receive large cash payments, Form 8300 compliance becomes operational, not theoretical: businesses must report cash payments over $10,000 received in a trade or business, and the IRS has emphasized electronic filing rules and requirements in recent years.
Bookkeeping should treat Form 8300 as a front-office + accounting workflow (POS flags + daily cash log + review + filing), not as a year-end task.
Federal §280E mitigation strategies: what bookkeeping can (and cannot) do
There is no bookkeeping trick that makes §280E disappear. The only durable levers are legal structure, accurate classification, and fully substantiated COGS. The highest-defensibility strategies are:
- COGS maximization within §471 limits (not “creative” re-labeling). Your accounting system must capture direct production costs and allowable indirect production costs with documentation that ties cost → batch/lot → inventory valuation → COGS.
- Fact-supported separation of trades/businesses (the CHAMP concept) when truly applicable; this requires separate staffing, separate workflows, and separate books/records strong enough to withstand an IRS “single business” argument (as seen in Olive/Harborside).
- Clean intercompany accounting if using multiple entities: documented agreements, arms-length pricing, consistent allocations, and a clear nexus between services provided and fees charged. (This is where bookkeeping discipline is a precondition for any viable structure.)
A practical best practice is to maintain two internal P&L views every month: (1) GAAP/managerial, and (2) “280E view” that reclassifies non-inventoriable operating expenses into a tracked bucket so your tax team can compute federal taxable income efficiently and consistently.
State tax variations and cannabis taxes by market

State tax rules differ in three big ways that affect bookkeeping design:
- Whether the state’s income tax system conforms to §280E or provides a state-level deduction carveout.
- The structure of cannabis excise taxes (retail %, wholesale %, potency-based, flat fees) and whether adult-use cannabis is also subject to ordinary sales tax.
- The compliance stack: state-mandated seed-to-sale/traceability systems and what data must match financial records.
The table below is a bookkeeping-oriented snapshot for major markets (not legal advice). Always confirm current rates and local additions.
State comparison table for bookkeeping design
| Market | Income tax & §280E treatment (examples) | Cannabis excise / special taxes (headline) | Sales/use tax handling (headline) | Primary tax authority (for filings) | Track-and-trace / seed-to-sale |
|---|---|---|---|---|---|
| California | CA provides §280E relief on the personal income tax side for licensed taxpayers; legislation extends the personal-income-tax relief through Dec 31, 2029 (confirm corporate/franchise treatment separately). See CA FTB cannabis tax law and legislation. | CA imposes a cannabis excise tax administered by CDTFA; calculation method/rates have changed in recent years — verify current rate and base at time of filing. See CA cannabis tax FAQ. | Retail sales tax generally applies; cannabis excise handling affects POS receipts and tax payable accounts. | California Department of Tax and Fee Administration | CCTT–METRC is required for state-licensed operators; certain delivery recordkeeping must be entered into the state track-and-trace system. See California cannabis track-and-trace (CDFA). |
| Colorado | Colorado has a state-level “marijuana business expense” deduction framework (state relief from §280E effects). | Retail marijuana sales tax and excise tax are major bookkeeping liabilities; local taxes commonly layer on top. | State and local sales taxes also apply depending on transaction; separate tax payable subaccounts help. | Colorado Department of Revenue | Inventory Tracking System rules require tracking (commonly via Metrc) and daily reconciliation expectations. See Colorado Marijuana Enforcement Division rules. |
| Washington | No broad-based state income tax in the way income-tax states compute §280E; focus is on gross-receipts style taxes and excise. | Retailers collect a 37% cannabis excise tax; LCB is the accepting agency for that excise. | Retail sales tax applies; excise is excluded from the selling price for certain tax computations per WA guidance. See WA DOR cannabis retailers guidance. | Washington Department of Revenue | Washington uses the in-house Cannabis Central Reporting System (CCRS) as its traceability data-reporting platform. See WA LCB CCRS. |
| Oregon | Oregon allows marijuana businesses to deduct expenses otherwise barred by §280E when the activity is state-authorized (example cited in OR corporate instructions referencing ORS 317.363). See OR corporate instructions. | Retail marijuana tax is 17%, with some localities adding up to 3%; DOR collects certain local marijuana taxes. See OR DOR marijuana taxes. | Oregon has no general sales tax, but the marijuana retail tax is a dedicated tax requiring its own liability tracking. | Oregon Department of Revenue | Oregon’s Cannabis Tracking System is administered as “CTS (Metrc)” for many recreational and certain medical operations. See OLCC CTS guide. |
| Illinois | Illinois provides a deduction allowing licensed cannabis establishments to deduct business expenses disallowed under §280E for taxable years beginning on/after Jan 1, 2023. | Illinois uses multiple cannabis taxes (e.g., purchaser excise and cultivation privilege taxes). | Adult-use cannabis is generally taxed at general merchandise sales tax rates plus local cannabis occupation taxes; medical treatment differs. | Illinois Department of Revenue | Illinois requires Metrc RFID tags and a state seed-to-sale system. See IL seed-to-sale tracking. |
| Michigan | Michigan allows “ordinary and necessary” expense deductions for certain adult-use marihuana establishments under MRTMA; Michigan Treasury guidance clarifies scope and the distinction between adult-use vs medical businesses. See Michigan RAB 2022-26. | Adult-use excise and sales tax must be tracked separately; medical treatment can differ. See MI Treasury notice on adult-use wholesale tax. | Sales/use tax rules affect accessories and non-cannabis items; cannabis tax treatment varies by program. | Michigan Department of Treasury | Michigan’s statewide marijuana monitoring system is Metrc (tags on plants/packages). See MI CRA Metrc info. |
| Arizona | Arizona allows licensed marijuana taxpayers to subtract ordinary and necessary expenses that would otherwise be disallowed by IRC §280E (see AZ corporate schedule instructions). See AZ corporate instructions. | Adult-use marijuana excise is reported on Form MET-1; inventory schedule is required by statute. See AZ DOR adult-use marijuana filing requirements. | Transaction Privilege Tax (TPT) applies; MET is deductible from the retail tax base for TPT purposes per AZ guidance. | Arizona Department of Revenue | Arizona regulations require an inventory control system documenting daily inventory movements, but the state approach can differ from “single mandated vendor” models. |
| Nevada | Nevada has no state income tax; most cannabis bookkeeping focus is excise, sales tax, and regulatory reporting. | Nevada imposes a 10% retail excise on adult-use retail sales and 15% wholesale excise (statute and NV tax forms/reports). See NRS 372A (Nevada cannabis excise tax). | Sales/use tax applies to taxable sales; excise taxes are separate liabilities and must reconcile to state filings. | Nevada Department of Taxation | Nevada requires METRC and reports establishment data via Metrc. See Nevada CCB guidance. |
| Massachusetts | Massachusetts decoupled from IRC §280E for licensed marijuana businesses for tax years beginning on/after Jan 1, 2022. See MA 2022 tax law changes. | Adult-use transfers are subject to 10.75% excise, plus 6.25% sales, with potential local option up to 3%. See 830 CMR 64N.1.1 (Marijuana Retail Taxes). | Sales tax generally applies to adult-use; medical treatment differs (often tax-exempt in certain contexts). | Massachusetts Department of Revenue | Massachusetts employs Metrc for seed-to-sale tracking; licensees must maintain a seed-to-sale system. |
| New York | New York State enacted a state-level corporation tax deduction tied to §280E-disallowed deductions, and later extended similar relief for NYC local business taxes. See NY Senate bill S7508. | Adult-use tax structure includes a 13% retail tax (9% state + 4% local) and a distributor-level tax; rates and structure have evolved. See NY Dept. of Taxation and Finance: adult-use cannabis. | Adult-use cannabis tax registration and certificates of registration are required; cannabis-tax reporting is distinct from general sales tax processes in many cases. | New York State Department of Taxation and Finance | New York requires credentialing in Metrc for STS compliance; OCM publishes seed-to-sale guidance and FAQs. See NY OCM seed-to-sale and NY STS FAQs. |
How to use this table in bookkeeping design:
Treat every tax or quasi-tax (excise, special sales taxes, cultivation privilege taxes) as a separate liability stream with its own payable account, reconciliation, and filing calendar, because states often audit these taxes using POS + traceability data, not just GL totals.
Accounting standards and chart of accounts tailored to cannabis

US GAAP still applies; cannabis is not an accounting exception
Cannabis is a regulated product, but the financial statements are still built on standard US GAAP concepts: revenue recognition, inventory accounting, fixed assets, leases, and accruals. For many stakeholders, GAAP means keeping consistent accounting policies, documentation, and repeatable close processes.
The Financial Accounting Standards Board is recognized by the SEC as the designated accounting standard setter for public companies, and its standards underpin US GAAP expectations that often flow down into private-company reporting (lenders, investors, acquirers).
For inventory, GAAP recognizes multiple cost-flow assumptions (e.g., FIFO, weighted-average, LIFO) and requires consistency and appropriate disclosures; inventory guidance has been updated over time. See ASU 2015-11 for certain inventory measurement concepts.
Cannabis bookkeeping needs “tax-aware” financial reporting
Because §280E can make taxable income diverge sharply from GAAP income, cannabis operators benefit from a “tax-aware chart of accounts”. This means you still keep normal financial statements, but you design accounts so tax work is a structured transformation, not a rebuild.
Practical design principles:
- Use department or class tracking for cultivation / processing / retail / distribution / admin.
- Separate COGS accounts from operating expense accounts with enough granularity to support inventory capitalization and cost analytics.
- Add explicit “§280E Disallowed” expense groupings for month-to-month operational clarity and cleaner tax return preparation.
Chart of accounts template for cannabis businesses
Below is a starter template (adjust numbering to your system). The point is the structure: traceability-compatible inventory, COGS by function, and tax payable segmentation.
| Account range | Category | Cannabis-tailored accounts (examples) | Why it matters |
|---|---|---|---|
| 1000–1999 | Assets | Cash on hand (by location), Cash in transit, Checking (if available), Operating reserve | Cash-heavy operations need location-level visibility and reconciliations. |
| 1200–1299 | Assets | Accounts receivable (wholesale), Employee advances (controlled) | Wholesale terms and employee cash handling need controls. |
| 1300–1399 | Assets | Inventory: raw materials (packaging), Inventory: supplies, Inventory: plants (if your system supports), Inventory: WIP, Inventory: finished goods | Aligns GL with seed-to-sale stages; supports cost accounting and COGS. |
| 1500–1599 | Assets | Prepaids: insurance, licenses, rent; Deposits | Licensing-heavy environment makes prepaids common. |
| 1600–1799 | Assets | Fixed assets: cultivation equipment, processing equipment, POS hardware, leasehold improvements; Accumulated depreciation | Supports capex tracking separate from COGS and OPEX. |
| 2000–2999 | Liabilities | Accounts payable; Accrued payroll; Accrued taxes | Enables clean close and cash forecasting. |
| 2100–2199 | Liabilities | Sales tax payable (state/local), Cannabis excise tax payable (state), Local cannabis tax payable | Separate liabilities = easier audits and filings. |
| 2200–2299 | Liabilities | Payroll tax payable: FIT, SS/Medicare, FUTA/SUTA | Payroll compliance cadence ties to monthly close. |
| 2300–2399 | Liabilities | Customer deposits / gift cards / loyalty liability | Many POS systems sell gift cards; liability must reconcile to POS. |
| 3000–3999 | Equity | Owner equity / retained earnings / distributions | Needed for tax returns and investor reporting. |
| 4000–4999 | Revenue | Retail sales: cannabis (by product class), Retail sales: non-cannabis, Discounts/returns (contra revenue), Wholesale revenue | Separates taxable categories and supports margin analytics. |
| 5000–5999 | COGS | COGS: purchased inventory; COGS: cultivation inputs; COGS: direct labor (cultivation/processing); COGS: packaging; COGS: freight-in | COGS substantiation is the federal tax lifeline under §280E. |
| 6100–6999 | Operating expenses | Rent, utilities, marketing, admin wages, professional fees, repairs, security, bank/processing fees | Still tracked for business reality, even if not deductible federally. |
| 7100–7199 | “§280E Disallowed” expense subgroup (optional but useful) | Mirror key OPEX categories (rent, utilities, payroll, marketing) flagged as “280E-disallowed” | Makes monthly tax-aware reporting simpler without changing GAAP books. |
| 8000–8999 | Other | Interest expense, gains/losses, charitable, penalties | Keeps non-operating items distinct for reporting. |
Inventory valuation and cost accounting

Inventory valuation: choose the method, then prove it
Inventory valuation is the intersection of:
- Financial reporting (reasonable, consistent valuation and disclosures)
- Federal tax rules (COGS computation under §471 framework, constrained by §280E)
- State compliance (seed-to-sale requires item-level movement tracking; mismatches trigger audits)
Common valuation approaches you’ll see in cannabis books:
- FIFO (first-in, first-out): often intuitive for perishable goods.
- Weighted-average cost: practical when lots are commingled or frequently transformed (e.g., extraction inputs).
- Specific identification: strongest audit trail when high-value lots are distinct (common in wholesale batches).
Your seed-to-sale system (often Metrc) tracks quantities and movements; your accounting system must translate that into dollars using your chosen cost method. The system must also document adjustments (waste, shrink, remediation, destructions) with approvals.
Inventory methods in cannabis operations: practical layers
A workable cannabis inventory architecture typically includes:
- Units-of-measure alignment: grams, ounces, packages, milligrams THC (NY tax context), and conversions that match compliance rules.
- Stage gates: plant → harvest batch → dry/cure → production batch → finished package → retail sale.
- Reconciliation cadence: daily exceptions (negative inventory, unassigned packages), weekly cycle counts, monthly full reconciliation of Metrc/CCRS totals to GL inventory balances.
Examples: FIFO and weighted-average in a cannabis business
These examples are illustrative and use simplified numbers.
Example: FIFO for a dispensary purchasing flower
- Purchase 1: 10 units @ $80 = $800
- Purchase 2: 10 units @ $90 = $900
- Units sold in month: 12 units
FIFO COGS: first 10 units from Purchase 1 ($800) + next 2 units from Purchase 2 ($180) = $980
Ending inventory: remaining 8 units from Purchase 2 = 8 × $90 = $720
FIFO is easy to explain to auditors and often aligns with physical flow for retail goods.
Example: weighted-average for processing inputs
- Beginning supply: 5 kg input @ $400/kg = $2,000
- New purchase: 15 kg input @ $360/kg = $5,400
- Total: 20 kg costing $7,400 → avg cost = $370/kg
- Used in production: 12 kg → COGS/WIP input cost = 12 × $370 = $4,440
- Ending input inventory: 8 kg → $2,960
Weighted-average is common where lots are blended and transformations are frequent.
Cost accounting by license type: cultivation, processing, retail
Because §280E elevates COGS importance, you want cost accounting that (1) is operationally useful and (2) maps to defensible inventory costing.
Cultivation cost structure
Typical cost buckets (mapped to “inventoriable” vs “period” for internal reporting):
- Direct materials: seeds/clones, nutrients, grow media
- Direct labor: cultivation technicians (track hours by room/strain when possible)
- Indirect production: facility rent (grow portion), utilities, integrated pest management, QA, depreciation on grow equipment
- Harvest and post-harvest: trimming labor, drying, curing supplies
Your seed-to-sale system provides the “production spine” (plants, batches, yields). Your accounting provides the “cost spine” (labor, bills, depreciation). The goal is to allocate costs to batches in a consistent way that you can explain.
Processing/manufacturing cost structure
Key buckets:
- Input material cost (biomass, trim, distillate)
- Packaging and labeling (often traceability-relevant)
- Direct labor (extraction techs, packaging staff)
- Lab testing, compliance, QA
- Yield and loss tracking (expected vs actual recovery rates)
In many states, lab data flows into the state STS system; your internal batch costing must match the batch IDs you report.
Retail/dispensary cost structure
Retail is where many operators get tripped up under §280E: retailers tend to have heavy operating expenses (rent, budtenders, marketing), but federal deductibility is constrained, so they must be careful about what gets treated as inventoriable. Harborside is the reminder that the IRS and courts scrutinize attempts to broaden COGS for resellers.
Plant-level tracking and batch costing: the practical bridge
The “plant-level tracking” idea is simple: every cost you want to defend should be explainable by answering:
- Which plants/batches/packages did this cost support?
- How did the cost enter inventory value (method, allocation base, timing)?
- Where’s the source document (invoice, payroll register, timecard, utility bill)?
- Where is the traceability record (Metrc/CCRS event) that shows the inventory movement?
This is exactly why cannabis operators benefit from integration between seed-to-sale and accounting systems.
Systems integration, cash management, internal controls, and audit trails

Banking constraints and why cash controls must be designed, not improvised
Federal money-laundering and banking compliance expectations create a constrained banking environment for cannabis. The Financial Crimes Enforcement Network guidance for marijuana-related businesses sets expectations for financial institutions under the Bank Secrecy Act framework and shapes the due diligence burden that many banks apply to cannabis operators.
Because many operators still face limited banking and payment processing options, bookkeeping must assume:
- High volumes of cash receipts
- Frequent cash drops and transfers
- Greater theft/shrink risk
- Higher compliance scrutiny around cash records and tax remittances
POS, seed-to-sale, and general ledger: how the data should flow
A clean cannabis bookkeeping stack has three ledgers that must agree:
- POS ledger (sales, discounts, returns, tender types, customer counts)
- STS ledger (plants/batches/packages, transfers, destructions, lab results)
- Financial ledger (GL: revenue, inventory, COGS, taxes payable, cash)
A practical retail example: Dutchie describes POS capabilities like compliance features and traceability support; regardless of vendor, the bookkeeping requirement is the same—POS detail must reconcile to tax filings and cash.
Workflow for cannabis bookkeeping

Internal controls: use COSO as your control spine
The COSO Internal Control Integrated Framework is widely used to structure internal control systems around five components (control environment, risk assessment, control activities, information/communication, monitoring). It’s a useful blueprint for cannabis because you must prove controls over cash, inventory, and reporting.
A cannabis-appropriate control set usually includes:
- Segregation of duties (as much as your size allows):
- cashiering vs. cash reconciliation vs. deposit/transport approval
- inventory receiving vs. inventory adjustment approval vs. inventory counting
- System access controls: POS/STS user roles, approval workflows, audit logs, terminated-user removal.
- Daily cash variance log with thresholds and escalation
- Documented inventory adjustment policy (allowed reasons, required evidence, manager approval)
- Monthly reconciliation package retained for audit defense (POS summary, STS inventory reports, GL tie-outs, tax schedules).
For audit trails and external audits, the American Institute of Certified Public Accountants publishes Statements on Auditing Standards (SASs), including the AU-C sections that govern audit evidence and documentation expectations—useful as a benchmark even for unaudited companies that want audit-ready books.
Compliance reporting: what bookkeeping must be able to produce on demand
At minimum, your systems should be able to produce, quickly:
- Sales summaries by store/day/product category (POS)
- Inventory on hand by product and batch/package (STS)
- Excise tax detail supporting filings (state-specific)
- Cash logs and Form 8300 support files where relevant
- Payroll registers and employment tax deposit/filing support (Forms 941/940, etc.)
Software recommendations with feature and pricing comparisons
No software “fixes” §280E. The right software reduces manual work and improves defensibility by preserving detail and audit trails.
A practical stack is typically:
- Accounting GL (QBO/Xero/ERP)
- Payroll (service + timekeeping)
- POS (retail)
- STS/traceability (state-mandated or state-facing requirements)
- Middleware/integrations (or an ERP that natively integrates)
Software comparison table
Pricing changes frequently; values below reflect publicly listed pricing where available as of late Feb 2026 or “contact vendor” where pricing is quote-based.
| Category | Tool | Best-fit cannabis use case | Key strengths for bookkeeping | Pricing visibility |
|---|---|---|---|---|
| Accounting (SMB) | QuickBooks Online | Small to mid operators needing mainstream accounting workflows | Familiar chart of accounts, class/location tracking, easy accountant collaboration, large app ecosystem | Public pricing tiers (Simple Start/Essentials/Plus/Advanced with listed monthly prices). |
| Accounting (SMB) | Xero | SMB operators wanting simpler user model and integrations | No per-user license fees idea in plan design; strong bank feed workflows where banking exists | Public US plan pricing (Early/Growing/Established). |
| Accounting (SMB) | Zoho Books | Cost-sensitive operators; bookkeeping-heavy businesses | Multiple plans (Free/Standard/Professional/Premium/Elite/Ultimate) and built-in automation features | Tier names and feature limits publicly listed; exact prices depend on billing/region on vendor page. |
| POS (retail) | Dutchie POS | Dispensaries needing compliant POS with traceability support | Built-in traceability concept, advanced reporting, support content on tax breakdowns | Pricing is “contact vendor”; plans are quote-based. |
| Seed-to-sale (regulatory) | Metrc | States requiring Metrc reporting; also a compliance anchor for integrations | RFID/UID tracking, standardized event logs, regulator-facing audit trail | System access may be included/mandated; states/vendors vary. NY notes no monthly cost for Metrc credential maintenance in its FAQs. |
| Traceability (WA) | Cannabis Central Reporting System | Washington reporting compliance | State in-house reporting platform; requires integration-ready reporting | State system (not commercial pricing). |
Selection guidance:
Pick accounting software first based on (1) your need for class/location tracking, (2) your app/integration ecosystem, and (3) the competency of internal staff and external accountants in that platform. Then select POS/ERP based on your state compliance constraints and whether you need robust wholesale, manufacturing, or multi-store features.
Sample bookkeeping workflows, checklists, KPIs, and financial statement examples

Monthly, quarterly, annual cadence
A cannabis bookkeeping cadence is stronger when it is calendar-driven (close dates, filing dates) and reconciliation-driven (POS/STS/GL tie-outs).
Monthly close (core):
- Close POS month (lock prior period, export summary)
- Reconcile cash and bank accounts (or cash-in-transit logs)
- Reconcile inventory: STS on-hand quantities and key valuation reports to GL inventory value
- Reconcile sales tax and excise tax payable to filed/owing amounts
- Post payroll and reconcile payroll liabilities (941 cadence)
- Produce management P&L + “280E view” P&L
Quarterly:
- File payroll forms (e.g., Form 941), reconcile wage and tax accounts
- Estimated tax planning (federal and state, depending on structure)
- Review inventory reserves (shrink, obsolescence, remediation) and document basis
Annual:
- Physical inventory count with documented procedures and supervisor signoff
- Tax workpapers: §280E computations, state decoupling adjustments where applicable
- 1099/W-2 processes, payroll reconciliations
- Audit readiness package (even if no audit): close binders, control logs, inventory support
Sample monthly checklist table
| Timing | Task | Deliverable |
|---|---|---|
| Daily | POS close; cash count; variance log; safe drop | Daily POS Z-report; cash reconciliation sheet |
| Daily | STS updates: receipts, transfers, adjustments logged | STS exception report; adjustment approvals |
| Weekly | Cycle counts (high-risk SKUs); investigate shrink | Cycle count log; shrink analysis |
| Weekly | AP coding review: COGS vs OPEX vs taxes | Coding QA notes; corrected entries |
| Month-end +3 business days | Bank/cash reconciliation | Reconciled cash/bank accounts; explanation of reconciling items |
| Month-end +5 business days | Inventory reconciliation: STS quantities to GL; valuation roll-forward | Inventory roll-forward workbook + STS reports |
| Month-end +7 business days | Tax payable reconciliation (sales/excise/payroll) | Tax payable schedule tied to filing amounts |
| Month-end +10 business days | Management reporting and KPI pack | P&L, balance sheet, cash flow, KPI dashboard |
KPIs that actually matter under §280E and state excise regimes
Because §280E compresses after-tax cash flow, “normal” KPIs need a cannabis twist:
- Gross margin % (by department and product category)
- COGS per gram / per unit (cultivation yield economics)
- Inventory shrink % (by store, by SKU, by cause code)
- Inventory turnover and days on hand
- Cash variance rate (counted cash vs POS expected)
- Effective tax rate (cash) and “280E burden ratio” (estimated federal tax ÷ gross profit)
- Excise tax as % of gross receipts (state-specific)
Sample financial statements (illustrative)
Sample monthly P&L (one-location dispensary, simplified)
| Line item | Amount |
|---|---|
| Gross receipts | 480,000 |
| Discounts/returns (contra revenue) | (20,000) |
| Net sales | 460,000 |
| COGS | (270,000) |
| Gross profit | 190,000 |
| Operating expenses (rent, payroll, marketing, security, etc.) | (165,000) |
| Operating income (GAAP-style) | 25,000 |
Illustrative “280E view” concept: if most operating expenses are disallowed federally, taxable income can be much closer to gross profit than to operating income, depending on allowable COGS.
Sample balance sheet (end of month, simplified)
| Assets | Amount | Liabilities & Equity | Amount |
|---|---|---|---|
| Cash on hand / in transit | 95,000 | Accounts payable | 42,000 |
| Bank cash | 30,000 | Sales tax payable | 18,000 |
| Inventory | 210,000 | Cannabis excise tax payable | 55,000 |
| Prepaids | 12,000 | Payroll tax payable | 14,000 |
| Fixed assets (net) | 160,000 | Other liabilities | 6,000 |
| Total assets | 507,000 | Owner equity | 372,000 |
| Total L&E | 507,000 |
Common mistakes and remediation
The problems below show up repeatedly in audits and “why is my tax bill insane?” post-mortems:
Misclassifying expenses into COGS to “beat 280E”
This is the fastest path to an unpleasant audit. Remediation is to rebuild COGS from source documents and inventory costing rules, then lock the policy and train AP/payroll coding.
Unreconciled POS to deposits (or cash logs)
Remediation is a daily cash reconciliation, variance thresholds, and supervisor approvals, plus periodic surprise counts.
STS inventory doesn’t match GL inventory
This is usually caused by timing cutoffs, missing adjustments, or unit-of-measure errors. Remediation is a monthly STS-to-GL reconciliation pack and tighter receiving/adjustment controls.
Tax liabilities not separated in the GL
When excise and sales taxes are posted into one “tax” bucket, audits get messy. Remediation is separate payable accounts for each tax stream and a filing calendar tied to close.
State income tax decoupling not reflected in state provision
In states that decouple from §280E, you need state-level tax workpapers that reverse federal disallowances appropriately (and within state rules). Remediation is a state tax adjustment schedule maintained monthly.