ERPNext inventory management is the Stock module: it tracks every item across your warehouses, values it automatically by FIFO or moving average, and posts each movement to the stock ledger and the books together. Batch and serial tracking, automatic reordering and the main stock reports come with it. Where the Stock module sits in a full rollout is in our complete guide to setting up ERPNext.
Short answer
ERPNext inventory management is the built-in Stock module that records every inward and outward movement, values stock by FIFO or moving average, and posts each movement to your accounts as it happens. It supports tree-structured warehouses, batch and serial tracking, reorder-driven material requests, and reports like Stock Balance, Stock Ledger, and Stock Ageing. ERPNext itself is free and open source under GPLv3.
I lead ERPNext and Frappe implementation programmes at MithTech, a team of Frappe specialists in Bengaluru. The inventory problems I get called in to fix are rarely software bugs; they are setup decisions made without knowing how the Stock module thinks. The "ERPNext shows the wrong stock" tickets I see usually trace back to a quantity edit that skipped the ledger, not to a flaw in the product.
What is ERPNext inventory management?
ERPNext inventory management is the Stock module inside the wider ERPNext platform. Every physical movement of goods becomes a saved document, and each document simultaneously updates the quantity on hand and the monetary value of stock. Because stock and accounting share one database, the warehouse balance and the general ledger stay in step, as long as nobody edits around the documents.
The principle to learn early: you almost never type a stock number directly. You record a transaction (a receipt, an issue, a transfer) and the system derives the balance. That is why a spreadsheet-style "just set the count to 40" edit causes so much trouble. The correct tool for a physical count correction is a Stock Reconciliation, which posts a proper adjustment entry.
Skimmable summary: you record movements; ERPNext derives every balance and value from them.
How do warehouses work in ERPNext?
Warehouses in ERPNext are organised as a tree, not a flat list. Parent warehouses act as groups, and leaf warehouses hold actual stock. That structure lets a single company represent a main godown, cold storage, a quarantine bin, and several branch locations while still rolling everything up into one consolidated view.
Each leaf warehouse can be mapped to a general-ledger account. With perpetual inventory switched on (the recommended mode), every movement in or out of that warehouse posts a matching accounting entry, so the books carry the stock value the ledger shows. You can also transfer stock between warehouses with a single Material Transfer Stock Entry, which keeps total company stock unchanged while moving quantity from one location to another.
| Warehouse capability | What it gives you |
|---|---|
| Tree hierarchy | Group branches, bins, and zones under one company |
| GL account mapping | Perpetual inventory keeps stock value and books aligned |
| Inter-warehouse transfer | Move stock without changing total on-hand |
| Warehouse-wise reorder | Different reorder rules per location |
For a distributor with many godowns, this tree is what keeps multi-location stock clean. I cover that case in ERPNext for distributors and wholesalers in India, and the distribution page shows the flows running live.
Skimmable summary: warehouses are a tree of locations, each mapped to a GL account, with transfers that leave total stock unchanged.
Which stock valuation method should I use — FIFO or moving average?
Stock valuation in ERPNext is set per item (with a company default in Stock Settings), and the two everyday choices are FIFO and moving average; recent versions also offer LIFO. FIFO keeps a queue of cost layers: each receipt adds a layer at its actual incoming rate, and each issue consumes the oldest layers first at their original rates. Moving average instead recalculates a single blended rate every time new stock arrives.
Neither method is "correct" for everything; the right pick depends on the goods. FIFO suits items where cost moves in batches, like imported components or perishables, because it reflects the specific cost of what left the shelf. Moving average smooths out price volatility and is simpler to reason about for fast-moving, uniform stock. ERPNext keeps the layers and the running rate for you; you choose the method on the Item.
Skimmable summary: FIFO for batch-costed or perishable goods, moving average for uniform fast-movers, decided before the first transaction.
How do batch and serial numbers work?
Batch and serial tracking are optional per-item settings that add traceability. A batch groups identical units produced or received together: a pharma lot with an expiry date, or a dye lot of fabric. A serial number identifies one individual unit, which suits high-value or warranty-bound goods like machinery, electronics, or instruments.
Once enabled, ERPNext asks for the batch or serial on every relevant transaction, so you know which lot or unit moved where. That underpins recalls, expiry management, and warranty lookups. Newer ERPNext releases add a Serial and Batch Traceability report that lets you trace backward (which raw materials and batches went into a finished product) or forward, to every customer or location a batch reached.
Use batches when
Units are interchangeable but grouped by lot, expiry, or manufacturing run. Common in food, pharma, chemicals, and textiles.
Use serials when
Each unit is individually identifiable and you need per-unit warranty, AMC, or history. Common in machinery, electronics, and instruments.
If your batches start on the shop floor, the way you set up production decides the traceability; the ERPNext multi-level BOM guide shows how bills of materials drive it.
Skimmable summary: batches track lots (expiry, run), serials track single units (warranty); both trace backward and forward.
How does reorder level and auto-reordering work?
Reorder level is a threshold you set per item and warehouse, below which ERPNext acts on its own. When projected quantity falls to that level, the system can raise a Material Request without anyone watching the shelf. You also set the reorder quantity and the request type: a purchase, a transfer from another warehouse, a material issue or manufacture. Automatic reordering is switched on in Stock Settings.
Projected quantity, not just physical stock, drives the trigger. It accounts for what is already ordered, reserved, and requested, so ERPNext does not re-order goods that are already on their way. If email notification is on in Stock Settings, users with the purchasing role get a message when an automatic Material Request is created. ERPNext reorder level covers the setup in detail.
Set the threshold
On the Item (or its warehouse row), enter Reorder Level and Reorder Qty.
Choose the action
Pick the request type: purchase, transfer, material issue or manufacture.
Let ERPNext watch
A scheduled job checks projected quantity and auto-creates Material Requests when stock dips below the level.
Convert to order
Purchasing turns the Material Request into a Request for Quotation or Purchase Order.
Skimmable summary: set a reorder level and quantity; ERPNext watches projected stock and raises Material Requests for your buyers.
Which stock reports matter most?
ERPNext ships ready-made stock reports, so most businesses need no custom development to see their inventory. The four I use daily answer different questions: what do I have, what happened, what will I have, and what is stuck.
Stock Balance shows item-wise, warehouse-wise quantity and value across all transactions. Stock Ledger is the transaction-by-transaction audit trail behind those balances. Stock Projected Qty layers in ordered, reserved, and requested amounts to show where you are heading. Stock Ageing shows slow-moving inventory, so you see the cash sitting on a shelf.
| Report | Question it answers |
|---|---|
| Stock Balance | What quantity and value do I hold right now, by warehouse? |
| Stock Ledger | Exactly which transactions moved this item, and when? |
| Stock Projected Qty | After open orders settle, where will my stock land? |
| Stock Ageing | Which stock is old and tying up cash? |
When Stock Balance and a physical count disagree, the fix is a Stock Reconciliation: a document that adjusts quantity and value with a proper ledger entry, not a silent overwrite.
Skimmable summary: Stock Balance (now), Stock Ledger (history), Projected Qty (future) and Stock Ageing (dead stock) answer most inventory questions.
How does ERPNext inventory compare to standalone stock tools?
ERPNext inventory differs from bolt-on stock apps in one way: it is not a separate system that syncs with your accounts; it is part of the same accounting, buying, selling and manufacturing system. That removes the reconciliation gap you get when a billing tool runs beside a separate inventory app.
| Licence model | Open source (GPLv3), no licence fee | Varies, often a per-user subscription |
| Accounting link | Native, single database | Usually a separate sync or export |
| Manufacturing | Built-in BOM, Work Orders, subcontracting | Often absent or add-on |
| Customisation | Full source access, own fields | Vendor-limited |
| Multi-warehouse | Tree hierarchy, per-location reorder | Varies by product |
Other tools' prices change by edition and vendor, so check the vendor's own page rather than a blog figure. What ERPNext removes is the cost of two systems disagreeing. If your inventory feeds a factory, the link with production is where this pays off; I cover it in ERPNext manufacturing in India.
Skimmable summary: ERPNext inventory shares one database with accounting and production, so there is no second app to reconcile, and no licence fee.
Frequently asked questions
+Is ERPNext inventory management free?
The software is. ERPNext, including its Stock module, is open source under GPLv3, with no licence fee per user, warehouse or item. What you pay for is hosting, implementation and support; to see what moves that cost, estimate your price.
+Can ERPNext track stock across multiple warehouses?
Yes. Warehouses are a tree, so one company can hold a main godown, cold storage, quarantine bins and several branch locations, each rolling up into one view. You can transfer stock between them and set warehouse-specific reorder rules.
+What stock valuation methods does ERPNext support?
ERPNext supports FIFO and moving average (and LIFO in recent versions), chosen per item or as a company default. FIFO consumes the oldest cost layers first; moving average blends one running rate on each receipt. The system maintains the underlying layers and rates automatically once you pick a method.
+How does ERPNext handle expiry and traceability?
Enable batch tracking on perishable or lot-controlled items and record a batch (with expiry) at each transaction. For individually identifiable goods, enable serial numbers. Newer releases add a traceability report to trace materials backward into a product or forward to every customer a batch reached.
+What is perpetual inventory in ERPNext?
Perpetual inventory is a company setting that posts an accounting entry for every stock movement, using the GL account mapped to each warehouse. It keeps stock value and the general ledger in step and is the recommended mode for most businesses. ERPNext perpetual inventory explains the accounts it needs.
+How do I correct a wrong stock quantity in ERPNext?
Use a Stock Reconciliation document, not a direct edit. It records the physical count and posts a proper adjustment to both quantity and value in the stock ledger, preserving the audit trail. Avoid overwriting numbers in a way that skips the ledger.
How we run an ERPNext implementation, from setup to support.
Comments & ratings
No comments yet. Start a new discussion.
Manoj · Published on 20 July 2026
Worked with us? Leave a Google review