
Ask a cannabis CFO how long it takes to close the books and you rarely get a number. You get a range.
The range is the finding. A close you can't predict isn't a close built on records. It's a close built on reconciliation, and reconciliation takes as long as the discrepancies take to chase down. Every month the team starts over, hunting for the same categories of difference between the same systems, and every month the finish date moves.
Finance teams in cannabis are not slower than finance teams anywhere else. They are working with data that was never structured to close on. Here is what actually consumes those fifteen days.
On a discovery call earlier this year, a controller said something we hear in some form almost every time:
It isn't, and it was never designed to be. State traceability systems are regulatory ledgers. They record what the state needs to see about plant and package movement. They do not carry cost. They do not carry labor. They do not roll into a general ledger.
But METRC is the system your cultivation and packaging teams touch every single day. When it's the only place everyone looks, it becomes the default answer to “how much do we have,” and the finance team inherits a version of inventory that has no financial dimension attached to it.
So close begins with a three-way variance hunt. The compliance system says one thing. The spreadsheets say another. The GL says a third. Someone has to explain the difference before any of it can be trusted, and in most operations nobody formally owns that reconciliation. It falls to whoever is fastest in Excel, which means it falls to the same person every month.
The most common sentence in cannabis cost accounting:
That came from a CFO at a California operation feeding a brand from roughly twenty farms, a mix of their own grows and contract growers. Smart operator, real scale, and no cost transparency below the department level.
This is the part that separates cannabis from every other manufacturer. Under 280E, cost of goods sold is the only meaningful deduction available. Everything you can legitimately absorb into inventory reduces taxable income. Everything you can't is a period expense you pay tax on.
That makes COGS a defensible position, not just a number. And a position needs an audit trail.
When absorption happens in a workbook after the period ends, there is no trail. Cost layers are reconstructed each month rather than carried forward. The logic lives in formulas one person understands. The result may be perfectly reasonable, but reasonable is a hard thing to defend three years later when the examiner wants to see how a specific harvest batch was costed.
From the same conversation, a different stakeholder:
Payroll runs in an HR platform. The HR platform doesn't talk to accounting. Hours arrive as a lump sum, get posted to a department, and stop there.
For 280E purposes that's a costly place to stop. Direct labor applied to production is absorbable. Labor sitting in a period expense bucket is not. Without time flowing to a work order and from the work order to a lot, the money is spent either way, but only one version of it reduces the tax bill.
There's an operational cost too. If you can't see labor per harvest, per room, or per strain, you can't answer whether a cultivar is actually profitable. You're making planting decisions on yield and price without the cost side of the equation.
One multi-entity organization we evaluated was running roughly forty allocation templates, consolidating manually, and closing in eight days. That's a well-run finance team outside of cannabis, with no traceability system and no 280E exposure.
Now add cannabis. Entities split by license. Shared services spread across cultivation, manufacturing, and retail with different tax treatment at each stage. Intercompany transfers that have to be priced and eliminated. A separate labor entity in some structures.
Every one of those allocations is a rule. If the rules live in spreadsheets rather than in the system, someone rebuilds them every month, and every rebuild is a chance to introduce an error that surfaces two months later.
If the on-hand number isn't trusted, the only way to get a number you believe is to go count it.
That's how a lot of operators close. Someone walks the vault, counts the room, reconciles the sheet. Now the accounting calendar is gated by a physical process that requires people, floor time, and often a compliance witness.
Perpetual inventory that stays accurate through transactions turns counting into cycle counts, which are a validation activity you run continuously rather than a gate you clear before closing.
Point of sale. Wholesale marketplace. Testing lab. Payroll. Cultivation tracking. Banking.
Each of those is a system with data finance needs, and in most operations each one is an export, a mapping, and a human being who knows how to do the mapping. Six systems is six exports, six formats, six opportunities for a column to shift.
This is the piece operators tend to underestimate, because none of the individual handoffs feel hard. Each one is twenty minutes. It's the aggregate, and the fact that the whole chain is sequential, that turns a five-day close into a fifteen-day one. Nothing can be validated until everything upstream has landed.
None of the above is an accounting problem, which is why hiring another accountant rarely fixes it. The team isn't slow. The inputs are unreliable, and unreliable inputs mean the work of closing is investigation rather than review.
The operators who close fast have four things in place:
Perpetual inventory carrying cost. One system where quantity and value move together, at the lot level, updated by the transaction rather than by a month-end adjustment.
Costing at the lot. Materials, labor, and overhead absorbed into the batch as production happens, so COGS is a record of what occurred rather than a calculation performed later. Parent lots pass cost to child lots through every conversion.
Labor on the work order. Time captured against the task, valued at a rate, flowing into the batch. This is the single highest-leverage change for most cannabis operators, because it converts a period expense into an absorbable cost and simultaneously gives cultivation real unit economics.
Reconciliation as an exception report. The compliance system and the ERP should be synchronized continuously, with differences surfacing daily as a short list to investigate. Not a month-end scavenger hunt. A queue.
Get those four in place and the closing activity becomes what it is in other industries: reviewing a set of numbers the system already produced, rather than assembling numbers from scratch and hoping they hold.
If you want a single diagnostic before changing anything, track this for three months: the gap between your earliest close and your latest close.
A team that closes in eight days every month has a process. A team that closes somewhere between seven and eighteen days depending on what breaks has a reconciliation exercise wearing a process costume. The variance tells you more than the average does, and it's the thing that disappears first when the underlying data structure changes.