Skip to content

Now partnering in every legal market, across the US and abroad.Talk to us [email protected]

What does cannabis point of sale software have to do?

Taking the money is the easy part. The rest of the job is refusing, recording and reporting, and every piece of it traces to a rule somebody wrote down.

Written from primary sources and checked against them. As of October 19, 2026. How that is done.

Short answer

What does cannabis point of sale software have to do?

A cannabis register has five jobs beyond taking payment: refuse the sales the state prohibits, tie every line to the state's own identifier for the package it came from, calculate and separately state the tax, report the transaction into the state's tracking system, and leave a record that can be reproduced years later.

What each of those means is set by the state, not by the software. Bloom has published 479 rules that gate a register across 13 states: Arizona, California, Colorado, Illinois, Maryland, Massachusetts, Michigan, Missouri, Nevada, New Jersey, New York, Oregon and Washington. Each carries the moment it fires, what it does when it fires, and the citation it came from, and the shape of all of them is below.

The job is not taking the money

Any till can take a card. What makes a cannabis register a different piece of software is that most of its work happens before the payment and after it, and almost none of that work is optional or configurable.

Before: is this person old enough, and is the document proving it one the rule accepts. Is the shop allowed to be selling at this hour. Has this package passed the test it has to pass. Would this basket exceed a ceiling that is measured in grams for one category and millilitres for another. Is this discount one the state permits, or one it specifically forbids because of what else is in the basket.

After: the transaction has to appear in the state's system as a sale against a specific tagged package, the tax has to be stated separately on a document with defined contents, the inventory has to reconcile by a deadline that is usually the following morning, and every one of those steps has to still be explainable when somebody asks about it next year.

None of that is a feature. It is the rule, and a system that treats it as a feature will have it switched off in some shop somewhere because it was getting in the way.

Where a rule fires

13 of 52 jurisdictions published. A jurisdiction appears only after its rules have been read against its own statute and administrative code.

Published rules by the moment each fires, across 13 states
MomentRulesStatesOutcomes
sale14013warn, require approval, block, allow
delivery9413block, allow, require approval, warn
advertising3213block, require approval, warn
age verify3213block, require approval
record retention2513block, warn
patient verify2213require approval, block, allow
transfer in1812block, warn
reporting1610block, warn, require approval
destruction1513block
labeling1513block
transfer out1510block
inventory adjust1313block, require approval
return1313block, warn, require approval
discount1110require approval, block, allow
shift close1110warn, block
sample75block

Every published rule carries the moment it fires as a field rather than as a paragraph of prose, which is what makes it enforceable by a machine instead of memorable by a person. The moments are ordinary shop events: verifying an age, ringing a sale, applying a discount, taking a return, receiving a transfer, sending one out, closing a shift, destroying waste, adjusting a count, printing a label, making a delivery, filing a report.

That framing is the difference between software that enforces rules and software that displays them. A rule attached to the moment it applies fires on its own. A rule written in a help article fires when somebody remembers it.

The column that repays a second look is the state count. Where a moment carries rules in every published state, it is a genuine constant of the category and any serious system has to model it. Where it carries rules in only some, it is a place where a system built for one market quietly does the wrong thing in another.

Block, warn, or require approval

374 of the 479 published rules carry the outcome block. That word is doing real work. A rule whose outcome is block describes conduct the state prohibits, and a message a cashier can dismiss on a busy Friday is not an implementation of it. The correct behaviour is that the sale does not complete.

Warn is different and it is not weaker, it is narrower. It marks the places where a person has to exercise judgment that software cannot: whether somebody is visibly intoxicated, whether a document looks altered. Software cannot make that call, so what it owes is to raise the question, capture the answer, and record who answered it. The value of a warning is entirely in the record it leaves.

Require approval sits between them. The transaction is permitted but only on a condition somebody has to attest to, and the attestation is the point. If your system has a supervisor override, the useful question is what it writes down when it is used.

One state's rules, in full

Show the published rules for

Showing Arizona. Every published fact for it, including the ones this page does not use, is on its own page.

Arizona: 40 published rules by moment
sale13warn, require approval, block
delivery7block, allow
advertising2block, require approval
age verify2block
patient verify2require approval, block
record retention2block, warn
reporting2block, warn
transfer in2block
transfer out2block
destruction1block
discount1require approval
inventory adjust1block
labeling1block
return1block
shift close1warn

Below is every published rule for Arizona that fires while a customer is at the counter: verifying age, verifying a card, ringing the sale, applying a discount, taking a return, handling a sample. A further 20 rules fire away from it, and they are on the Arizona page in full.

AZ · sale · warn

A marijuana establishment must keep its retail site open to consumers at least 30 hours weekly between 7:00 a.m. and 10:00 p.m., and must post where entering consumers can see them its approval to operate, its licence, the hours during which it will sell, and the ADHS-format sign warning of dangers to fetuses from marijuana while pregnant or to infants while breastfeeding and of the risk of a report to the Department of Child Safety.

A.A.C. R9-18-308(A)(1)(a) and (A)(15)(a) to (d); A.R.S. 36-2854(A)(11); A.R.S. 36-2803(B) (same posted-sign duty for a nonprofit medical marijuana dispensary)

read September 6, 2026

AZ · sale · require approval

A city, town or county may regulate the time, place and manner of marijuana establishment operations, may limit or prohibit establishments outright, may restrict public signage, and may prohibit or restrict delivery within its jurisdiction, so every store and every delivery destination must be checked against local ordinance.

A.R.S. 36-2857(A)(1) to (6) and (B); A.R.S. 36-2857(C) (limits on how far a locality may go); A.A.C. R9-18-308(A)(4)

read September 6, 2026

AZ · age verify · block

No sale, transfer or provision of marijuana or a marijuana product to anyone under 21; a consumer is by definition an individual at least twenty-one years of age.

A.R.S. 36-2850(4) (definition of consumer); A.R.S. 36-2851(4) and (5); A.R.S. 36-2858(A)(2); A.A.C. R9-18-309(A)(1)

read September 6, 2026

AZ · age verify · block

Before selling or transferring, the agent must verify the consumer's age using one of the eight document types listed in A.R.S. 4-241(K), each unexpired and bearing a photograph and date of birth.

A.A.C. R9-18-309(A)(1) (verify the consumer's age through one of the documents in A.R.S. 4-241(K)); A.R.S. 4-241(K)(1) to (8); A.R.S. 36-2854(A)(6)

read September 6, 2026

AZ · sale · block

Block any single transaction exceeding one ounce of marijuana, of which no more than five grams may be marijuana concentrate; the five grams is carved out of the ounce, not added to it.

A.R.S. 36-2858(A)(1)(c); A.A.C. R9-18-309(A)(3)

read September 6, 2026

AZ · sale · block

Do not dispense an amount that would cause the registered qualifying patient to exceed two and one-half ounces of marijuana in any fourteen-day period, measured against the state registry allotment rather than the store's own ledger.

A.R.S. 36-2806.02(A)(3); A.R.S. 36-2801(1)(a)(i) and (1)(b)(i); A.R.S. 36-2807(C)(2)

read October 19, 2026

AZ · sale · block

After verifying and before handing over the marijuana, the agent must enter into the state verification system how much was dispensed, whether it went to the patient or the caregiver, the date and time, and the registry identification numbers of both the dispensary and the dispensing agent.

A.R.S. 36-2806.02(B)(1) to (4); ADHS guidance GD-107-PHS-EDC (the transaction must be recorded in the point-of-sale or inventory control system and the electronic verification system at the time the dispensary relinquishes possession, regardless of location); A.A.C. R9-17-314

read September 6, 2026

AZ · patient verify · require approval

A qualifying patient under eighteen may hold a registry card only where a custodial parent or legal guardian serves as designated caregiver and controls the acquisition, dosage and frequency, so a minor patient may not transact alone.

A.R.S. 36-2804.03(B)(1) to (3), in particular (B)(3)(b) and (c)

read October 19, 2026

AZ · sale · block

An out-of-state registry card has the same force as an Arizona card for possession, but a visiting qualifying patient is NOT authorized to obtain marijuana from a nonprofit medical marijuana dispensary; serve them as an adult-use consumer or not at all.

A.R.S. 36-2804.03(C); A.R.S. 36-2801(19)

read September 6, 2026

AZ · sale · block

The sixteen percent marijuana excise tax does not apply to marijuana dispensed to a registered qualifying patient or registered designated caregiver by a dual licensee or nonprofit medical marijuana dispensary, so the POS must zero that line on a verified medical sale while still charging transaction privilege tax.

A.R.S. 42-5452(A), second sentence

read October 19, 2026

AZ · sale · block

A product subject to the marijuana excise tax may not be bundled with a product or service that is not subject to that tax, so a single bundled SKU mixing taxed marijuana with untaxed goods or services cannot be sold.

A.R.S. 42-5452(C)

read October 19, 2026

AZ · sale · block

Beyond the transaction privilege tax, the use tax and the sixteen percent state excise, neither the state nor a locality may levy any additional tax, fee or assessment on the sale of marijuana or on the licensing, operations or activities of marijuana establishments, unless the fee is generally applicable to non-marijuana businesses.

A.R.S. 36-2864(A) and (B); A.R.S. 36-2864(C) (uniform increases to the retail transaction privilege tax rate remain allowed)

read October 19, 2026

AZ · sale · block

Only batches whose test results comply with R9-18-408 and Table 3.1 may be offered for sale or transfer, and until results are back the batch must be stored away from product offered for sale; a failing batch is remediated or destroyed; and the agent must make the results available to the consumer on request before the sale.

A.A.C. R9-18-311(A)(1) and (2), (B)(1), (B)(8) and (B)(9); A.A.C. R9-18-309(A)(2) (make results available to the consumer if requested); A.R.S. 36-2803(E) and (F)(1) and (2) (medical testing before dispensing, results to a patient immediately on request, and a posted sign notifying patients of that right); A.R.S. 36-2854(A)(5)

read September 6, 2026

AZ · sale · block

Every unit sold must carry the establishment licence number, the amount, strain and batch number, and the same batch number must key the licensee's own inventory control system, so a sale line without a batch identifier cannot be completed.

A.A.C. R9-18-310(A)(2)(a) to (d); A.A.C. R9-18-101(6) (batch number is a unique identifier assigned by the marijuana establishment); A.A.C. R9-18-314(C)

read September 6, 2026

AZ · return · block

A delivering agent may not pick up or otherwise receive marijuana from a consumer for transport back to the establishment once a delivery is complete, and must return to the retail site at the end of the trip plan with any product that was not handed over.

A.A.C. R9-18-312.01(D)(1) and (D)(2); A.A.C. R9-18-308(A)(2)(j)(v)

read September 6, 2026

AZ · discount · require approval

Arizona has no state rule on discounts, bundled promotions, free product, nominal-price promotions or trade samples to consumers; the only adjacent hard limits are the excise anti-bundling provision and the ban on advertising potency, so a giveaway or a deep discount needs review rather than an automatic block.

A.R.S. 42-5452(C) (no bundling a taxed product with an untaxed product or service); A.R.S. 36-2859(C)(1)(d) (no advertising potency or THC levels); A.R.S. title 36 chapter 28.2 and A.A.C. R9-18 articles 1 to 4, searched, silent on discounts, free product and samples

read October 19, 2026

AZ · sale · block

Every principal officer, board member, employee and volunteer must hold a valid marijuana facility agent licence linked to the establishment in the ADHS electronic system, and must have that licence in immediate possession while working at any site or transporting marijuana; an unlicensed individual may not be employed, serve as an officer, or volunteer.

A.A.C. R9-18-308(A)(6), (A)(8)(a) and (b) and (A)(9)(a) to (c); A.R.S. 36-2855(A) and (C); A.R.S. 36-2850(22)

read September 6, 2026

AZ · sale · block

A nonprofit medical marijuana dispensary may not allow any person to consume marijuana on its property, and no one may smoke marijuana in a public place or open space, so no on-premises consumption may be offered or recorded.

A.R.S. 36-2806(G); A.R.S. 36-2851(8)(a); A.R.S. 36-2853(C) (smoking in a public place or open space is a petty offense); A.R.S. 36-2802(C)

read September 6, 2026

AZ · patient verify · block

Before dispensing, the agent must access the ADHS verification system and confirm that the registry identification card is valid, that each person presenting a card is the person identified on it, and that the amount would not breach the fourteen-day limit.

A.R.S. 36-2806.02(A)(1) to (3); A.R.S. 36-2807(A) to (C)

read October 20, 2026

Every line ties back to a package the state already knows about

Retail software outside cannabis sells a product. Cannabis software sells a package, and the state issued its identifier before it ever reached you. That single difference cascades through the whole design: receiving is not a purchase order, it is accepting specific identifiers against a manifest; a sale is not a stock decrement, it is a transaction recorded against an identifier; and a count that does not tie back to those identifiers is not an inventory, it is an estimate.

The practical consequence is that a sale line without a package identifier cannot be completed rather than being completed and fixed later. Fixing it later means a correction in the state's system, and corrections are what an inspection reads first.

The receipt is a regulated document

The slip handed to a customer is not marketing collateral with a total on it. In the states published so far it has defined contents, and the tax has to appear separately from the price rather than folded into it.

No published rule for Arizona states the receipt requirement in those terms. Pick another state above to see one, or open the Arizona page for everything that has been published for it.

How the tax itself is calculated, what stacks on what, who is exempt and how it rounds is a longer question with its own page: how cannabis retail tax is calculated.

The work that is not the sale

20 of Arizona's published rules fire somewhere other than the register: receiving, transferring, adjusting, destroying, delivering, closing, reporting and retaining. This is the half of the job that gets left to a spreadsheet, and it is the half an inspection actually examines.

A reconciliation deadline is the clearest example. If the rule says the day's inventory has to be reconciled in the state's system by a fixed hour the following morning, then that deadline, not the close of trade, is the end of the working day. A destruction has a holding period and a documented time and method. An adjustment has to carry a reason. A transfer in has to be checked against a manifest identifier by identifier and the differences documented per identifier, not in total.

Every one of those is a place where software either produces the record as a by-product of the work or leaves a person to produce it afterwards from memory. The second option is how shops end up reconstructing a February afternoon in October, which is the subject of what an inspection asks for.

What to put to any vendor, including this one

Six questions, none of which require a demo to answer. Which rules does the system enforce, named individually rather than as compliance. Where did each of them come from, as a citation. When was that source last read, as a date. What happens when a rule changes after a sale has already been made under the old one. What does the system do when the state's reporting system is unreachable for an afternoon. And what can you take with you if you leave.

A system that can answer all six is doing the job whether or not it is this one. A system that answers the first and goes quiet on the rest is asking you to carry the risk on its behalf, and the signature on the report is yours.

Where this page stops

Questions people ask next

Is a cannabis point of sale just a normal till with a track and trace connection?
Not if it is doing the job. A track and trace connection reports what happened after the fact. The rules that decide whether a sale may happen at all live in the state's own statute and administrative code: who may buy, at what hours, in what quantity, at what price, with what on the label and what on the receipt. Reporting a prohibited sale accurately is still a prohibited sale.
What is the difference between blocking a sale and warning about it?
Every published rule carries an outcome as well as a trigger. Where the outcome is block, the rule prohibits the transaction and a dismissible warning is not enforcement of it. Where the outcome is warn, a person is expected to make a judgment, and the useful thing software can do is record that they made it and what they were shown. Require approval sits between the two and its whole value is the attestation it captures.
Does the receipt have to show anything in particular?
In the states published so far, yes, and the requirement is specific rather than general: the tax stated separately from the price, and a defined set of fields on the document handed to the customer. The rules and their citations are rendered on this page from the published corpus, and each links to the state's own text.
What has to be recorded that is not part of the sale?
More than most operators expect. Reconciliation against the state system on a deadline, the reason on every inventory adjustment, the time and method of every destruction, the manifest on every transfer in and out, and business records kept for a fixed number of years. These are the rules that decide how an inspection goes, and they are grouped on this page by the moment they fire.
Can one system cover more than one state?
It can if the rules are data rather than code. Two states rarely differ in the shape of the question, only in the answer: both have a purchase ceiling, both have hours, both have an identity check. Bloom keeps each state's answer as a published row with its own citation and read date, which is why adding a state does not mean rewriting the register.
How do I tell whether the system I already run is enforcing the current rule?
Ask it two things: which rule it is enforcing, and when that rule was last checked against the source. Most systems can tell you the number they apply. Far fewer can name the citation or the date. The state pages here will tell you what the current rule is either way, whether or not you ever buy anything.

Sources