I prevent pricing errors and menu discrepancies before they go live.
Marketing Operations / E-Commerce Coordinator — House of Dank, Madison Heights, Michigan.
Rather than describe how I would approach promotion accuracy, I built the tooling I would actually use. Everything on this page is live and running — scroll down and it is all right here, in order.
The problem, and the one idea behind all of it
A promotion starts as a deal sheet — a request to put a product on sale at a stated price, at named stores, over named dates. Most retailers trust that request. Almost every promotional error begins there.
Three systems, and they are not equals
Dutchie is the system of record — what the register actually rings. Weedmaps and Leafly are mirrors of it, and mirrors drift. A customer browses the mirror before they ever walk in.
Vendor funding has two hard limits
Brands often subsidise their own discounts, but the signed agreement caps the discount and expires on a date. Exceed either and the vendor does not reimburse — the retailer absorbs it, usually unnoticed.
The 16 rules
Every promotion is judged against all sixteen, in this order. They group into five questions a careful person would ask anyway.
| Rule | Name | What it validates | Notes from the Dutchie docs |
|---|---|---|---|
| C1 | Required Fields | Deal sheet is complete - no blank mandatory fields. | Checks that every required part of the deal sheet is filled in. If important information is missing, the deal stops until it is completed. |
| C2 | SKU Valid | SKU exists in the catalog master. | Checks that the SKU exists in the product catalog. If the SKU is wrong, the rest of the deal cannot be trusted. |
| C3 | Product / Brand / Category Match | Product name, brand and category match the SKU master exactly. | Checks that the product name, brand, and category match the SKU. It catches copied or mixed-up product information. |
| C4 | Reg Price Match | Submitted regular price equals the live system price. | Dutchie bundles work off a threshold — Number of Items, Spending Amount or Weight. Same idea as Units in Offer here, which is why the maths is done at offer level rather than per unit. Checks the starting price for the full offer: all items in an item-based offer, the required cart amount in a spending offer, or the required total weight in a weight-based offer. |
| C5 | Promo Price Math | Promo price equals reg price minus the stated discount. | Dutchie takes either a dollar amount or a percentage, never both. So if a deal sheet's stated price and stated percentage disagree, whoever builds it has to guess which one was meant. Checks the ending price. It recalculates percentage and dollar-off offers, and checks the full-offer price for fixed-price, BOGO, and bundle offers. If the numbers disagree, the deal stops for review. |
| C6 | Category Discount Cap | Effective discount is within the category maximum. | Checks that the discount is not higher than the category allows. A discount that is too large is blocked. |
| C7 | Margin Floor | Gross margin at promo price clears the category minimum. | Checks that the store still makes enough profit at the sale price. A discount can look valid and still lose money. |
| C8 | Vendor Agreement Coverage | Agreement exists, matches the SKU brand, and covers the full promo window. | Vendor co-op agreements are contracts — Dutchie holds no record of them. There's a Vendor field for eligibility, but nothing about what was funded, or until when. Checks that a valid vendor agreement covers the correct brand and the full promotion dates. Without coverage, the vendor may not pay for the discount. |
| C9 | Vendor Discount Cap | Discount is within the vendor's contractual maximum. | Checks that the discount is not higher than the vendor agreed to fund. Anything above the vendor's limit becomes the store's cost. |
| C10 | Date Logic | Start/end dates are valid, bounded, and have adequate build lead time. | Checks that the start and end dates are complete, make sense, and leave enough time to build and test the promotion. |
| C11 | Promo Conflict | No earlier approved promo on the same SKU with overlapping stores and dates. | Dutchie's stacking rule: non-stacking discounts compete, and only the best one applies. So two promos on one SKU won't error — the register just quietly picks the bigger discount. Checks that the same SKU is not already in another promotion at the same stores and dates. This prevents accidental discount conflicts. |
| C12 | Store Codes | Every store code in the list exists in the store master. | Checks that every store code is real. A wrong code can cause the promotion to be missing from a location. |
| C13 | Inventory Coverage | On-hand units cover projected promo-period demand. | Checks that there is enough inventory for the expected demand. It prevents advertising a deal the stores cannot fulfill. |
| C14 | Channel Parity | Built in Dutchie, and mirrored to Weedmaps and Leafly. | POS discounts sync through to Dutchie E-Commerce. Weedmaps and Leafly are separate integrations and drift on their own. Checks that the promotion is built in Dutchie and matches Weedmaps and Leafly, so customers see the same offer everywhere. |
| C15 | Menu Asset & Copy | Menu image updated and compliance copy approved. | Checks that the menu image is updated and the promotional wording is approved before the offer goes live. |
| C16 | Compliance Rules | Prohibited wording, purchase limits, and stacking rules are respected. | Checks the wording, purchase limit, and stacking approval. Any compliance problem blocks the promotion. |
The Menu & Promotion Manager
The operational surface: catalogue with store-specific settings, a promotion builder with a live price preview and a test-before-publish gate, a three-channel menu consistency view, a QA approval board, and a campaign preview. It is running live below — use it.
Scroll inside the panel to move around the application. The left-hand numbers 1–7 switch sections.
The Promotion Accuracy QA Workbook (The 16 Rules Test)
The same sixteen checks, implemented independently in spreadsheet formulas. Both implementations were run against the same twenty promotions and produce identical results down to the dollar — which is the point: two independent builds agreeing means the rules are unambiguous.
Sheet tabs run along the bottom of the panel: START HERE · Deal Sheet Intake · Validation Engine · Weekly Accuracy Report · Sample Data.
Discount Calculator
For answering a pricing question on the spot. Load a product, set a discount, and it returns the guest price, the margin, and — most usefully — the lowest price it could legally and profitably go to, along with which of the three limits is the one actually stopping you.
In summary
Three tools, one dataset, sixteen rules — and one idea underneath all of it:
The check runs before the promotion does.
Everything here is live and clickable. Break something in it and watch the checks fire — that is the fastest way to see how I think about operational quality.
Happy to walk through any of it in the interview.