Contents8
A stock spreadsheet is updated when someone thinks of it. An ERP updates stock at every document: receiving a purchase increases it, delivering an order decreases it. It is simple on paper, and it is what finally makes stock reliable, on one condition: no movement slips past.
In short
ERP stock is the sum of validated movements: no outgoing movement may escape it.
Locations reflect the real warehouse, without excessive detail.
Lots and serial numbers are enabled only if traceability is required.
Replenishment rules replace ordering “by feel”.
Everything starts with a clean stock count on go-live day.
The principle: stock made of movements
Each movement has an origin (supplier, location, customer) and a destination. The ERP does not store a quantity, it adds up movements. Direct consequence: an item taken out “by hand”, a sample given without a document, unreported breakage, and the displayed stock drifts. The team rule matters as much as the setting: everything that goes out goes through a document.
The settings that matter
Locations
A warehouse, its zones, sometimes its aisles. The right level of detail is where people actually look for an item. Too many locations and every movement becomes tedious entry; too few and people search the whole depot.
Lots and serial numbers
Essential in food, pharmacy, electronics or wherever a product recall is possible. Useless elsewhere, where they only add an entry to every movement. Enable them item by item, not for the whole catalogue.
Replenishment
A minimum and maximum stock per item, or a rule calculated on sales, triggers a supplier order proposal. The buyer validates instead of guessing. Odoo’s documentation on replenishment describes both approaches.
Valuation
Weighted average cost, first in first out, standard cost: the method changes the displayed margin and the accounting entries. It is chosen with the accountant, before go-live, because changing it afterwards is delicate.
The opening stock count
The stock imported on go-live day must be counted stock, not stock copied from the old tool. A physical count the day before, entry into the ERP, and a check of total value with accounting. The general method is in ERP data migration.
- Freeze movements
During the count.
- Count by location
In pairs.
- Enter
Into the ERP via an import file.
- Compare
Total value with accounting.
- Reopen
Movements, now all in the ERP.
Then: cycle counting
Rather than a big annual count, count part of the items each week, starting with those that move most or are worth most. Gaps are spotted early, and their cause (an unreported outgoing movement, a receiving error) is fixed while people still remember.
Several warehouses, an online shop
With several depots, the ERP manages transfers between them and stock per site. With an online shop, sellable quantity syncs from the ERP to the shop, never the other way: one source is authoritative. See Connecting your business tools.
Customer returns
Returns are the most often forgotten movement. A returned item must go back through a document, be checked, then put back into sellable stock or scrapped. Without this step, displayed stock counts damaged items as available, and the next lead-time promise will be wrong.
Where to start
Before configuring anything, draw your real warehouse and list a typical week’s movements: receipts, picking, transfers, returns, breakage. This simple plan dictates the locations and operation types to create. The rest, lots, replenishment rules, valuation, is set item by item. The complete ERP guide places stock in the order of project batches, often after sales and purchasing, and our CRM and ERP offer includes the opening stock count in the data migration.
Frequently asked questions
Does Dolibarr handle stock well?
For one or a few warehouses with simple movements, yes: receipts, issues, transfers, stock counts and lots are covered. For advanced picking, putaway or calculated replenishment rules, Odoo goes further, at the cost of longer configuration.
How do you stop stock drifting after go-live?
By forbidding any outgoing movement without a document, and counting part of the stock every week. Drift almost always comes from a forgotten movement. Cycle counting surfaces it within days, instead of discovering it at year-end.
Do you need barcode scanners?
They become useful as soon as movements are numerous. Scanning avoids reference errors and speeds up picking. Odoo and Dolibarr accept standard handheld scanners, and Odoo also offers a picking screen designed for scanning on a phone.
Sources
Jim · founder of Brain Plus AI
Also in erp: odoo and dolibarr

Practical guide5 min The topic guide
ERP for a company of 20 to 500 people: the guide
An ERP brings sales, purchasing, stock and invoicing into one database. This guide explains when it becomes useful, how to choose between Odoo and Dolibarr, and what makes the project succeed or fail.

Practical guide4 min
Migrating your data into an ERP without making a mess
Data migration decides an ERP's first month. What to migrate, what to leave behind, how to clean and test the import before go-live.

Understand4 min
AI in an ERP: what really helps, what can wait
Reading supplier invoices, bank reconciliation, answering questions about the data: AI has solid uses in an ERP, others are still demos. The sorting, use by use.
