Supply Chain AI Toolkit Practical analytics tools, built with AI-assisted coding

CSV processing stays in your browser · AI Brief sends calculated results only when requested · Source on GitHub

Upload a SKU list to see what to reorder, how much, and what is overstocked.

How the numbers are calculated

Formulas

Days of cover
current_inventory ÷ avg_daily_sales
Lead-time demand
avg_daily_sales × lead_time_days
Reorder point
lead-time demand + safety_stock
Inventory position
current_inventory + open_po_qty
Suggested order
max(reorder point − position, 0), rounded up to MOQ

Status (checked in order)

Critical
position < lead-time demand
Reorder
position < reorder point
Overstock
days of cover > 90
Healthy
everything else

Data handling

  • Expected columns: sku, product_name, current_inventory, open_po_qty, avg_daily_sales, lead_time_days, safety_stock, moq, unit_cost. Header matching is case-insensitive.
  • Blank or non-numeric values are treated as 0 and the row is flagged (⚠) so nothing silently changes the result.
  • Zero or missing sales: days of cover shows as “no sales”; lead-time demand is 0, so the reorder point equals safety stock. Stock on hand with no sales counts as overstock; no stock and no sales is healthy.
  • MOQ of 0, blank or negative is treated as 1 (no rounding). A suggested order is never below the shortfall.
  • Rows without a SKU are skipped. Duplicate SKUs are kept and flagged.
  • Negative quantities are clamped to 0 and flagged.