Command Center

All Locations ✓
St. Louis ✓
Columbia ✓
Springfield ✓
Kansas City ✓
Dana R.
DR
Home Live

Everything that needs a purchasing decision this week, for all four Terra Verde locations, in one view. The numbers below recompute when you switch locations in the top bar.

Inventory at cost
$1.18M
2,412 active SKUs
Open-to-Buy · this week
$85,000
Cash budget under 280E
Frozen in dead stock
$142,300
▲ capital idle 21+ days
SKUs to reorder
61
11 critical this week
Cost-creep flags
9
Lots priced above last buy
Expiring unsold · 90 days ›
$0
dollars projected to expire on the shelf
Co-op credits owed ›
$0
vendor-funded discounts not yet collected
Buy session ›
0 draft POs
 
Needs attention Ranked by cash impact
01
11 critical SKUs below reorder point
Stiiizy, Camino and Raw Garden movers run out inside lead time
DOH < 7
›
02
This week's buy list exceeds budget by $9,400
Rank the buy and set the cut line under your 280E cash
$85,000
›
03
$47,900 of dead stock crossed 60 days
Blue Dream flower and Kiva chocolate lead the freeze
$142,300
›
04
9 products cost more than their last lot
Two vendors moved the other way and gave cost back
9 ↑
›
05
2 brands slipped a grade on sell-through
Cookies and Heavy Hitters lost share vs last month
B → C
›
Chainwide sell-through units / wk
W1
W2
W3
W4
W5
W6
W7
W8
18,240
units sold, trailing 4 wk
+7.4%
vs prior 4 wk
Velocity here drives every reorder suggestion. ProCURE reads trailing four-week sell-through per SKU per location, not a flat monthly average.
Smart Reorder Live

The flagship working list: every SKU that needs reordering this cycle, ranked so the ones at risk of stocking out rise to the top. Check the rows you want and add them to the buy session, where they become draft POs by vendor. Suggested quantities round up to each vendor's case pack. A human approves every buy.

Urgent first · 0 selected

Company default

Used for any product whose brand has no override and whose vendor has no agreed lead time.

Brand overrides

Set a different lead time for a specific brand, for example a slower vendor.

Per-product overrides

Set from a product's Review dialog. These win over everything else.

Most specific wins: P product override, then B brand override, then V the vendor's agreed lead time, then C the company default. A vendor's lead time carries no cushion, so the company cushion applies.

Product Brand On hand Velocity /day Days supply Lead time Reorder point Suggested
A row is tagged URGENT when on-hand stock is already below the reorder point, meaning it will sell out before a new order can land. Click Review on any row to see exactly how its number was built, change the rule behind it, or override just this order. Nothing is ordered automatically.
Open-to-Buy Live

Buying inside the cash you actually have. Under 280E, inventory competes with payroll and rent for the same dollars. Set this week's cash budget and ProCURE ranks every candidate by priority, then allocates top down. Move the budget and the cut line moves with it.

One deliberate demo liberty: the live app uses a typed, saved weekly budget. The slider here lets you watch the cut line move in real time.

This week's cash budget
$85,000
$40k$120k
Allocated $84,840 Remaining $160
Ranked buy list 14 of 18 lines fit
Priority Product Vendor Score Line total Status
Spend by vendor · what fits
$84,840
fits this week
$19,170
deferred to next week
Rows above the cut line are this week's buy. Rows below wait, ranked and ready, for next week's cash. An item already below its reorder point that falls below the line is flagged Urgent - over rather than silently skipped, so a stockout never hides under the budget.
Dead Stock Alerts Live

Product idle 21+ days is frozen capital you cannot easily recover under 280E. ProCURE escalates it at 21, 30, 60, and 90 days so the discount-or-return call happens while the product still moves.

Total frozen capital
$142,300
across 16 SKUs
Crossed 60 days
$47,900
hardest to recover
Crossed 90 days
$18,400
Blue Dream flower, KC
Oldest idle SKU
94 days
Blue Dream Flower 3.5g
21–29 days
30–59 days
60–89 days
90+ days
Dead stock · idle 21+ dayssorted by capital frozen
ProductBrandLocationDays idleCapital frozen
Blue Dream Flower 3.5gVibeKansas City94$18,400
Kiva Chocolate BarKivaColumbia71$14,200
Cookies Flower 1gCookiesSpringfield63$12,900
Blue Dream Preroll 1gVibeColumbia88$11,300
Jeeter Infused XL 2gJeeterKansas City58$10,600
Heavy Hitters .5g SativaHeavy HittersColumbia52$9,800
Stiiizy Battery KitStiiizyColumbia61$8,700
Wyld Elderberry 5pkWyldSt. Louis44$8,700
Camino Midnight BlueberryCaminoSpringfield38$7,900
Raw Garden Sauce .5gRaw GardenKansas City33$7,200
Heavy Hitters Diamond 1gHeavy HittersSpringfield41$6,700
Vibe Live Resin 1gVibeSpringfield29$6,100
Cookies Vape 1gCookiesSt. Louis27$5,400
Camino Wild CherryCaminoKansas City35$5,300
Kiva Terra BitesKivaKansas City24$4,900
Jeeter Baby 5pkJeeterSt. Louis22$4,200
Idle-day counters are computed only on sellable cannabis. Recalled, on-hold, and retired packages are held out of these totals automatically, never deleted.
Floor Replenishment Live

Which floor SKUs are running thin, and the exact backstock package to move up front. Pull order is first-expiry, first-out, so the oldest sellable package hits the shelf before it ages out in the back room.

Below 2 days of floor supply
4
restock this shift
Below 4 days
6
restock this week
Backstock expiring <30 days
7 lots
move to floor first
Floor statussorted by days of floor supply
StatusProductBrandCategoryFloor unitsFloor daysUnits/dayBackstockMove to floor (FEFO)
RestockRaw Garden Live 1gRaw GardenConcentrate91.18.264LOT-RG-7741 · exp 08/21
RestockStiiizy Pod 1gStiiizyVape121.48.6120LOT-ST-2231 · exp 09/02
RestockJeeter Preroll 1gJeeterPreroll141.68.896LOT-JT-1204 · exp 08/17
RestockWyld Gummies 10pkWyldEdible181.99.4150LOT-WY-0412 · exp 08/14
SoonCamino GummiesCaminoEdible243.08.088LOT-CM-0885 · exp 08/09
SoonCookies Flower 3.5gCookiesFlower213.26.672LOT-CK-1102 · exp 09/11
SoonJeeter Infused .5gJeeterPreroll303.87.9110LOT-JT-1190 · exp 08/28
OKHeavy Hitters 1gHeavy HittersVape265.15.158LOT-HH-3390 · exp 10/02
OKKiva Chocolate BarKivaEdible226.33.540LOT-KV-2205 · exp 09/19
OKVibe Blue Dream 3.5gVibeFlower177.72.231LOT-VB-0620 · exp 08/30
Floor days = floor units divided by trailing-week units per day. The FEFO column names the specific lot to carry up front, so the newest backstock never leapfrogs a package that expires sooner.
Cost Creep Live

What you actually paid for every lot of every product, over time. A vendor that nudges unit cost up a little each delivery shows up as a rising line here, at the lot level, where an aggregate COGS report would hide it.

↑ 0 rising ↓ 0 falling
Unit cost by lotbiggest movers first · samples and promos excluded
ProductBrandCategoryCost by lotLotsOldest → newest$ change% change
Cost comes from the sales side: every sale records its package and that package's unit cost, so the history survives even though inventory is replaced on every upload. Samples and promo packages (often costed at a penny) are excluded and costs under $1 are ignored, so a free sample never reads as a 99% price drop. Rising lines are a vendor conversation; falling lines are a buying opportunity.
Inventory Catalog Live

Every SKU in one sortable ledger: on-hand quantity, inventory value, cost, price, margin, and days on hand. This is the raw layer under every other page. Try the search box; it filters live.

Catalog2,412 SKUs chainwide · showing top 14 by inventory value
#ProductBrandCategoryQTYInv valueUnit costAvg priceMargin %Units soldDOH
1Stiiizy Pod 1g
TV-ST-0114
StiiizyVape612$8,874$14.50$40.0063.8%5689
2Cookies Flower 3.5g
TV-CK-0231
CookiesFlower418$7,691$18.40$45.0059.1%18424
3Raw Garden Live 1g
TV-RG-0087
Raw GardenConcentrate522$7,204$13.80$38.0063.7%38411
4Heavy Hitters 1g
TV-HH-0342
Heavy HittersVape386$6,215$16.10$42.0061.7%23221
5Blue Dream Flower 3.5g
TV-VB-0620
VibeFlower294$5,998$20.40$22.007.3%8841
6Jeeter Infused .5g
TV-JT-1190
JeeterPreroll874$4,720$5.40$15.0064.0%44012
7Kiva Chocolate Bar
TV-KV-0455
KivaEdible512$4,301$8.40$22.0061.8%9816
8Wyld Gummies 10pk
TV-WY-0412
WyldEdible598$4,126$6.90$15.0054.0%25614
9Camino Gummies
TV-CM-0885
CaminoEdible544$3,917$7.20$16.0055.0%35215
10Stiiizy 40s 1g
TV-ST-0140
StiiizyPreroll262$3,799$14.50$32.0054.7%30410
11Vibe Blue Dream Preroll 1g
TV-VB-0561
VibePreroll388$3,570$9.20$12.0023.3%10433
12Raw Garden Sauce .5g
TV-RG-7802
Raw GardenConcentrate276$3,422$12.40$30.0058.7%12015
13Jeeter XL 1g
TV-JT-0208
JeeterPreroll486$3,013$6.20$18.0065.6%19217
14Heavy Hitters .5g Sativa
TV-HH-0350
Heavy HittersVape178$2,866$16.10$28.0042.5%13619
Red and amber margins are worth a look before the next buy: Blue Dream Flower 3.5g is selling at $22 against a $20.40 lot cost. That is the cost-creep and dead-stock story on one row.
Sell-Through Live

Units sold against units available, per SKU, for the trailing four weeks. High sell-through with thin stock means buy more; low sell-through with deep stock is tomorrow's dead stock. The trend column compares against the prior four weeks.

Chainwide sell-through
38.4%
trailing 4 weeks
Best category
Vape
51.2% sell-through
Weakest category
Flower
24.6% sell-through
Sell-through by SKUtrailing 4 weeks vs prior 4 weeks
#ProductBrandCategoryQTY on handUnits soldSell-throughRateTrend vs prior
1Stiiizy Pod 1gStiiizyVape61256848.1%▲ +3.2
2Jeeter Infused .5gJeeterPreroll87444033.5%▲ +1.8
3Raw Garden Live 1gRaw GardenConcentrate52238442.4%▲ +2.1
4Camino GummiesCaminoEdible54435239.3%▬ flat
5Stiiizy 40s 1gStiiizyPreroll26230453.7%▲ +4.0
6Wyld Gummies 10pkWyldEdible59825630.0%▲ +1.1
7Heavy Hitters 1gHeavy HittersVape38623237.5%▼ −1.6
8Jeeter XL 1gJeeterPreroll48619228.3%▬ flat
9Cookies Flower 3.5gCookiesFlower41818430.6%▼ −2.0
10Heavy Hitters .5g SativaHeavy HittersVape17813643.3%▼ −0.8
11Vibe Blue Dream Preroll 1gVibePreroll38810421.1%▼ −2.4
12Blue Dream Flower 3.5gVibeFlower2948823.0%▼ −3.1
Rows one through five are the reorder engine's shopping list. Rows eleven and twelve are already sitting on the Dead Stock page. Same math, two ends of the same curve.
Brand Performance Live

A full P&L by brand: inventory tied up, sales earned, cost of goods, and the gross profit left over, ending in an A-to-F grade. Every brand is its own row and carries its parent as a column, so a company selling under three names still reconciles to who you cut the check to. Click a brand to break it out by format.

Brand leaderboard sort rank · parent
# Brand Parent Inv value % inv DOH Net sales % sales Rank COGS GP $ GP % Grade
Kiva Confections shows up as Kiva, Camino, and Terra Bites, each its own row tagged to the same parent. Sort by parent to group them, or open the Manage parents mapping to change the rollup. The mapping is self-serve, seeded per state and overridable per tenant. The grade weighs gross-profit percent against months of inventory: an A-brand earns its margin and turns fast, an F ties up cash it is not earning back.
Vendors Live

The vendor book behind every PO: who to email, what terms you are on, and how long an order takes to land. Lead time feeds straight into the reorder point, so keeping it honest here keeps the reorder honest everywhere.

Vendor book8 active vendors
VendorContactPO emailTermsLead timeBrands
Stiiizy MOMarcus T.orders@stiiizymo.exampleNet 304 days1
Kiva / CaminoPriya S.wholesale@kivamo.exampleNet 305 days3
Raw Garden DistDan K.po@rawgardendist.exampleNet 153 days1
Proper (Jeeter)Alicia M.orders@properbrands.exampleNet 306 days2
Wyld West DistSam O.sales@wyldwest.exampleCODnot set1
BeLeaf WholesaleJordan P.po@beleafwholesale.exampleNet 155 days2
Cookies MORenee L.wholesale@cookiesmo.exampleNet 308 days1
Vibe WholesaleChris B.orders@vibewholesale.exampleCOD4 days2
Two vendors are still COD. Under 280E, cash-on-delivery buys compete directly with payroll week to week; that is exactly the squeeze the Open-to-Buy budget is built to manage.
Discount Tracker Live

Every discount given at the register, rolled up into the promotion that caused it, classified by who pays for it, and turned into a ledger of co-op credits your vendors owe you. Set a promotion's funding on the Promotions tab and watch the credits change.

September 2026 · 4 stores · from the POS discount detail report
Discounts given
$0
0% of gross sales
Store-funded
$0
margin the store gave up
Vendor-funded
$0
should come back as credits
Unclassified
$0
0 promotions need a decision
Daily discount trendlast 14 days
Funding split
By store
By customer group
Click a row for the per-store breakdown
PromotionCodeCategoryProgramDiscount $Funded by
Suggestions come from the discount code (for example a VND- prefix suggests vendor-funded), but a suggestion is never applied on its own. Click it to accept, or pick a side yourself. An unclassified promotion stays visibly unclassified.
VendorPromotionsDiscount $Vendor-funded $Share of all discounts
OverrideSt. LouisColumbiaSpringfieldKansas CityTotal
Why this tab exists

These are discounts keyed in by hand at the register instead of coming from a configured promotion. A spike usually means a promotion's setup broke (for example a missing SKU), or a manager is overriding prices. Kansas City is running the highest override total this month.

Accrued to date
$0
from vendor-funded promotions
Applied to POs
$0
offset on an invoice
Still owed
$0
ready to claim
VendorReimbursement basisVendor-funded $AccruedAppliedOwed
Each vendor's memo lists its promotions with an overview by reimbursement type, and carries no transaction, staff, or customer detail. Export it as PDF or spreadsheet, or apply the credit straight to that vendor's open purchase order.
Expiration Burn-Down Live

Today's stock, projected forward at today's selling pace. Every lot that will reach its expiration date before it sells shows up here with the units and dollars at risk, while there is still time to promote it or move it.

Lots at risk · 90 days
0
projected to expire unsold
Units at risk
0
left on the shelf at expiry
Dollars at risk
$0
at unit cost
Expiring within 14 days
0
lots that need action this week
Lots projected to expire before they sellsoonest expiry first
StatusProductLotStoreOn handSells / dayExpires inSells out inUnits at risk$ at risk
How the projection works. Velocity is measured per product, but expiration belongs to each lot. ProCURE burns the product's velocity down through its lots in first-expired, first-out order, the same order Floor Replenishment recommends. Units sold before a lot expires = velocity × days to expiry, minus the units ahead of it in line. Whatever is left is at risk. It assumes stock leaves in FEFO order, and the live page says so.
Purchase Orders · Buy session Live

Every line added from Smart Reorder or Open-to-Buy lands here as a draft PO, one per vendor per store, and stays saved between visits. Check each vendor's minimum, apply any co-op credit they owe you, then export.

The cart is many draft POs at once, keyed by vendor and store. Vendor minimums are usually a dollar floor; the badge tells you how much to add or whether to hold. Each line remembers which upload its cost came from, so a newer upload flags it instead of silently repricing it. Applying a credit moves it from owed to applied, so the same dollar can never be claimed twice.
← All vendors
Vendor detail Live

Case sizes by productReorder rounds up to whole cases
ProductBrandCase sizeDefault cost
Agreementdrives the buying math
Co-op credits
DateApplied toAmountStatus
Housekeeping

Vendors are created automatically from the distributor column in each upload. When the same distributor arrives under two spellings, merge them: the duplicate becomes an alias and future uploads route here.

Upload Reports Live

Where every number starts. Drop in the Dutchie exports and ProCURE checks every column before anything is replaced, strips shopper data on arrival, and commits the whole upload at once or not at all.

Inventory
Replaces the shelf snapshot
Sales
Appends to sales history
Discount detail (optional)
Feeds the Discount Tracker
Up to 25 MB per file · sent straight to private storage
Pre-flight checkswaiting for files

Click a drop zone or use the sample files to see the column report.

Commit
Detected store
—
Report period
—
Package tag coverage
—
Prefer not to upload yourself? New stores can choose a concierge path instead: drop raw files into a private intake folder for that company, and they are loaded on your behalf, including two or three months of sales history so the analytics work on day one.
Account & Team Live

Invite teammates, set what each person can see and change, and keep a record of who accepted which version of the terms.

TeamTerra Verde Cannabis Co.
NameEmailRoleStatus
Your account
Signed in as
dana@terraverde.example
Role
owner
Idle sign-out
30 min
Password
What each role can dochecked on the server for every action
Owner

Everything: all financials, every store side by side, uploads, buying settings, vendors, team and billing.

Manager

Financials, reorder and POs, credits, uploads, buying settings, and vendor edits. No team or billing admin.

Staff

Stock lookup, floor replenishment, and dead stock lists, with no cost or margin figures. Read-only.

Viewer

Read-only access to financials, reorder, and stock. Cannot upload or change anything.

Legal acceptancesrecorded per person and version
DocumentVersionAcceptedRequired for
Terms of Servicev309/02/2026Everyone
Privacy Policyv309/02/2026Everyone
Data Processing Addendumv309/02/2026Owners
Roadmap · planned, not built
Compliance-Aware Roadmap

What it was planned to do: give compliance exclusions a dedicated audit home. The buying math already holds recalled, on-hold, retired, and non-cannabis rows out of every number today; this page turns that into a browsable, exportable audit trail.

Excluded from the buying math142 rows · never deleted
⚠
Recalled
State recall notice on the batch, held for return or destruction
18
⏸
On hold
Quarantined pending lab result or internal QA
24
∅
Retired
Discontinued SKUs with residual on-hand, not being reordered
61
#
Non-cannabis
Accessories, apparel, and merch that should not drive a cannabis reorder
39
Why it matters
2,412
sellable SKUs in the math
142
held in audit, out of the math
If recalled or retired product leaked into the reorder engine, ProCURE would recommend buying more of something you legally cannot sell, or count frozen capital you already wrote off. The exclusion is a tri-state flag: unknown rows default to eligible, so nothing silently disappears.

Audit panel · sample

exportable, fully reversible
ProductReasonLocationExcluded sinceStatus
Sunset Sherbet 3.5gRecalledKansas City06/28Recalled
Vibe Live Resin 1gOn holdColumbia07/01Lab pending
Cookies Hoodie LNon-cannabisAll05/12Merch
OG Kush Cart 1g (2024)RetiredSpringfield04/03Discontinued
Glass GrinderNon-cannabisAll03/20Accessory
Roadmap · planned, not built
Receiving Reconciliation Roadmap

What it was planned to do: three-way match every delivery. What the PO said, what the Metrc manifest actually transferred, and what the invoice billed, so short ships and cost mismatches get caught at the dock instead of at month-end.

4
lines on this delivery
2
discrepancies caught
$410
billing variance flagged
Purchase order
Stiiizy Pod 1g
300 units · $14.50
Wyld Gummies 10pk
150 units · $6.90
Camino Gummies
216 units · $7.20
Raw Garden Live 1g
240 units · $13.80
Metrc manifest
Transferred
300 units
Transferred
150 units
Transferred
216 units
Transferred
240 units
Invoice
Billed · short ship
288 units · $14.50  (−12)
Billed · wrong cost
150 units · $7.20  (+$0.30)
Billed
216 units · $7.20
Billed
240 units · $13.80
Discrepancy rate vs regulator threshold
This delivery 1.8%State review threshold 4.0%
The short ship on Stiiizy and the $0.30 overbill on Wyld would normally surface weeks later, if at all. Caught at receiving, they become a credit request the same day.
Roadmap · planned, not built
Scan-to-Sell Intake Roadmap

What it was planned to do: scan once at the dock, never re-sticker again. Scan the Metrc tag, scan the manufacturer barcode, and ProCURE applies your naming template and pushes a sellable product straight to Dutchie.

9:41ProCURE Intake
✓
Scan Metrc tag
1A4FF0100000022000014201
✓
Scan manufacturer barcode
8 51234 00219 4
✓
Naming template applied
Vibe - Blue Dream - 3.5g
4
Confirm unit cost & qty
$9.20 · 240 units
Vibe · Blue Dream · 3.5g
✓ Pushed to Dutchie, sellable

Scan once at the dock

Two scans, zero typing. The Metrc tag ties the package to compliance. The manufacturer barcode identifies the product. ProCURE joins them and names the SKU your way.
Consistent naming, automatically. Your template turns "BLUEDRM 3.5" into "Vibe - Blue Dream - 3.5g" every time, so the floor and the reports match.
Sellable in seconds. The product lands in Dutchie priced and ready. No back-room re-sticker, no second data entry.
Roadmap · planned, not built
Vendor Scorecards Roadmap

What it was planned to do: grade every vendor on the signals that decide the reorder. Fill rate, on-time delivery, and price stability, plus the cannabis-only signals: lab-test failure rate and recall history.

Raw Garden DistA
Fill rate95%
On-time96%
Price stabilitySteady
Lab-test fail rate0.2%
Recalls (12 mo)0
Stiiizy MOA
Fill rate97%
On-time94%
Price stabilityRising
Lab-test fail rate0.4%
Recalls (12 mo)0
Proper (Jeeter)B
Fill rate90%
On-time88%
Price stabilitySteady
Lab-test fail rate0.9%
Recalls (12 mo)0
BeLeaf WholesaleC
Fill rate82%
On-time71%
Price stabilityVolatile
Lab-test fail rate2.1%
Recalls (12 mo)1
The reorder should go to whoever earns it, not whoever called last. When two vendors carry the same brand, the scorecard breaks the tie on fill rate and lab history, not on the relationship.
Roadmap · planned, not built
COA & Lab-Test Tracking Roadmap

What it was planned to do: capture the certificate of analysis at receiving, tie it to the SKU and the vendor, and feed pass/fail history straight into the vendor scorecard.

Batch detailCOA on file
Raw Garden Live 1g
SKU · Raw Garden Dist
Batch / lotRG-7741
Test labGreen Precision Labs
Total THC84.2%
Tested07/02/2026
Panel results
PotencyPass
PesticidesPass
MicrobialsPass
Heavy metalsPass
Residual solventsPass
MycotoxinsRetest
One retest on mycotoxins holds the batch on the Compliance-Aware panel until it clears, and it counts against BeLeaf's lab-fail rate on the vendor scorecard. Every COA is one scan, stored against the package for the life of the lot.
Roadmap · planned, not built
Live Dutchie + Metrc Sync Roadmap

What it was planned to do: move from weekly CSV uploads to always-on sync. The analytics you see today run on file uploads. The same engine runs continuously once the connections are live.

Live today

Live
Dutchie export · weekly upload
Drop your inventory and sales CSVs and ProCURE rebuilds the working set at full production scale.
Connected
Metrc manifest · weekly upload
Package tags and transfers imported alongside the POS export for the compliance-aware math.
Connected

Planned

Roadmap
Dutchie API · always-on
Continuous inventory and sales sync, so velocity and dead-stock counters update through the day instead of once a week.
Planned
Metrc API · read-only
Live package and manifest reads for same-day receiving reconciliation. Read-only by design, no write-back to the state system.
Planned
Everything in the Live section of this demo runs today on weekly uploads. Always-on sync does not change the analytics, it just keeps them current between uploads and unlocks same-day receiving.
Demo · Sample dataTour