The brand field holds the price tier. The name holds the strain type.
Pure’s menu cards are the POS item record, rendered. Whoever named the items named them for the counter and the invoice: “Gold Tier - Deli” is a brand, “High Supply Oz Jar” is a brand, “Pure 28g $25 Sungrown” is a brand, and “Deli - 7699 - 33” is a product. The shopper gets the same text, with a filter called “Brands” that lists 256 of them in Warren.
Record Lens
Pick a live record, or type your own name and brand. The lens labels every fragment by the field it should live in, lists what the shopper loses, and proposes the record under the standard — proposed only, never applied.
Audit: five stores, ten checks.
A check fires when a shopper-facing field carries something that belongs in another field. “A” checks are unambiguous. “B” checks are patterns that need one naming decision before they count as wrong — the planner below makes that decision explicit.
| Store | Records | Clean | Issues / 100 | Brand entries | Not makers | Inhalables w/o strain |
|---|---|---|---|---|---|---|
| Loading… | ||||||
checks.js = analyze.pyTested: tools/tests.mjs256 entries. Among them, three price tiers (Diamond, Gold and Silver Tier - Deli), one price, and families like these — the same maker split into one entry per pack size:
Each captured record carries its POS metadata: canonicalBrandName, canonicalCategory, canonicalSKU and an image URL on leaflogixmedia.blob.core.windows.net — the storage used by LeafLogix, now Dutchie POS. For “Pink Certz (H)” the POS brand is literally “High Supply Oz Jar” and the POS category “Buds (prepackaged)”. The menu is faithful to the record. POS identity inferred from URLs, not confirmed
Dutchie’s release notes describe a separate “Online title” per product and categories set in the POS as the source of truth. A rename is therefore a POS task, done once per product per store unless the chain shares an item master — something only the inventory team can say.
Same product, different names.
1,342 products are sold in two or more Pure stores. 93 carry different names, 241 different brands, 296 a different price for the same weight. Price differences can be deliberate. Name and brand differences rarely help a shopper.
| Store | Name on the menu | Brand field | Price · option |
|---|---|---|---|
| Loading… | |||
One rule per field.
The standard is short because the POS fields already exist. The work is moving fragments home, not inventing structure.
A shopper should be able to read the brand filter as a list of makers, the name as a product, and the type as a filter.
| Field | Rule | Today (examples) |
|---|---|---|
| Brand | The maker only. One entry per maker across all five stores. | “Mitten 1g Cart”, “Mitten 2g Dispo”, “Gold Tier - Deli” |
| Name | Product line (if any) + strain or flavour. No format prefix, no counter, no code, no strain type, no weight. | “Deli - 7699 - 33”, “Pink Certz (H)”, “Grip Prepack - Cereal Milk” |
| Strain type | Always set for flower, pre-rolls, vapes and concentrates. | 97 inhalables with none; 1,004 names carrying “(H)” or “- Hybrid” |
| Weight / option | Carried by the option only (“1/8oz”, “1g”). Never in the brand. | “High Supply Oz Jar”, “Society C 8th” |
| Tier | A product tag or a sub-category (“Deli · Gold”), so the deli counter can still be browsed by tier. | Three tiers stored as brands; price already carries the tier |
| Discount label | Written for the shopper: product, quantity, price, end date. See page 04. | “Save $10 MKX 2g Dispo/Grip Oz(ALL)” |
Rename planner
Three decisions change the size of the job. Pick them, see how many records and which POS fields move, then export the list the inventory team would work from.
The consequential decision, in full: tier as tag vs suffix vs drop
Alternatives. (1) Tag/sub-category, (2) name suffix, (3) drop. Constraint that matters most: the Deli items are sold by tier (Diamond, Gold, Silver), and the menu must let a shopper browse one tier. Chosen: tag/sub-category, because it keeps browsing and takes the tier out of both the brand and the name. Downside: it depends on the POS exposing a tag or sub-category to Dutchie; if it cannot, the suffix is the fallback and the planner shows its cost. What would change the recommendation: an inventory lead confirming the POS has no tag field reaching the menu, or Pure deciding tiers should not be shopper-facing at all.
Re-check
After the inventory team renames a batch and the sync runs, paste the new names and brands (one per line: name, brand, category, strain type — tab or comma separated, or the records-all.csv columns). The same ten checks run and the result is compared with the baseline from 22 Oct 2026.
What the checks catch
- Fields carrying another field’s content (tiers, sizes, prices, strain types, codes, prefixes).
- Inhalables with no strain type, names with stray spaces or all capitals.
- The same enterprise product named or branded differently across stores.
What they cannot establish
- Whether a brand like “Chill Topical” or “Mary Jones Soda” is a maker’s own sub-line or a counter label. The B-checks flag it; a person decides. Expect some false positives — the planner counts them as “review”, not “wrong”.
- Whether a rename changes sales. No sales data is public and none is claimed.
- Which POS fields the chain can edit centrally versus store by store.
“Cresco Max Out Prepack 70g - Street Guru” (Monroe, brand “Cresco Max Out Bag”). Type it into the lens: it moves “70g” and “Prepack” out of the name and proposes name “Street Guru” and brand “Cresco Max Out” — because nothing in the record says “Max Out” is a product line rather than part of the maker. The right record is brand “Cresco”, line “Max Out”, strain “Street Guru”, option “70g”. The parser cannot know that; the decision that “Max Out” is a line is Pure’s, and the planner records such rows as review items, not automatic renames.
Nothing is renamed by this site. Every proposal is a row in a list a person approves.