Amazon Inventory Data

Guide to Amazon inventory datasets in DataHawk; FBA planning, ledger detail, restock recommendations, and SQL examples for common inventory questions.

This guide explains Amazon inventory datasets for tracking stock, resolving discrepancies, and optimizing replenishment.

💡

View Your Inventory at the Country Level

If your goal is simply to see your ASIN/SKU inventory the same way Seller Central shows it, use:

These tables show your day-to-day inventory quantities at the country level with key fields: stock, aging, health, and availability.

Decision Flowchart

This diagram acts as a decision tree to identify which inventory tables address your specific needs. Start with your question (e.g. "What's my current stock?" or "Why did inventory change?") and follow the branches to locate datasets for real-time snapshots, historical trends, restock alerts, or logistics planning.

Inventory Dataset Decision Tree

Inventory Datasets

All tables live in either the RAW_INVENTORY or SELLING_PARTNER schema (noted per table below).

Start here — covers most questions

SchemaViewPurposeFreshnessCoverage
SELLING_PARTNERSELLER_INVENTORY_FBA_PLANNINGFBA stock, aging, pricing/removal recommendationsDailyAll marketplaces except NL, PL, SE, BE
SELLING_PARTNERSELLER_INVENTORY_ALL_LISTINGSFBM price, status, quantityDailyAll marketplaces

For specific needs

SchemaViewUse it forWhy not the default?FreshnessCoverage
SELLING_PARTNERSELLER_INVENTORY_LEDGER_DETAILTransaction-level reason for a stock changePlanning shows current state only — it doesn't log individual transactions or their causesDailyCountry + warehouse
SELLING_PARTNERSELLER_INVENTORY_LEDGER_SUMMARYNet stock-change rollup by country/warehouseSame gap as above, but lighter-weight than pulling every Ledger Detail rowDailyCountry + warehouse
RAW_INVENTORYRAW_INVENTORY_RESTOCK_RECOMMENDATIONSAmazon's dedicated stock alert + reorder qty/dateReal overlap with Planning, not a clean split — see note belowDaily (with a gap, since Amazon takes time to process recommendations)
RAW_INVENTORYRAW_INVENTORY_RESTOCK_RECOMMENDATIONS_HISTORYTrend of the restock alert aboveSame purpose as the restock report, just historizedDailySame as above
SELLING_PARTNERSELLER_INVENTORY_ALL_LISTINGS_HISTORYTrend of FBM price/status/quantityListings only gives the latest snapshot — this is its historized counterpartDailyAll marketplaces
💡

Restock signals overlap. SELLER_INVENTORY_FBA_PLANNING carries a parallel signal via recommended_action = 'GoToRestock' with recommended_ship_in_quantity / recommended_ship_in_date. It's not a clean split from RAW_INVENTORY_RESTOCK_RECOMMENDATIONS — check both if you're building alerts.

Legacy or internal — avoid querying directly

SchemaViewWhy it existsWhy not just use it?
RAW_INVENTORYRAW_INVENTORY_FBA (deprecated)Raw feed behind older dashboardsSuperseded by FBA_PLANNING, which gives the same current-stock numbers at finer (marketplace vs. region) granularity, plus aging and recommendations on top
RAW_INVENTORYRAW_INVENTORY_FBA_HISTORY (deprecated)Historized version of the report aboveSame limitation as RAW_INVENTORY_FBA
SELLING_PARTNERSELLER_INVENTORY_FBA_HISTORY_DAILYRegion-level daily trendRegion-level, while Planning is country level

How Tables Connect

The diagram below traces how raw Amazon reports feed into the transformed views available in your database.

Inventory Source Reports Flow

Practical Scenarios & Example Queries

Everyday FBA stock questions

"What's my current FBA stock, and does Amazon recommend any action on it?"

Use SELLER_INVENTORY_FBA_PLANNING — your default for FBA questions.

Key columns:

  • available — current sellable stock
  • recommended_action — Amazon's pricing/removal advice
  • inv_age_365_plus_days — units aged over 1 year
  • estimated_storage_cost — projected fee exposure
SELECT ASIN, SKU, AVAILABLE, RECOMMENDED_ACTION, INV_AGE_365_PLUS_DAYS, ESTIMATED_STORAGE_COST
FROM SELLER_INVENTORY_FBA_PLANNING
WHERE SKU = 'X';

"Which aged SKUs should I remove to avoid storage fees?"

SELECT SKU, INV_AGE_365_PLUS_DAYS, RECOMMENDED_ACTION, ESTIMATED_STORAGE_COST
FROM SELLER_INVENTORY_FBA_PLANNING
WHERE INV_AGE_365_PLUS_DAYS > 0;
⚠️

inv_age_365_plus_days is not populated for US, DE, UK, FR, IT, or ES. For those marketplaces, use inv_age_366_to_455_days and inv_age_456_plus_days instead to capture the same "aged over a year" population.

"Amazon says restock, but I have inventory — what's going on?"

The likely explanation: what you're counting as "my inventory" is total units on hand, but Amazon's restock alert is based on available — sellable stock only. A SKU can have plenty of total inventory while very little of it is actually sellable, if a large share is tied up in transit, processing, or unfulfillable status.

First, check the breakdown in SELLER_INVENTORY_FBA_PLANNING:

SELECT AVAILABLE, RESERVED_FC_TRANSFER, RESERVED_FC_PROCESSING, RESERVED_CUSTOMER_ORDER,
       UNFULFILLABLE_QUANTITY, INBOUND_WORKING, INBOUND_SHIPPED, INBOUND_RECEIVED
FROM SELLER_INVENTORY_FBA_PLANNING
WHERE SKU = 'YOUR_SKU';

If RESERVED_FC_TRANSFER, RESERVED_FC_PROCESSING, or UNFULFILLABLE_QUANTITY account for a large chunk of the total, that's inventory that exists but isn't currently sellable — which explains the alert despite what looks like enough stock.

If available genuinely looks sufficient and reserved/unfulfillable doesn't explain it, check weeks_of_cover_t30: a low value means Amazon's recommendation is forward-looking — it's forecasting that your current stock won't cover projected demand, not claiming you're already out.

SELECT WEEKS_OF_COVER_T30, DAYS_OF_SUPPLY
FROM SELLER_INVENTORY_FBA_PLANNING
WHERE SKU = 'YOUR_SKU';

Cross-check the actual alert in RAW_INVENTORY_RESTOCK_RECOMMENDATIONS.

Everyday FBM questions

"What products are active/inactive, and what's my current price per SKU?"

Use SELLER_INVENTORY_ALL_LISTINGS — your default for FBM/MFN questions.

SELECT SKU, PRICE, STATUS, QUANTITY
FROM SELLER_INVENTORY_ALL_LISTINGS
WHERE SKU = 'X';

When you need more than Planning or Listings

"Which SKUs need urgent restocking?"

Use RAW_INVENTORY_RESTOCK_RECOMMENDATIONS — the report Amazon uses specifically for stock alerts.

SELECT SKU, ALERT, RECOMMENDED_REPLENISHMENT_QTY, RECOMMENDED_SHIP_DATE
FROM RAW_INVENTORY_RESTOCK_RECOMMENDATIONS
WHERE ALERT IN ('low stock', 'no stock');

Two things worth knowing:

  • Planning has a parallel signal. recommended_action = 'GoToRestock' with recommended_ship_in_quantity / recommended_ship_in_date can carry similar guidance.
  • SKU missing from this report? It likely means Amazon doesn't currently flag it as at-risk — no recent sales, healthy days-of-supply, or no projected demand are the usual reasons. "Why did my inventory drop by 200 units in a specific country/warehouse last week?"

Planning gives you marketplace-level current state, not the transaction-level reason for a change. For that, use the ledger.

SELECT EVENT_TYPE, QUANTITY, FULFILLMENT_CENTER, DATE
FROM SELLER_INVENTORY_LEDGER_DETAIL
WHERE SKU = 'X'
  AND COUNTRY = 'US'
  AND DATE BETWEEN '2023-10-01' AND '2023-10-07';

"What's my net inventory change across all warehouses this week?"

Same idea, but you just want the aggregated net change — not every individual transaction.

SELECT COUNTRY, FULFILLMENT_CENTER, STARTING_WAREHOUSE_BALANCE, ENDING_WAREHOUSE_BALANCE
FROM SELLER_INVENTORY_LEDGER_SUMMARY
WHERE DATE BETWEEN '2023-10-01' AND '2023-10-07';

On this page