to select ↑↓ to navigate
Navgold

Navgold

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Amazon Pricing Feed Preview

A read-only, per-SKU preview of exactly what the pricing sync would send (or last sent) to Amazon and Repricer — prices, quantities, shipping group, and any guard blocks — without pushing anything.

Screenshot

Amazon Pricing Feed Preview

Purpose

  • Pricing / Sales managers use it as a dry-run before a real push, to confirm prices, fulfillment and shipping group are correct.
  • Surfaces every SKU the sync would touch and why blocked SKUs are held back (price-deviation guard + validation violations).
  • Two modes: Live Preview (rebuilds the feed now) and Last Sent (replays the most recent completed submission log).
  • Filter by Channel (Amazon / Repricer / Both) to mirror what each downstream system receives.

How to Access

Desk > Reports > Amazon Pricing Feed Preview, or /app/query-report/Amazon Pricing Feed Preview. Report type: Script Report. Reference DocType: Amazon Product Pricing. Roles: Sales Manager, System Manager.

Filters

Filter Type Required Description
Source Select (Live Preview / Last Sent) Yes Live Preview builds the feed live from active pricing records; Last Sent reads the latest completed Amazon Pricing Submission Log (status != Dry Run, feed content set). Default Live Preview.
Channel Select (Both / Amazon / Repricer) No Drops the Amazon-only or Repricer-only columns and, in Last Sent mode, picks which submission log(s) to replay. Default Both.
Proxy SKU Link (Proxy SKU) No Restrict to a single SKU.
Refresh Strategies (Live Preview only) Check No When set, runs bulk_refresh_strategies() first so active strategies are re-selected before the feed is built.

Columns

Column Type Description
Proxy SKU Link (Proxy SKU) The SKU (Amazon seller SKU).
Item Link (Item) Underlying Item from the Proxy SKU.
Active Strategy Link (Amazon Product Strategy) The currently selected strategy (Amazon Product Pricing.active_strategy).
FBA Check Proxy SKU.is_fba.
Publishing Mode Data Navgold Settings.amazon_publishing_mode (defaults to Stock Only). Blank in Last Sent mode.
Amazon Min Currency minimum_seller_allowed_price from the feed's purchasable_offer patch.
Amazon Max Currency maximum_seller_allowed_price from the feed patch.
Amazon Our Price Currency our_price from the feed patch.
Qty Int quantity from the fulfillment_availability patch.
Fulfillment Data Built from the availability patch: fulfillment_channel_code + optional lead {n}d + optional restock {date}, joined by ·.
Shipping Group Data merchant_shipping_group UUID mapped to a label — SFP (57d54587…), Main Revised (a31ca016…), or Two-Day (85513b3c…).
Repricer Min Currency Repricer band min. Live: Amazon Min, else fallback Amazon Product Pricing.current_min_price. Last Sent: price_min from the Repricer CSV.
Repricer Max Currency Repricer band max. Live: Amazon Max, else fallback current_max_price. Last Sent: price_max from the CSV.
Repricer Rule Data Amazon Product Strategy.repricer_rule for the active strategy (Live) / repricer_name from the CSV (Last Sent).
Status Data OK / Blocked (Live) or Sent / Blocked (Last Sent). Blocked renders red, bold via the JS formatter.
Reason Data ; -joined block reasons (deviation guard + validation violations), else blank.

In Channel = Amazon the Repricer columns (repricer_min, repricer_max, repricer_rule) are dropped; in Channel = Repricer the Amazon columns (amazon_min/max/our_price, quantity, fulfillment, shipping_group) are dropped.

How It Works

Live Preview pulls active Amazon Product Pricing records, optionally narrows to an allow-list via get_allowed_pricing_proxy_skus() (when restricted, a message reports how many SKUs would actually receive prices), then calls build_pricing_feed() to produce the real Amazon JSON_LISTINGS_FEED. Each message's PATCH operations are parsed back into readable price/qty/shipping fields. The same price guards as a real push run here: partition_pricing_by_price_deviation() flags excessive deviation, and collect_pricing_violations() flags validation errors — both feed the Status/Reason columns. Last Sent mode skips feed-building and instead parses the stored feed content (Amazon JSON) / CSV (Repricer) plus the blocked_records from the latest submission log.

flowchart LR
  subgraph Live[Source = Live Preview]
    APP[Amazon Product Pricing<br/>is_active=1] --> FEED[build_pricing_feed]
    FEED --> PARSE[parse feed PATCHes<br/>price / qty / shipping]
    APP --> GUARD[price-deviation guard +<br/>pricing validators]
  end
  subgraph Last[Source = Last Sent]
    LOG[Amazon Pricing Submission Log<br/>latest completed] --> RP[parse JSON feed / Repricer CSV<br/>+ blocked_records]
  end
  PARSE --> ROWS[preview rows]
  GUARD --> ROWS
  RP --> ROWS
  META[Proxy SKU + Pricing + Strategy<br/>item, is_fba, repricer_rule] --> ROWS
  ROWS --> OUT[Amazon + Repricer columns<br/>Status / Reason]

Notes

  • Read-only — building the feed here never submits it to Amazon or Repricer.
  • In Stock Only publishing mode the feed carries no price, so Repricer min/max fall back to the pricing record's current_min_price / current_max_price.
  • Blocked SKUs get no Repricer band in Live Preview (they'd be held back from a real push).
  • An empty result under an allow-list means the allow-list is empty, not that there are no SKUs.
  • Last Sent shows nothing for a channel if no completed (non-Dry-Run) submission log exists.
  • Related: Amazon Strategy Price Comparison for per-strategy band vs. live price.
Last updated 1 month ago
Was this helpful?
Thanks!