Unilytic turns your Amazon Inventory Ledger into a daily FBA send list: which SKUs need stock, how many units, and to which warehouse — before you stock out. Here's exactly how, step by step.
Export the Amazon Inventory Ledger CSV from Seller Central and drop it in — or connect SP-API once and Unilytic keeps it synced automatically. We rebuild the full inventory history, with no manual reconciliation.
Four numbers drive everything: days_of_stock_to_send (how deep a cover to ship to), low_stock_days (when to flag a SKU), min_oos_send_qty (the floor for an empty SKU), and excess_stock_days (when stock counts as excess). Defaults work out of the box — the next section shows exactly what they feed.
SKUs split into Out of Stock, Low Stock and Excess Stock cards with exact send quantities per warehouse. Plan a shipment in two clicks — Seller-Central-ready.
The Analytics 15-day warehouse grid shows red for stockout, green for covered. Future Stock counts on-hand plus pending shipments, and a full audit log records every change with actor and timestamp.
Nothing here is a black box. These are the exact calculations Unilytic runs over your ledger — the same ones you can re-derive by hand. Each has a safety rail so one weird day never blows up a recommendation.
Everything downstream rests on one honest number: how fast a SKU really sells. A SKU that was out of stock half the window didn't sell slowly — it couldn't sell. So we divide Customer Shipments by the days it was actually in stock, then scale that true daily rate up to the cover you want to ship to.
Safety rail: the scale-up is capped at 3× (MAX_SALES_EXTRAPOLATION_MULTIPLIER), and SKUs with fewer than 2 sales in the window count as no signal — so one spike on a barely-stocked SKU can't run away with the projection.
To decide what's urgent, we turn stock into days: how long your on-hand lasts at the current rate. Zero on-hand is Out of Stock; anything at or below your low-stock threshold is Low Stock. That's exactly the split you see as the dashboard cards.
Tunable: low_stock_days (default 15) sets how early a SKU is flagged — raise it if your inbound lead time is long, lower it to ship in tighter cycles.
The send quantity closes the gap between projected demand and what you already hold — but only for SKUs that have actually been selling, and only when there's a real shortfall. We then net out units already on a planned shipment (never going below zero), so the dashboard never tells you to send the same stock twice.
Floor with a gate: a selling SKU never gets a recommendation below min_oos_send_qty (default 2) — but a SKU with no recent sales gets nothing, so dead stock isn't re-ordered on noise.
Excess is overstock measured against a longer horizon. We compute the cover you'd hold at the excess horizon and flag whatever sits above it — but we never suggest pulling back so much that you risk a stock-out, so retrieval is clamped to a fraction of what's on hand.
Retrieve clamp: at most max_retrieve_fraction of on-hand (default 0.5) is ever suggested for removal, so cleaning up excess can't accidentally create a shortage.
Returns reconciliation isn't one number — it's three separate checks, each catching a different way money goes missing. Refunds compare quantities; reimbursements compare cash. The cash baseline is your true net proceeds: price minus Amazon's fees and minus the TDS Amazon withholds. Units that came back sellable are excluded — you have the stock to resell, so there's no shortfall.
Honest estimates: TDS is 0.1% of the GST-exclusive price, missing fees are filled from that SKU's own average fee/price ratio (not a flat guess), and rows where net proceeds are negligible are suppressed — so the flagged total is money genuinely worth claiming.
The numbers above aren't fixed. Each formula reads from your workspace settings — change one and the whole dashboard recomputes. These are the defaults.
days_of_stock_to_send30 dHow deep a cover the send quantity ships to.
low_stock_days15 dDays-of-cover threshold to flag a SKU as low stock.
min_oos_send_qty2 uFloor for an out-of-stock SKU that's still selling.
excess_stock_days45 dCover beyond which on-hand counts as excess.
max_retrieve_fraction0.5Most of on-hand that retrieve will ever pull back.
max_sales_extrapolation_multiplier3.0×Cap on scaling sparse sales up to the cover target.
min_raw_sales_for_projection2Minimum sales in the window before a projection is trusted.
No card · Built for Amazon India · Cancel any time.