Skip to content
Knowledge ERP Docs
API Reference ↗
Inventory

Reorder Points

Per-Product or per-category min/max stock thresholds — optionally scoped to a single location — that flag low stock and drive reorder suggestions.

A reorder point is the floor (and optional ceiling) you set for a Product's on-hand stock. When measured stock drops below the min amount, the Product is marked low and becomes a candidate for a reorder suggestion. The max amount tells the suggestion engine how much to order up to, so purchase quantities land in a sensible range rather than swinging to an arbitrary number.

Reorder points are the configuration layer; the reorder suggestions engine is what reads them to produce actionable purchase recommendations. Setting thresholds here is what makes the suggestion engine useful.

Where to set reorder points #

Reorder points live on the things being tracked, not in a separate admin screen. The Reorder Points tab appears on every Product, Category, and Kit detail page, and it behaves the same in each place:

  • Product → Reorder Points tab — thresholds that apply to that specific Product only.
  • Category → Reorder Points tab — thresholds that apply to every Product in the category. Category-level points are especially useful for large families of similar units where you want a shared floor without configuring each Product individually.
  • Kit → Reorder Points tab — thresholds stored against the kit record. Note that current-stock measurement for kit-based points is not yet calculated (the system cannot currently sum assembled-kit stock the way it sums Product quantities), so kit reorder points will not trigger low-stock flags or appear in the reorder suggestions engine at this time.

You can mix and match: set a category default and then override it on any individual Product that needs a tighter or looser threshold.

Creating a reorder point #

From the Reorder Points tab on a Product or category, click + New to open the form:

  • Location — which inventory location the threshold applies to. Leave it blank to create a single default that covers every location. You can add one point per location if your business runs different safety stocks by site.
  • Min Amount — the quantity below which the Product is considered low. The isBelowMin flag is checked against real-time on-hand stock calculated in the Product's own unit of measure. Leave blank to signal "no minimum enforced."
  • Max Amount — the desired stock ceiling. Reorder suggestions use this to compute an order-up-to quantity (max − current stock). Optional.
  • Unit of Measure — the unit label to display alongside the amounts (e.g., each, lb, ml). Defaults to the Product's unit of measure if you leave it empty.

A point with no location is a fallback: it applies to the Product at every location that doesn't have its own dedicated point. This makes it easy to set global defaults with per-location overrides.

How current stock is measured #

The system calculates current stock in the same units as the reorder point when deciding whether a threshold is breached:

  • For a Product-based point, it sums each matching unit's remaining quantity (factoring in the Product's unit size). For example, a Product with amount = 500 ml and a unit at 50% remaining contributes 250 ml to the total.
  • For a Category-based point, it totals the same calculation across every Product in that category.

If a reorder point has a location_id, only units at that location are counted. The isBelowMin check compares this live total against reorder_min_amount, so the flag updates in real time as units are consumed, transferred, or received.

Low-stock indicators #

Products breaching their minimum appear with a low-stock indicator in the Product list. The list can be filtered by stock status to show only Products that are currently below their minimum — useful for a quick daily review before generating purchase orders.

The reorder suggestions page reads from the same data: every below-minimum Product is a candidate there, pre-populated with a suggested quantity computed from usage trends and vendor lead times.

Editing and deleting #

From the Reorder Points tab, click the edit icon on any row to update its location, min, max, or units. Click the delete icon to remove the threshold entirely — the Product is then unmonitored unless a category-level point still applies. Deletes are soft; historical records are retained for auditing.

Reorder points vs. reorder suggestions #

These two features work together but serve different purposes:

Reorder Points Reorder Suggestions
What it is Your stated threshold The system's purchase recommendation
Set by You, per Product / category Calculated automatically
Location scope Optional Per location (required)
Action it drives Low-stock flag Draft purchase order quantity

Reorder points are the input; suggestions are the output. If a suggestion looks wrong, adjust the reorder point or the vendor's lead time on the Vendor SKU record.

Doing it from the API #

# List all reorder points (paginated, 50 per page)
curl "https://your-domain.com/api/v1/inventory/reorder-points" \
  -H "Authorization: Bearer $TOKEN"

# Filter to a specific Product
curl "https://your-domain.com/api/v1/inventory/reorder-points?product_id=<product-id>" \
  -H "Authorization: Bearer $TOKEN"

# Create a location-scoped reorder point on a Product
curl -X POST "https://your-domain.com/api/v1/inventory/reorder-points" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "target_type": "sku",
    "target_id": "<product-id>",
    "location_id": "<location-id>",
    "reorder_min_amount": 10,
    "reorder_max_amount": 50,
    "units": "each"
  }'

reorder_min_amount and reorder_max_amount are decimal quantities in the Product's own unit of measure — not cents. A Product measured in litres uses litres here; a Product counted by the piece uses whole numbers.