ShopGaps

Low stock is a count. Days of cover is a clock.

Two files: a product export with stock, and an orders export with SKU, date, status, and quantity. We divide on-hand by paid units per day in the lookback window. SKUs with no paid sale in the window belong on dead stock, not here. The files stay in this tab.

1. Products CSV (Stock, Variant Inventory Qty, or On hand)
No file chosen

2. Orders CSV (SKU, date, status, quantity)
No file chosen

Paid = WooCommerce completed / processing / on-hold, or Shopify paid / partially_paid. We do not invent a purchase-order quantity. Variable parents and unpublished rows are skipped.

SKUNameStockSoldDays of coverIssue

What this is not