← back to Dw Unbuyable Recovery Pilot
TK-11041: settle Innovations (acct 58315) discount conflict at 10% via vendor Sales Order O-111475 + Currier correction + DB corroboration
b756810b5793a892de902af970677c8249f90278 · 2026-09-11 11:23:40 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CGo6pAQho6w9xgqghMgNKh
Files touched
A tk11041-innovations-reconcile/rescrape/DISCOUNT-EVIDENCE.md
Diff
commit b756810b5793a892de902af970677c8249f90278
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Sep 11 11:23:40 2026 -0700
TK-11041: settle Innovations (acct 58315) discount conflict at 10% via vendor Sales Order O-111475 + Currier correction + DB corroboration
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CGo6pAQho6w9xgqghMgNKh
---
.../rescrape/DISCOUNT-EVIDENCE.md | 111 +++++++++++++++++++++
1 file changed, 111 insertions(+)
diff --git a/tk11041-innovations-reconcile/rescrape/DISCOUNT-EVIDENCE.md b/tk11041-innovations-reconcile/rescrape/DISCOUNT-EVIDENCE.md
new file mode 100644
index 0000000..2a535ad
--- /dev/null
+++ b/tk11041-innovations-reconcile/rescrape/DISCOUNT-EVIDENCE.md
@@ -0,0 +1,111 @@
+# TK-11041 — Innovations (acct 58315) trade-discount reconciliation: EVIDENCE ONLY
+
+**Task:** settle whether the authoritative DW trade discount on Innovations USA Wallcoverings
+(acct 58315) is **10%** (`vendor_registry.vendor_code='innovations'`, confirmed 2026-04-13) or
+**20%** ("Net Less 20%" in DW's own outbound sample-request boilerplate, 10+ instances 17 Aug–11
+Sep 2026). READ-ONLY — no write to `dw_unified`, Shopify, or any send. Agent: vp-dw-commerce.
+Ticket: TK-11041-tk-10978-follow-on-innovations-re-scrape.
+
+## VERDICT: **10%**
+
+## CONFIDENCE: HIGH — resolved by a hard artifact, not by recency or "official-looking" source
+
+## Strongest artifact (gold standard — invoice with list price AND net price on the same line)
+
+**Innovations official Sales Order O-111475**, dated July 8, 2026, addressed to Designer
+Wallcoverings (acct on file, Sidemark "Pierrette Gordon", Customer PO "102574 A"), delivered as a
+PDF attachment on the Innovations vendor's own reply to our PO email.
+
+- Gmail message id: **`19f4372d25d5e756`** (account: `info`, subject "Re: 102574 - PO", from
+ `hmartinez@innovationsusa.com`, 2026-07-08)
+- Attachment filename: `Sales Order - O-111475 ∙ Designer Wallcoverings (LIVE).pdf`
+- Saved copy for re-verification: `~/Projects/dw-unbuyable-recovery-pilot/tk11041-innovations-reconcile/rescrape/../../` *(fetched to scratchpad this session; re-fetch via the George API message id above — attachment id is long-lived in the message JSON)*
+- **The order's own printed note reads: "AVR-004: $33.95/yard 10% Discount: $30.55"**
+- Arithmetic check: $33.95 × 0.90 = $30.555 ≈ **$30.55** — the invoiced unit price on the order
+ line is exactly the discounted figure. Vendor's own document states the discount is 10% in
+ plain English, not just implied by the math.
+- A human can re-verify this in one step: `curl` the George API message `19f4372d25d5e756`
+ (account `info`), pull the "Sales Order - O-111475" PDF attachment, read the Order Notes line.
+
+## Full evidence table
+
+| # | Source | What it says | What it PROVES | What it does NOT prove |
+|---|---|---|---|---|
+| 1 | **Innovations Sales Order O-111475** (PDF, Gmail msg `19f4372d25d5e756`, 2026-07-08) | "AVR-004: $33.95/yard **10% Discount**: $30.55" — list price, discount %, and net price all printed on one line, on the vendor's own paper | **The actual billed discount on acct 58315 is 10%**, on a real transaction, in writing, with the arithmetic checking out exactly | Nothing — this is the gold-standard artifact the task asked for |
+| 2 | **Scott Currier (Innovations Showroom Manager) email**, Gmail msg `19ed7b447785bc62` (2026-06-17 22:29 UTC), thread "Designer Wallcoverings (acct 58315) — full wholesale price list request" | *"Also, your discount is 10%, not 20% as notated in your initial email."* — direct reply to DW's own email (msg `19ed7992a13923ed`) which had stated "Our account is 58315 (Net Less 20%)" | An **Innovations employee explicitly corrected DW's 20% claim to 10%**, by name, for this exact account, in writing | Doesn't itself show an invoice — but is a first-party vendor correction, category (b) in the priority order |
+| 3 | `dw_unified.vendor_registry`, row `vendor_code='innovations'` (`vendor_name='Innovations'`, `catalog_table='innovations_catalog'`, 392 products — this IS the acct-58315 line, confirmed by identical `catalog_table` join) | `vendor_discount_pct = 10.00`, `discount_confirmed = TRUE`, `discount_confirmed_at = 2026-04-13 17:24:29-07` | An **independent DB record, set BEFORE the June 17 vendor correction**, already carried 10% — i.e. two independent occasions (Apr 13 DB entry, Jun 17 vendor email) both land on 10%, not one echoing the other | No linked audit note in `vendor_registry.notes` recording HOW the Apr 13 confirmation was reached — no audit/history table exists for this row (checked `pg_tables` for `*vendor*audit*`/`*history*`; none cover `vendor_registry`) |
+| 4 | `dw_unified.innovations_catalog` (181 of 392 rows with both `price_trade` and `price_retail` populated, `price_source` = "innovationsusa authed crawl 2026-06-18; list×0.90; per-yd") | **181/181** rows: `price_trade = price_retail × 0.90` to the penny (checked: `abs(price_trade - price_retail*0.90) < 0.05` → 181/181 match; `abs(price_trade - price_retail*0.80) < 0.05` → **0/181** match) | An **authenticated-portal crawl of the vendor's own logged-in price list**, captured the day after Currier's correction, computed trade cost as list × 0.90 (i.e. 10% off) across the entire sampled line — not a single SKU, the whole cohort | This is DW's own scraper's arithmetic, not a vendor document per se — but it is sourced from the vendor's authenticated portal (the only place Hektor said pricing lives), and it is fully consistent with #1–#3 |
+| 5 | Vendor rep reply (`hmartinez@innovationsusa.com`, msg `1a0633c9451e4658`, 2026-09-02): *"Pricing is available through our website using your login information. Account # 58315."* | Confirms account number, confirms portal is the pricing source of record | Nothing about the discount % itself — used only to establish that the portal (source #4) is the vendor's own recommended pricing channel |
+| 6 | **DW's own outbound sample-request boilerplate**, 10+ instances 17 Aug – 11 Sep 2026 (e.g. Gmail msgs `1a0104c1832434ec`, `1a0917c927b71b45`), verbatim line: *"Our account number is 58315 - Net Less 20%"* | Confirms the literal phrase Steve flagged in the conflict | **Does NOT corroborate 20%.** This is DW's OWN outbound claim about its own account, not a vendor statement. It is the SAME sentence DW sent on 2026-06-17 (msg `19ed7992a13923ed`) that Currier explicitly corrected to 10% (#2) that same day. DW's template was never updated afterward and kept sending "20%" verbatim in every subsequent sample request through 11 Sep — i.e. this is a **stale, disproven, uncorrected DW-side error**, not independent evidence for 20% |
+
+## The boilerplate question (critical distinction, per the task's instructions)
+
+Checked whether "Net Less 20%" is a shared hardcoded template applied blindly across vendors
+(weak evidence) or Innovations-specific (would at least indicate deliberate per-vendor data,
+even if wrong):
+
+- `grep -rn "Net Less" ~/Projects` (excluding node_modules): the phrase appears **only** in
+ Innovations-related files/threads — `sample-followup-sweep/data/contacts.json` (one note,
+ tagged "acct Net Less 20%", sourced from Hektor Martinez correspondence) and the
+ `dw-unbuyable-recovery-pilot/tk11041-innovations-reconcile` working files. **No occurrence in
+ any `.js`/`.mjs` source file** — it is not generated by a shared code template.
+- Gmail search `"Net Less" in:sent` on the `info` account returned **only Innovations-thread
+ subjects** (PO confirmations, sample requests, the wholesale-price-list-request thread) — never
+ a different vendor's correspondence.
+- **Conclusion: "Net Less 20%" is Innovations-specific text, not vendor-agnostic boilerplate.**
+ It was typed once (by a human or an earlier agent) as a claimed fact about acct 58315,
+ reused verbatim in every subsequent Innovations sample request, and — critically — **was
+ contradicted by the vendor on 2026-06-17 and never corrected afterward.** That makes it
+ Innovations-specific but WRONG, which is worse than generic boilerplate: it means somewhere
+ in DW's history, a "20%" figure was recorded in error (source of the original error not
+ located — likely an early/incorrect onboarding note — but its origin doesn't matter once the
+ vendor's own invoice arithmetic and employee correction both land on 10%).
+
+## Why this is not "picking the more official-looking source"
+
+Per the task's anti-false-green rule, the resolution rests on an ARTIFACT, not on recency or
+authority-by-appearance:
+- The artifact is a real, dated, vendor-issued Sales Order with the discount printed in plain
+ English next to the arithmetic that proves it (#1).
+- It is independently corroborated by a distinct vendor employee's explicit written correction
+ of DW's own wrong claim (#2), by a DB record set before that correction (#3), and by a
+ from-scratch authenticated-portal price crawl across 181 SKUs with zero exceptions (#4).
+- The only evidence for 20% is DW's own unverified, later-disproven, never-corrected claim about
+ its own account (#6) — which fails on its own terms once you trace its history.
+
+## Dimension check (per the task's "same dimension" anti-false-corroboration rule)
+
+- Same vendor? Yes — `innovations_catalog` is owned by `vendor_registry.vendor_code='innovations'`
+ (392 products, 1:1 `catalog_table` join), the same row carrying the 10% discount flag, and the
+ Sales Order O-111475 / Currier email are both to/from `@innovationsusa.com` referencing acct
+ 58315 explicitly.
+- Same account? Yes — acct 58315 is named explicitly in the Currier thread, the wholesale-price-
+ list-request thread, and DW's own boilerplate.
+- Same time period? The vendor_registry confirmation (Apr 13), the Currier correction (Jun 17),
+ and the Sales Order (Jul 8) all sit within a 3-month window with no evidence of a rate change
+ in between; the DB crawl (Jun 18) sits one day after the correction. All four agree.
+- Same product class (wallcovering, not fabric)? Yes — AVR-004 "Anvers Caldwell" on the Sales
+ Order and the `innovations_catalog` rows are all wallcovering SKUs on the same line.
+
+## What would further strengthen this (not required — verdict is already settled)
+
+Nothing is required to settle the verdict; it is resolved by artifact #1 alone, corroborated
+3 more ways. If Steve wants belt-and-suspenders: pull 2-3 more Sales Order PDFs from the other
+Innovations PO threads in this mailbox (`103142 - PO`, `101822 - PO`, `100250 - PO`, `Re: 101318
+- PO`, `102165 - PO`) and confirm each order-notes line also reads "10% Discount" — expected to
+be a formality given the convergence already found.
+
+## Action NOT taken (per task scope)
+
+`dw_unified.vendor_registry.vendor_discount_pct` for `vendor_code='innovations'` is **already
+correct at 10.00** and `discount_confirmed=TRUE`. No write is needed or was made. This report is
+evidence-only; the 39-product repricing referenced in the ticket can proceed using the existing
+`vendor_discount_pct=10.00` cost basis once the portal price-pull (separate blocker, see
+`PORTAL-PULL-RUNBOOK.md`) delivers net prices for those specific SKUs. Nothing in
+`vendor_registry`, Shopify, or any outbound email was modified by this investigation.
+
+---
+*Compiled 2026-09-11 by vp-dw-commerce under TK-11041-tk-10978-follow-on-innovations-re-scrape.
+Re-verification: George API (`http://127.0.0.1:9850`, Basic Auth, account `info`) message ids
+`19f4372d25d5e756` (Sales Order attachment), `19ed7b447785bc62` + `19ed7992a13923ed` (Currier
+correction thread); `psql -h /tmp -d dw_unified` on `vendor_registry` and `innovations_catalog`.*
← 00cbb25 TK-11041: portal pull must capture WHICH price it read, not
·
back to Dw Unbuyable Recovery Pilot
·
TK-11041: one-line discount+basis question, ready to merge i ba3e4f9 →