← back to Dw Unbuyable Recovery Pilot
tk11041-innovations-reconcile/rescrape/config/innovations-current-pricing.json
41 lines
{
"_doc": "AUTHORITATIVE current Innovations (private-label Phillipe Romano) pricing + order terms. Innovations is sold customer-facing ONLY as Phillipe Romano (PRW-/PR- / La Turino etc.) — the names 'Innovations'/'Innovations USA' must NEVER be customer-facing.",
"vendor_code": "innovations",
"catalog_table": "innovations_catalog",
"trade_discount_pct": 10,
"trade_discount_source": "Sales Order O-111475 + Currier correction (SETTLED); vendor_registry.innovations.vendor_discount_pct=10",
"price_basis": "LIST (vendor's quoted price). Steve-confirmed 2026-09-15.",
"formula": {
"net_cost": "round(list * 0.90, 2) -> price_trade (10% trade discount)",
"retail": "round(net_cost / 0.65 / 0.85, 2) -> our_price (canonical DW markup; matches scripts/innovations-reprice/stage-innov-reprice.mjs line 40)",
"rounding": "DECIMAL/integer-cents (half-up). NOT naive JS float — 132.95*0.90=119.655 must round to 119.66, a PostgreSQL NUMERIC round(list*0.90,2) is correct."
},
"price_list_source": "Hektor Martinez reply 2026-09-15 (pattern-level LIST)",
"patterns": {
"Costine": { "prefix": "CSO", "list_per_yd": 49.95, "sold_by": "yard", "min_order_yds": 10, "cut_fee_per_yd": 4, "cut_fee_below_yds": 30, "net_per_yd": 44.96, "retail_per_yd": 81.38 },
"Enchase": { "prefix": "ENS", "list_per_yd": 69.95, "sold_by": "yard", "min_order_yds": 10, "cut_fee_per_yd": 5, "cut_fee_below_yds": 30, "net_per_yd": 62.96, "retail_per_yd": 113.95 },
"Flanders": { "prefix": "FLN", "list_per_yd": 132.95, "sold_by": "yard", "min_order_yds": 10, "cut_fee_per_yd": 5, "cut_fee_below_yds": 30, "net_per_yd": 119.66, "retail_per_yd": 216.58, "note": "half-cent boundary: net must be 119.66 (decimal round), not 119.65 (float artifact)" },
"Province": { "prefix": "PRO", "list_per_yd": 31.95, "sold_by": "yard", "min_order_yds": 10, "cut_fee_per_yd": 4, "cut_fee_below_yds": 30, "net_per_yd": 28.76, "retail_per_yd": 52.05 },
"Skylark": { "prefix": "SKL", "list_per_yd": 134.95, "sold_by": "roll", "roll_yds": 10, "min_order_yds": 10, "list_per_roll": 1349.50, "net_per_roll": 1214.55, "retail_per_roll": 2198.28, "cut_fee_per_yd": null, "note": "SOLD BY THE ROLL (10yd/roll). Was MTO on the Oct-2025 list; vendor 2026-09-15 confirms stocked, by the roll. price_unit='roll'; price computed at the ROLL unit, not per-yard-then-x10." },
"Tatami": { "prefix": "TTM", "list_per_yd": 64.95, "sold_by": "yard", "min_order_yds": 10, "cut_fee_per_yd": 5, "cut_fee_below_yds": 30, "net_per_yd": 58.46, "retail_per_yd": 105.81 },
"Vinyl Cork": { "prefix": "VCO", "list_per_yd": 49.95, "sold_by": "yard", "min_order_yds": 10, "cut_fee_per_yd": 4, "cut_fee_below_yds": 30, "net_per_yd": 44.96, "retail_per_yd": 81.38 }
},
"discontinued_patterns": {
"Whistler": {
"prefix": "WHL",
"status": "discontinued",
"reason": "vendor 2026-09-15 (Hektor Martinez): discontinued, only limited per-color stock ('which color are you interested in?').",
"sku_count": 12,
"on_shopify": false,
"action": "EXCLUDE from publish/buyable. Not on Shopify (0 live products) — no archive needed; mark do_not_publish in dw_unified so it never gets published going forward."
}
},
"standing_rules": {
"auto_exclude_from_publish": "Any SKU that is DISCONTINUED or LIMITED-STOCK per the vendor is auto-excluded from publish/buyable going forward (Steve 2026-09-15: 'Drop any with limited stock going fwd or disco'). Do not make it freely buyable; keep it off Shopify (archive if already live). This applies to future scrapes/refreshes, not just Whistler.",
"list_basis": "Vendor-quoted numbers are LIST; net = list*0.90; never apply the discount twice.",
"never_active_without_image_and_width": "Standard DW rule still applies — no product goes ACTIVE without image + width metafield."
},
"generated": "2026-09-15",
"ticket": "TK-11041"
}