You set a reorder level on an item, stock dropped below it, and… nothing. No Material Request, no alert. Auto-reorder is one of ERPNext's most useful features and one of its most silently broken, because it depends on three things people forget: a running scheduler, the projected-quantity calculation (not just what's on the shelf), and a Stock Settings switch. This guide shows exactly why it isn't firing and a live calculator that tells you whether it should.
What the request becomes
Auto-reorder raises a Purchase-type Material Request, which you then turn into a Purchase Order. This post is about making that first automatic step actually happen.
The number ERPNext checks against your reorder level is projected quantity, not on-hand — miss that and "it's not reordering" looks like a bug when it's working exactly as designed. I am Manoj, ERPNext and Frappe implementation lead at Mith Tech in Bengaluru; auto-reorder is standard setup on every distribution client we run.
Projected quantity is the whole story
The number ERPNext tests against your reorder level is projected quantity, per the auto-creation documentation — roughly actual on-hand + incoming (open POs / planned) − reserved (sales orders). So an item can be low on the shelf yet have a high projected quantity because a Purchase Order is already inbound — and ERPNext will correctly not raise another request. Most "it's not reordering" reports are this working as designed. Check your numbers first:
Enter on-hand, incoming, reserved, reorder level and reorder qty to see whether ERPNext will raise a Material Request and for how much.
ERPNext raises a Purchase Material Request for the re-order qty only when projected qty falls below the re-order level. Incoming stock counts — a PO already on the way can keep projected above the level and legitimately suppress the request.
When it genuinely isn't firing
If projected quantity is below the level and still nothing happens, it's one of a short list of setup gaps. Pick your symptom:
Select the reason auto-reorder isn't raising a request to get its cause and the fix.
Pick the most likely reason auto-reorder isn't raising a request.
The scheduler is the number-one culprit
Auto-reorder runs as a scheduled background job. On self-hosted instances the scheduler is often disabled or the workers are down after a restart, so reorder levels are never evaluated and no Material Request is ever created (#16129). Confirm bench scheduler status and bench doctor before assuming a configuration problem.
Set it up so it actually works
Configure the reorder row on the item, enable the scheduler and Stock Settings, and a no-fire diagnosis checklist.
Configure the reorder row on the Item.
Item master > "Auto re-order" table > Add Row:
• Check-in Warehouse (where stock is checked)
• Warehouse / Warehouse Group (where the MR requests to)
• Re-order Level (projected qty threshold)
• Re-order Qty (how much to request)
• Material Request Type = Purchase
Save. One row per warehouse you want monitored (#35063).Add the reorder row on the item
Item master → Auto re-order table → set check-in warehouse, request warehouse (or group), Re-order Level, Re-order Qty, and Material Request Type = Purchase. One row per warehouse you want monitored.
Turn the engine on
Enable the site scheduler (bench enable-scheduler), confirm workers with bench doctor, and switch on automatic Material Request creation in Stock Settings.
Check the projected threshold
Use the calculator above. If projected quantity is at or above the reorder level, that's why nothing fired — an inbound PO may be covering you. Lower the level or wait.
Configure email on v16
Set an outgoing Email Account so the reorder job doesn't abort before creating the request (#54217).
Trust the auto-request, or watch it first?
FAQ
+Why is ERPNext not creating a Material Request at the reorder level?
Most often the scheduler isn't running, so reorder levels are never evaluated. The next most common reason is that projected quantity — on-hand plus incoming minus reserved — is still above the reorder level because a Purchase Order is already inbound. Check the scheduler first, then the projected quantity with the calculator above.
+How does ERPNext decide when to auto-reorder?
It compares an item's projected quantity against the reorder level you set. Projected quantity is actual on-hand plus incoming (open purchase orders / planned receipts) minus reserved (sales orders). When projected falls below the reorder level, ERPNext raises a Purchase Material Request for the reorder quantity.
+How do I set a reorder level in ERPNext?
On the Item master, add a row to the Auto re-order table with the check-in warehouse, the request warehouse, the reorder level, the reorder quantity, and Material Request Type set to Purchase. Then make sure the scheduler is enabled and Stock Settings allows automatic Material Request creation.
+Why did auto-reorder create separate Material Requests per warehouse?
Because each warehouse has its own reorder row and the job evaluates them independently. This is expected — issue #35063 tracks the behaviour and the trade-offs. If you want one consolidated request, use a warehouse group as the request warehouse so the projected quantity is assessed at the group level.
+Does auto-reorder need email configured?
On standard builds, no — but some v16 builds have a bug (#54217) where the reorder job aborts if no outgoing email account is set up, because it tries to send a notification and fails before creating the Material Request. Configure an Email Account or move to a fixed build.
+Does this apply to ERPNext v14, v15 and v16?
The projected-quantity logic and reorder setup are the same across v14, v15 and v16. The email-account abort (#54217) is specific to certain v16 builds, so check your patch level if reorder stopped working after a v16 upgrade.
Closing
Auto-reorder isn't temperamental — it's precise. It checks projected quantity against your level on a schedule, and it needs the scheduler, a reorder quantity, a warehouse, and (on v16) email to do its job. Get those four right, trust the projected-quantity maths, and ERPNext quietly keeps your shelves stocked without a planner watching every SKU.
Stockouts on fast movers because reordering is still manual?
We configure auto-reorder across your catalogue, tune levels to real lead times, and make sure the scheduler and requests actually run — so you stop firefighting stockouts.