← back to Designer Wallcoverings
Load Graham & Brown cost from GDrive list (629 SKUs) + wire costExpr
b893c46cd90dd9bafccbb3e6ffae7665c917559a · 2026-06-11 12:05:58 -0700 · SteveStudio2
GB wholesale Cost -> cost_price via gdrive-price-loader; costExpr=cost_price. Same
gdrive-first pipeline as Kravet. discount_confirmed already true.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files touched
M shopify/scripts/cadence/gdrive-price-loader.pyM shopify/scripts/cadence/vendors.js
Diff
commit b893c46cd90dd9bafccbb3e6ffae7665c917559a
Author: SteveStudio2 <stevestudio2@SteveStudio2s-Mac-Studio.local>
Date: Thu Jun 11 12:05:58 2026 -0700
Load Graham & Brown cost from GDrive list (629 SKUs) + wire costExpr
GB wholesale Cost -> cost_price via gdrive-price-loader; costExpr=cost_price. Same
gdrive-first pipeline as Kravet. discount_confirmed already true.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
shopify/scripts/cadence/gdrive-price-loader.py | 13 +++++++++++++
shopify/scripts/cadence/vendors.js | 3 +++
2 files changed, 16 insertions(+)
diff --git a/shopify/scripts/cadence/gdrive-price-loader.py b/shopify/scripts/cadence/gdrive-price-loader.py
index a4ec270c..6bcdb246 100644
--- a/shopify/scripts/cadence/gdrive-price-loader.py
+++ b/shopify/scripts/cadence/gdrive-price-loader.py
@@ -39,6 +39,19 @@ VENDORS = {
'set_sell': 'dw_sell_price',
'set_eff': 'price_effective_date',
},
+ 'Graham & Brown': {
+ 'gdrive': 'gdrive:Spreadsheets/DWGB-70xxxx GRAHAM BROWN DWGB.xlsx',
+ 'sheet': 'shopify',
+ 'sku_col': 'mfr-pattern-number',
+ 'cost_col': 'Cost', # wholesale cost; List Price is retail. No MAP column.
+ 'map_col': None,
+ 'eff_col': None,
+ 'table': 'graham_brown_catalog',
+ 'table_sku': 'mfr_sku',
+ 'set_cost': 'cost_price',
+ 'set_sell': 'dw_retail_price',
+ 'set_eff': None,
+ },
}
def col_index(header, name):
diff --git a/shopify/scripts/cadence/vendors.js b/shopify/scripts/cadence/vendors.js
index 06cec011..0c13d7bb 100644
--- a/shopify/scripts/cadence/vendors.js
+++ b/shopify/scripts/cadence/vendors.js
@@ -32,4 +32,7 @@ module.exports = {
// Schumacher: Designer Net (vendor_registry discount 0.00, confirmed) — cost = priceUsd
// from the authenticated API recrawl (2026-06-11). retail = cost/0.65/0.85.
'Schumacher': { table: 'schumacher_catalog', costExpr: 'cost', soldBy: 'Single Roll', productType: 'Wallcovering', discountNote: 'Designer Net 0% — cost=priceUsd (authenticated API recrawl)' },
+ // Graham & Brown: cost loaded from authoritative GDrive list (DWGB-70xxxx GRAHAM BROWN DWGB.xlsx)
+ // into cost_price = wholesale Cost; retail = cost/0.65/0.85 (no MAP in list). discount_confirmed.
+ 'Graham & Brown': { table: 'graham_brown_catalog', costExpr: 'cost_price', soldBy: 'Single Roll', productType: 'Wallcovering', discountNote: 'cost from GDrive GB wholesale list' },
};
← bd09a7e8 kravet-feed-cadence: SFTP get to absolute /tmp path (drop fl
·
back to Designer Wallcoverings
·
Add schu-reconcile-pids: backfill shopify_product_id from Sh 0548262d →