Reorder Report (products below reorder point + demand-driven recommendations)
Returns products below their reorder point for the authenticated entity, plus a
second configure_recommended[] section listing demand-driven products with no
configured reorder_point. The Reorder Report is the canonical workflow operators
use to place purchase orders with vendors.
Location-awareness (HOTFIX-REORDER-INTELLIGENCE Phase 4B, 2026-05-27):
accepts optional location_id query parameter to scope to one location’s
inventory_balances row. When omitted, returns an entity-wide rollup; each row
carries a locations_below[] array detailing per-location shortfalls so a
below-rp condition at Location B is never masked by surplus at Location A.
Vendor lead-time precedence (§C9): lead times displayed for each vendor row
are read from product_vendors with precedence: observed (sample_count >= 3)
-> manual (COALESCE(lead_time_days_manual, lead_time_days)) -> entity default
-> 14 days. Per ERP-CORRECTNESS-RULES §C9 + §C10.
Purchaseable-only + on-PO netting (HOTFIX-REORDER-REPORT-READINESS, 2026-05-27,
ERP-CORRECTNESS-RULES §C11): only purchaseable product types (physical, box)
appear — kits, services, and variant-parents are excluded because you purchase
the components, not the assembly. Open purchase-order quantity (on_purchase_order)
is subtracted in every inclusion branch, so a product whose incoming PO already
covers its shortfall does not reappear. Each row carries trigger_reason naming
which branch fired (aggregate-below / dependent-demand / location-specific) so the
caller can explain WHY each product is on the list.
Products excluded from reorder planning (2026-08-17): a product flagged
reorder_exempt is one the operator has declared they will never buy again. It stays fully
sellable, stocked and shippable, its cached reorder parameters are driven to zero, and it is
therefore absent from this report’s population by construction. summary carries two
counts that answer DIFFERENT questions and are not reconcilable with each other:
exempt_count is how many exempt rows are present in THIS response, and
exempt_with_stock_count is how many exempt products still hold stock across the entity
(or the requested location_id) — the population an interface would reveal on demand.
Industry parity: NetSuite Reorder Report, Acumatica Demand-Based Replenishment, Cin7 “Configure Recommended” pattern, Brightpearl per-warehouse reorder.
Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.
Query Parameters
Optional UUID. When provided, the report is scoped to the specified location's
inventory_balances row. When omitted, the report is entity-wide with per-row
locations_below[] detail.
Response
Reorder report sections (below-rp + configure-recommended).
Products with demand_avg_per_day > 0 but no configured reorder_point.
Industry pattern: Cin7 "Configure Recommended" + NetSuite Auto-Replenishment.
Each row includes a system-recommended reorder_point computed from
demand x entity default lead time.

