The cycle
How it works
Inventory export twice a week, sales report once a week. A ranked list and a short call each time. The next export grades the last list.
The cycle
Monday and Friday. Every week.
Each cycle runs the same way. You send files; we send the list.
Monday
Files in
Before opening, pull your inventory export and last week's product sales report, and send us both. No logins, no integrations, no new software.
Same day
We build the list
We start from how fast each product actually sold, then check your stock against it. That covers stalled vs. stocked too deep, discounts against category norms, floor vs. backstock gaps, expiring product, and reorder sizes. You get a package-level action list ranked by urgency.
Monday
Walkthrough call
We walk your managers through the list on a short call. Questions get answered. The team knows what to do.
Friday
Second export
Friday morning before opening, send a fresh inventory export. We check which of Monday's actions got done and update the priorities.
Friday
Graded list
Each item from Monday's list is graded: done, partially done, or still open. The new list adds anything the Friday export surfaced.
What we look at
Five problems that cost dispensaries margin
Stalled vs. stocked too deep
Slow and overstocked aren't the same problem. One may need a markdown; the other needs you to stop reordering.
Discounts that aren't working, or aren't needed
Each product's real average discount, compared with its category.
Floor versus backstock gaps
Facings that are empty while stock sits in back, and backstock with no floor counterpart at all.
Aging stock
Product projected to expire before it sells at its real pace, flagged with enough lead time for your team to move it.
Reorders sized by habit
Suggested quantities based on actual sales, rounded to your shelf fills.
What you send us
Two files from your POS. No customer data.
1. Inventory export: Monday and Friday mornings, pulled before you open and before any preorders are scanned (Monday only on the Essentials Audit). 2. Product sales report: one covering the last 60 days at kickoff, then one covering the prior week every Monday. That's all we need. The sales report is product-level totals only: units sold, sales, discounts and cost for each product. We never ask for customer data. No names, phone numbers, loyalty information or individual receipts.
No POS logins. No Metrc credentials. Dutchie and Flowhub supported.
Monday and Friday mornings, pulled before you open and before any preorders are scanned (Monday only on the Essentials Audit).
We do not access your POS system directly. We do not have credentials to Metrc or any state traceability system. We work only from the files you send.
Sample action list
What your team receives
Each list is package-level and sorted by urgency. Your staff can work it in one shift without interpretation.
| Package tag | Product | Location | Action | Priority |
|---|---|---|---|---|
| 1A406…0123 | Hybrid Flower 3.5g — Brand A | Backstock B-3 | Move to floor — facing empty | High |
| 1A406…0456 | Vape Cart 1g — Brand B | Display case 2 | Stalled — suggest bundle; 3 sold in 60 days | High |
| 1A406…0789 | Gummies 100mg — Brand C | Backstock A-1 | Hold reorders — selling, ~11 weeks on hand | Medium |
| 1A406…0321 | Pre-roll 5pk — Brand D | Display case 1 | Discount check — avg 48% off; category runs 25–32% | Medium |
| 1A406…0654 | Live Resin 1g — Brand E | None in building | Reorder 24 (2 shelf fills) | High |
Invented data for illustration only. Package tags, products, and brands are fictional.
Glossary
Terms we use
Every term in the action list has a precise definition. Here's what each one means.
Stranded
A package in backstock with no active floor facing for that product.
Unbuyable
A product with no packages on the floor and none in back. A customer cannot buy it right now.
Critical facing with backstock
A floor facing that is empty or nearly empty, with backstock available to refill it.
Empty facing
A floor position with no product and no backstock. Needs a reorder or a product swap.
Activation gap
Product that arrived and was received but never moved to the floor.
Floor par vs total on-hand par
Floor par is how many packages belong on the floor. Total on-hand par includes backstock. Both are derived from your own sales rate.
Flow
How many packages of a product move through the store per day, based on your POS sales report.
Position
Where a package is: floor, backstock, or not in the building.
Rate
How fast a product sells, measured from your POS sales report.
MEASURED
Taken directly from your files, including sales rates from your POS sales report.
INFERRED
Derived from patterns in your data, not read directly from a single field.
Stalled
Sitting well past its normal clear time and won't sell through in 30 days at its current pace.
Stocked too deep
Selling at a healthy pace, with more on hand than it needs. Recommendation: hold reorders, not a discount.
Category discount
The discount range a product's category normally runs in your store's sales.
Shelf fill
The quantity your store normally stocks a facing with. Reorder suggestions round to it.