You set a reorder level on an item, stock dropped below it, and nothing happened: no Material Request, no alert. Auto-reorder is one of ERPNext's most useful features, and it fails without telling you. It depends on things people forget: a running scheduler, a job that runs once a day, the projected-quantity calculation (not just what's on the shelf) and a Stock Settings switch. This guide shows why it isn't firing, with a calculator that tells you whether it should.
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 is working as designed. I am Manoj, and I lead ERPNext and Frappe programmes at MithTech, a team of Frappe specialists in Bengaluru. Auto-reorder is standard setup on every distribution programme we run.
Why does projected quantity decide everything?
The number ERPNext tests against your reorder level is projected quantity, per the auto-creation documentation. In the code it is actual on-hand + ordered (open POs) + requested (open Material Requests) + planned (work orders) − reserved (sales orders, production, subcontracting). So an item can be low on the shelf yet have a high projected quantity because a Purchase Order is already inbound, or last week's request is still open, and ERPNext will correctly not raise another. When projected quantity is at or below the level, the request is for the reorder quantity or the shortfall, whichever is larger. Many "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.
What if it really isn't firing?
If projected quantity is at or below the level and a day has passed with nothing, 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.
How do you set it up so it works?
Configure the reorder row on the item, enable the scheduler and Stock Settings, and a no-fire diagnosis checklist.
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 watched.
Turn the engine on
Enable the site scheduler (bench enable-scheduler), confirm workers with bench doctor, and in Stock Settings switch on "Raise Material Request When Stock Reaches Re-order Level".
Check the projected threshold
Use the calculator above. If projected quantity is above the reorder level, that's why nothing fired: an inbound PO or an open request may be covering you. Lower the level or wait. If it is at or below, give the daily job a day.
Configure email on v16
Set an outgoing Email Account so the reorder job doesn't fail on the notification (#54217, fixed in later builds).
Trust the auto-request, or watch it first?
| Let auto-reorder run | Keep it manual for now |
|---|---|
| Steady-demand items with reliable lead times | Lumpy or seasonal demand where a fixed level over-orders |
| Many SKUs no one has time to watch | A handful of critical items a planner reviews anyway |
| Scheduler + email are reliably running | Self-hosted box where the scheduler isn't dependable yet |
| Projected-qty logic matches how you buy | You buy against forecasts, not reorder points |
At a glance
| Check | What it should be |
|---|---|
| Stock Settings | "Raise Material Request When Stock Reaches Re-order Level" on |
| Scheduler | Enabled, workers running (bench doctor) |
| When it runs | Once a day, not on each stock movement |
| Trigger | Projected quantity at or below the reorder level |
| Quantity raised | Reorder quantity, or the shortfall if that is larger |
| Item | Enabled, a stock item, not a variant template, not past end of life |
| v16 builds | An outgoing Email Account set up |
FAQ: what do people ask most?
+Why is ERPNext not creating a Material Request at the reorder level?
Often the scheduler isn't running, so reorder levels are never evaluated. The other common reason is that projected quantity (on-hand plus ordered, requested and planned, minus reserved) is still above the reorder level because a Purchase Order is inbound or an earlier request is open. The job also runs only once a day. 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 ordered (open purchase orders), requested (open material requests) and planned, minus reserved (sales orders, production, subcontracting). When projected is at or below the reorder level, the daily job raises a Material Request of the row's type for the reorder quantity, or the shortfall if that is larger.
+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 put every warehouse into one Material Request?
Each warehouse has its own reorder row and is checked on its own, but the job collects the results into one Material Request per company and request type, with a row per warehouse. Issue #35063 asks for separate requests per warehouse and is still open. If you want stock checked across several warehouses together, set a warehouse group as the check-in warehouse so projected quantity is assessed at the group level.
+Does auto-reorder need email configured?
Not on v14 or v15. Some v16 builds had a bug (#54217, since closed) where the reorder job failed when no outgoing email account was set up, because the notification step errored. Configure an Email Account or update 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 failure (#54217) was specific to certain v16 builds, so check your patch level if reorder stopped working after a v16 upgrade.
What is the bottom line?
Auto-reorder isn't erratic; it is exact. Once a day it checks projected quantity against your level, and it needs the scheduler, the Stock Settings switch, a reorder row per warehouse and (on some v16 builds) email to do its job. Get those right, trust the projected-quantity maths, and ERPNext raises the requests without a planner watching every SKU.
Comments & ratings
No comments yet. Start a new discussion.
Manoj · Published on 28 July 2026
Worked with us? Leave a Google review