A cycle count is only as good as the sheet you count against, and the reason code you write next to every variance is what turns a number into an audit trail.
A cannabis cycle count template is the fillable count sheet your team carries onto the floor: a header that records who counted, where, and when, and a row grid that captures the system quantity, the physical count, the variance, and the reason code for every SKU checked. This page gives you the full template field-by-field, the eight adjustment reason codes that explain a discrepancy, the 6-step process that wraps around the sheet, and a worked example row so you can see exactly how a real count line gets filled in. It is the working companion to the broader cannabis cycle count guide, which covers the jurisdictional rules, counting methods, and shrinkage controls in depth.
Counting a subset of inventory on a rotating schedule, rather than halting operations for a full physical count, is what keeps a licensed cannabis facility audit-ready year-round. The template is the artefact that proves the count happened. Without a consistent sheet, a count is a memory; with one, it is evidence.
What Goes on a Cannabis Cycle Count Template?
A cannabis cycle count template has two parts: a header block that frames the count, and a row grid that captures the per-SKU result. The header answers the audit questions an inspector asks first (who, where, when, who verified). The row grid is where the counting happens, line by line, SKU by SKU. Below is the full field list for each.
The header fields
| Header field | What it records | Why it matters |
|---|---|---|
| Count Date | The calendar date the count was performed. | Anchors the record to the reconciliation schedule. Auditors expect a continuous history of dated count records. |
| Counted By | The staff member who physically performed the count. | Establishes accountability and is the first half of the two-person rule. |
| Facility | The site or licensed premises where the count took place. | Multi-site operators must keep counts traceable to a single licensed location. |
| Verified By | A second staff member who reviews and signs off the count. | The second half of segregation of duties. One counts, another verifies and signs. |
| Count Area | The room or zone counted (vault, processing lab, packaging, cultivation room). | Supports location-based rotation and tells the auditor what was in scope for this sheet. |
| Batch Range | The batch numbers covered by this count sheet. | Scopes the count to specific lots so nothing is double-counted or skipped. |
| Count Type | Blind or open, and the method (ABC class, location rotation). | A blind count records that the counter did not see the expected quantity, which removes confirmation bias. |
The row columns
| Row column | What it captures |
|---|---|
| Product / SKU | The product name and stock-keeping unit being counted. |
| Batch # | The batch or lot identifier the units belong to. |
| Location | The shelf, bin, or vault position where the units sit. |
| System Qty | The quantity the seed-to-sale system says should be present. On a blind count this column is left blank for the counter and filled afterward. |
| Physical Count | The quantity actually counted on the floor. |
| Variance | Physical Count minus System Qty. Negative means short, positive means over. |
| Reason Code | The standardized code that explains the variance (see the reason code table below). |
| Notes | Free text detail: the specific transaction, transfer, or sample that caused the difference. |
The Variance and Reason Code columns are the two that matter most at audit. A blank variance with a matching count is a clean line. A non-zero variance with no reason code is an open question an inspector will pull on. Every discrepancy needs a code and a note, even small ones.
The Adjustment Reason Codes Every Cannabis Cycle Count Template Needs
Adjustment reason codes are the standardized shorthand that explains why a physical count differs from the system quantity. They are an industry and operational convention drawn from the count template, not a single national standard, but using a consistent set across every count is what makes your variance history analysable. When you can group three months of counts by reason code, you can see whether your losses are mostly damage, mostly unlogged samples, or something that needs a theft investigation. The eight codes below are the standard legend on the GrowerIQ template.
| Code | Meaning | Typical cause |
|---|---|---|
| SAMP | Lab Sample | Units pulled for QA or potency testing and not yet logged out of the system. |
| DMG | Damage | Product broken, crushed, or spoiled and removed from sellable stock. |
| WL | Weight Loss | Moisture loss in dried flower or natural shrinkage over time. |
| ACCT | Data Entry Error | The most common discrepancy source. A mistyped quantity or a transaction posted to the wrong lot. |
| THEFT | Suspected Theft | Unexplained loss that triggers an investigation and, in many jurisdictions, a report to the regulator. |
| XFER | Transfer Not Recorded | Product physically moved between rooms or facilities but never entered as a transfer. |
| WASTE | Destruction / Waste | Product destroyed or sent to waste without the disposal being posted. |
| OTHER | Other | Any variance that does not fit the codes above. Always pair with a detailed note. |
Two codes deserve special handling. ACCT is the one you want to see most, because data entry errors are correctable and point to a training or workflow fix rather than a loss of product. THEFT is the one that changes the workflow entirely: a suspected-theft variance is not just a count adjustment, it is the start of an investigation and, depending on the jurisdiction, a mandatory report. Our cannabis inventory shrinkage reference covers the diversion and theft controls, and the cannabis inventory variance reference covers the investigation steps and reporting thresholds that a THEFT or large unexplained variance can trigger.
The 6-Step Cannabis Cycle Count Process
The template is the sheet. The process is what you do with it. The six steps below wrap around every count and turn a one-off tally into a continuous improvement loop. They run in order: Plan, Prepare, Count, Reconcile, Update, Improve.
- Plan. Decide what to count and when. Set the schedule (weekly for high-activity SKUs, at minimum a monthly full reconciliation broken into rolling counts) and choose the method: ABC classification by value and risk, or location-based rotation through vault, processing, packaging, and cultivation. High-value A items count weekly, moderate B items bi-weekly, lower-value C items monthly.
- Prepare. Generate the count sheet from the seed-to-sale system for the scoped batch range and count area. For a blind count, hide the System Qty column so the counter records only what they see. Assign the counter and the verifier in advance so segregation of duties is built in, not improvised.
- Count. Physically count each SKU at its location and record the Physical Count on the sheet. Scan barcodes where possible to remove transcription errors. The counter does not adjust anything at this stage; they record what is there.
- Reconcile. Fill in the System Qty, calculate the Variance for each row, and assign a reason code and note to every non-zero line. Any discrepancy gets a double-count by a different person before it is accepted. This is where the verifier earns their signature.
- Update. Post the verified adjustments back into the seed-to-sale system with the reason code attached, so the system quantity matches the floor. Every adjustment is logged with the user, the timestamp, and the reason for a complete audit trail.
- Improve. Analyse the variance history each month, group by reason code, and address root causes. A run of ACCT variances points to a data-entry or training fix; a run of XFER variances points to a transfer-logging gap in the workflow. Update the SOP and feed the change back into the next Plan step.
Why the reason code is the whole point
A variance with no reason code is an unexplained discrepancy, and in cannabis there is effectively zero tolerance for unaccounted product. California treats a difference of more than 3% of average monthly sales as a significant discrepancy that must be reported to the state, often within 24 hours. Colorado found that inventory and recordkeeping issues were the single largest compliance problem, comprising 16% of all violations in 2022. The reason code is what converts a raw number into a documented, defensible adjustment that survives an audit. It is the difference between “we are 2 units short” and “we are 2 units short because a lab sample was pulled and not logged, here is the sample record.”
A Worked Example: One Filled-In Count Row
Here is what a single completed row looks like on a cannabis cycle count template. The counter is working a blind count in the packaging area, so the System Qty was hidden during the count and filled in at the reconcile step.
| Product / SKU | Batch # | Location | System Qty | Physical Count | Variance | Reason Code | Notes |
|---|---|---|---|---|---|---|---|
| OG Kush 1g Pre-roll | BL-2026-007 | Shelf 4 | 85 | 83 | -2 | SAMP | Lab sample not logged |
Read it line by line. The system expected 85 pre-rolls; the counter found 83; the variance is minus 2. The reason code SAMP and the note “Lab sample not logged” explain the gap: two units were pulled for testing and the sample was never deducted from the system. The fix is to post the sample adjustment, which brings the system to 83 and matches the floor. No loss, no theft, no audit flag, just a documented timing gap closed by a reason code. That is the entire purpose of the template in one row.
If the variance had been larger, or the reason had been a suspected theft rather than a sample, the same row would feed straight into a variance investigation. The cannabis inventory reconciliation reference covers how often each jurisdiction expects you to reconcile (for example California and Washington at least every 30 days, Oregon at least every 14 days), and how the count records feed the monthly Cannabis Tracking and Licensing System (CTLS) report that Canadian licensed producers file by the 15th of each month.
Why Replace the Paper Count Sheet With Software?
A paper count sheet works, but it has two weaknesses: the System Qty has to be transcribed by hand, and the adjustment has to be re-keyed into the seed-to-sale system afterward. Both steps are where ACCT data-entry errors creep in. GrowerIQ removes both. It generates the count sheet directly from live inventory, lets staff enter counts digitally on a tablet or scanner, and auto-flags discrepancies the moment the physical count is entered. Every inventory action is logged with the user, the timestamp, and the reason code for a complete audit trail, across all inventory types from live plants to biomass to finished goods to waste.
That matters because cannabis inventory takes many forms, and every conversion or movement between forms is an opportunity for error that a spreadsheet handles poorly. GrowerIQ is cannabis seed-to-sale and operations software used by 200+ licensed facilities across 9 countries, and the cycle count workflow is built into the same system that holds your transfers, your transactions, and your regulatory reports, so the count and the adjustment never leave the audited record. For the underlying regulatory framework, Health Canada publishes its cannabis regulations for licensed producers, and the California Department of Cannabis Control publishes the state rules at the DCC website.
Frequently Asked Questions
What is a cannabis cycle count template?
A cannabis cycle count template is a fillable count sheet used to count a subset of inventory on a rotating schedule. It has a header block that records the Count Date, Counted By, Facility, Verified By, Count Area, Batch Range, and Count Type, and a row grid with columns for Product or SKU, Batch number, Location, System Quantity, Physical Count, Variance, Reason Code, and Notes. The template captures who counted what, where, and when, and explains every discrepancy with a standardized reason code so the count becomes a defensible audit record rather than an informal tally.
What are the adjustment reason codes on a cannabis cycle count template?
The standard legend uses eight codes: SAMP for a lab sample, DMG for damage, WL for weight loss, ACCT for a data entry error, THEFT for suspected theft, XFER for a transfer not recorded, WASTE for destruction or waste, and OTHER for anything that does not fit the other seven. These are an industry and operational convention from the count template rather than a single national standard, but applying them consistently lets you group your variance history by cause and see whether losses come from damage, unlogged samples, transfer gaps, or something that needs a theft investigation.
What are the 6 steps in the cannabis cycle count process?
The six steps are Plan, Prepare, Count, Reconcile, Update, and Improve. Plan sets the schedule and method. Prepare generates the count sheet and assigns the counter and verifier. Count records the physical quantity on the floor. Reconcile calculates the variance and assigns a reason code to every non-zero line. Update posts the verified adjustments back into the seed-to-sale system. Improve analyses the variance history monthly, addresses root causes, and feeds the change back into the next Plan step.
How is a blind count recorded on the template?
On a blind count, the System Qty column is hidden from the counter during the count, so the counter records only the Physical Count from what they actually see. The System Qty is filled in afterward at the reconcile step, and the variance is calculated then. Recording the count type as blind on the header documents that the counter had no prior knowledge of the expected quantity, which removes confirmation bias and is the reason blind counts are the recommended method for high-value cannabis inventory.
How often do cannabis facilities need to run cycle counts?
Reconciliation frequency depends on the jurisdiction and is set as a minimum, not a target. California and Washington require reconciliation at least every 30 days, Oregon at least every 14 days, and Colorado retail is effectively daily. Canadian licensed producers submit a monthly inventory report through the Cannabis Tracking and Licensing System by the 15th of each month, even if there was no activity. EU GMP exporters need full traceability and frequent audits per batch. Best practice across all of these is more frequent rolling cycle counts so discrepancies are caught well ahead of the reporting deadline.
Get the Full Cannabis Cycle Count Guide
The free PDF includes the fillable cycle count template, the eight-code reason legend, the 6-step process, the ABC and location-rotation counting methods, and the reconciliation rules for California, Colorado, Oregon, Washington, Canada CTLS, and EU GMP exporters, all in one field guide.
Download Free GuideRecommended For You
New Zealand’s Medicinal Cannabis Supply Grows 14x: From CBD Oils to THC-Dominant Flower
June 16, 2026Australia’s ODC Has Replaced the Cannabis Quarterly Reporting Template: What Permit Holders Need to Know
June 10, 2026HighIQ Webinar Series: Powering Precision Production with Total Grow Control
May 8, 2026About GrowerIQ
GrowerIQ is changing the way producers use software - transforming a regulatory requirement into a robust platform to learn, analyze, and improve performance.
To find out more about GrowerIQ and how we can help, fill out the form to the right, start a chat, or contact us.