Amazon Go-Live Data Readiness
A pre-go-live checklist that flags every active Proxy SKU whose Amazon pricing data is incomplete, so nothing is pushed to Amazon with a missing ASIN, broken strategy, or uncomputed price.
Screenshot

Purpose
- Used by the Amazon/pricing team before switching the repricer live.
- Answers "which SKUs are NOT ready to price on Amazon, and why?"
- Each
BLOCKEDrow lists the exact data gaps to fix (ASIN, pricing, strategy, margins, cost, price). - Defaults to showing only blocked rows so the list is a worklist, not a full dump.
How to Access
Desk > Reports > Amazon Go-Live Data Readiness, or /app/query-report/Amazon Go-Live Data Readiness.
Report type: Script Report. Reference DocType: Proxy SKU.
Filters
| Filter | Type | Required | Description |
|---|---|---|---|
| Only Issues | Check | No | Default 1. When checked, only rows with status = BLOCKED are returned. Uncheck to see READY rows too. |
| Is FBA | Select (0/1) |
No | Restrict to FBA (1) or MFN/SFP (0) Proxy SKUs. Blank = all. |
Columns
| Column | Type | Description |
|---|---|---|
| Proxy SKU | Link (Proxy SKU) | The active Proxy SKU being checked. |
| Item | Link (Item) | Item mapped by the Proxy SKU. |
| Is FBA | Check | Whether this Proxy SKU is fulfilled by Amazon. |
| Status | Data | READY if no issues found, else BLOCKED. Rendered red when BLOCKED. |
| Active Strategy | Link (Amazon Product Strategy) | The strategy currently selected on the Amazon Product Pricing record (blank if none). |
| Purchase Cost | Currency | Highest active purchase-cost line on the active strategy (Cost Type with is_purchase_cost = 1). |
| Min Price | Currency | current_min_price from Amazon Product Pricing. |
| Max Price | Currency | current_max_price from Amazon Product Pricing. |
| Issues | Data | Semicolon-joined list of every readiness failure for the row. Rendered red when BLOCKED. |
How It Works
The report scans every active Proxy SKU (is_active = 1), optionally filtered by is_fba, then joins each to its Amazon Product Pricing, that pricing's active Amazon Product Strategy, and the strategy's purchase-cost lines. A row is BLOCKED if it accumulates any issue.
Purchase cost is read with a query-builder join: the max value of active Amazon Product Cost lines whose Cost Type.is_purchase_cost = 1, grouped per strategy. Lookups are batched into maps (pricing, strategy, cost) to avoid N+1 queries.
flowchart TD
A[Active Proxy SKU] --> ASIN{asin set?}
ASIN -- no --> I1[no ASIN]
A --> P{Amazon Product Pricing exists?}
P -- no --> I2[no Amazon Product Pricing]
P -- yes --> PA{pricing is_active?}
PA -- no --> I3[pricing inactive]
P -- yes --> S{active_strategy set?}
S -- no --> I4[no active strategy]
S -- yes --> SM{strategy record found?}
SM -- no --> I5[active strategy missing]
SM -- yes --> SA{strategy is_active?}
SA -- no --> I6[active strategy disabled]
SM -- yes --> MG{min_margin or max_margin set?}
MG -- no --> I7[margins not set]
SM -- yes --> PC{purchase_cost > 0?}
PC -- no --> I8[purchase cost missing or 0]
P -- yes --> PR{min_price and max_price > 0?}
PR -- no --> I9[min/max price not computed]
PR -- yes --> PRM{min_price <= max_price?}
PRM -- no --> I10[min price above max price]
I1 & I2 & I3 & I4 & I5 & I6 & I7 & I8 & I9 & I10 --> B[Status = BLOCKED]
ASIN -- yes --> R[no issue]
R --> RDY[Status = READY if zero issues]
Readiness checks (each failure adds to Issues)
| Check | Condition that FAILS (adds issue) | Issue text |
|---|---|---|
| ASIN present | proxy.asin empty |
no ASIN |
| Pricing exists | No Amazon Product Pricing for the Proxy SKU | no Amazon Product Pricing |
| Pricing active | pricing.is_active falsy |
pricing inactive |
| Active strategy set | pricing.active_strategy empty |
no active strategy |
| Strategy record exists | active_strategy set but record not found |
active strategy missing |
| Strategy enabled | strategy.is_active falsy |
active strategy disabled |
| Margins set | both min_margin and max_margin are 0 |
margins not set |
| Purchase cost set | purchase_cost <= 0 |
purchase cost missing or 0 |
| Prices computed | min_price <= 0 or max_price <= 0 |
min/max price not computed |
| Price ordering | min_price > max_price (only if both > 0) |
min price above max price |
Conditional formatting
The JS formatter colors the Status and Issues cells red (var(--red-600)) on any BLOCKED row. There is no severity gradation — a row is either READY or BLOCKED.
Notes
- A Proxy SKU with no Amazon Product Pricing only reports
no ASIN(if applicable) plusno Amazon Product Pricing; the strategy/price checks are skipped because there is nothing to evaluate. - Purchase cost uses
Max(value)across active purchase-cost lines, so multiple cost lines collapse to the largest. - The price-ordering check (
min price above max price) only runs when both prices are already > 0. - Companion pre-go-live report: Supplier Data Readiness.