Prepare an inventory audit programme by defining what will be counted, when the observation applies and how differences become reviewed adjustments. Keep the physical count, investigation and posting as separate steps. Use the count packet below to trace one discrepancy without treating a corrected stock balance as an explanation for why the difference arose.
Start with the purpose of the exercise. An internal stock-count programme may support operational control and management review. Its scope, evidence and responsibilities should be written down before the team opens an adjustment screen. This guide provides a practical count-and-reconciliation workflow; it does not turn software output into an independent audit opinion.
What should the count plan make explicit?
Identify the products, locations, stock units and tracking details in scope. Name the count owner and the person responsible for reviewing proposed adjustments. Record the planned count time and how movements during the exercise will be identified. A count sheet without that context can leave a reviewer unable to tell which stock state was actually observed.
Odoo 19 provides a documented example of count planning. Its Request a Count dialogue includes an assigned user, a scheduled date and a choice about showing the expected quantity. These are useful requirements to discuss when deciding how a count will be organised. Odoo inventory adjustments.
Check population completeness as well as the count method. Odoo’s Physical Inventory page lists products with stock history; products without that history do not appear there. If the proposed programme includes newly introduced items, ask how they will enter the count population rather than assuming the displayed list is the entire store. Odoo Physical Inventory.
Keep the broader movement and reorder workflow in the separate inventory control guide. The distinct task here is to establish a count population, preserve evidence and control the resulting adjustment decision.
How should observations remain separate from posting?
In Odoo, a counted quantity can be recorded before it is applied. At that point the recorded on-hand quantity has not yet been changed to match the observation. This distinction gives the reviewer a useful question: what has been observed, and what change is now being proposed? Recording and applying counts.
Odoo also warns that stock movements between counting and application can change the database quantity. A late posting therefore needs the count time and intervening movements, not merely another click on Apply. The documented confirmation is a precaution; the programme still needs someone to explain whether the observation and posting refer to consistent stock states. Odoo count timing.
Use a packet that preserves the stages instead of overwriting the original observation.
| Packet component | What to retain | Question it should answer |
|---|---|---|
| Count scope | Item, location, unit and tracking reference | What physical population was examined? |
| Observation | Count, time and counter | What was actually seen? |
| Comparison | Recorded balance and relevant movements | Are the figures being compared on the same basis? |
| Discrepancy review | Recount and supporting explanation | What evidence supports the proposed correction? |
| Adjustment decision | Authorised action and posting reference | Who accepted which change? |
| Follow-up | Remaining exception and responsible person | What is still unexplained? |
The packet is an original review aid. Adapt it to the business’s approved responsibilities and the actual system; do not assume every field exists in every product.
Original discrepancy exercise: an issue during the count
Consider a fictional store counting a component held in one bin. The worksheet records the item, location, unit and the time the counter observes the quantity. A later issue is then recorded before the inventory adjustment is ready for review.
Ask the reviewer to reconcile three things: the physical observation, the system balance associated with the comparison and the intervening issue. The aim is not to find a convenient number that makes the screen match. It is to explain which state each number represents and whether the proposed adjustment would count the issue twice.
Rehearse the sequence in a test copy:
- Retain the original count observation with its time and counter.
- Identify the issue record and whether it occurred before or after that observation.
- Establish a consistent comparison point using the actual system’s available records.
- Ask another authorised person to review the proposed correction and its explanation.
- Apply only the agreed test adjustment, then inspect the resulting history.
Introduce a second exception: a recount uses a different unit from the original count. Hold the comparison until the unit difference is resolved. A lower quantity might reflect a unit mistake, a movement or a genuine discrepancy; the programme should preserve enough evidence to distinguish those possibilities.
No quantities or results are asserted for a real warehouse here. The exercise supplies a way to test the programme’s evidence chain before it is used for an operational count.
How do ERPNext reconciliation records fit the programme?
ERPNext distinguishes Opening Stock from Stock Reconciliation as purposes for its reconciliation tool. For reconciliation, the documented inputs include Item Code and Warehouse, with posting date and time available for editing. These choices belong in the review packet because they identify which balance is being changed and when the posting applies. ERPNext Stock Reconciliation.
For spreadsheet uploads, ERPNext states that the CSV format is case-sensitive and preset headers should not be edited. Item Code and Warehouse entries must match the records in the account. Check those mappings in a test exercise before treating an uploaded file as an accepted count population. Spreadsheet reconciliation.
The guide also documents Scan Mode. It disables fetching the existing quantity and builds quantities through repeated scans when item barcodes are configured. That makes scan behaviour another acceptance question: which item does the input identify, which warehouse is selected and how are repeated scans counted? A scanner’s beep alone does not establish a correct reconciliation. ERPNext barcode reconciliation.
After submission, the guide directs users to inspect the Stock Ledger Report for the updated balance. Retain that inspection with the posting reference. Keep the quantity decision separate from any valuation change requiring its own review. Stock Ledger check.
What should adjustment history and follow-up explain?
Odoo documents that applying an adjustment creates a stock move in Moves History. Reverting an adjustment adds another history line rather than removing the original one. These behaviours support asking whether a reviewer can follow the original posting and its reversal without losing the sequence. Odoo adjustment history.
Use the completed packet to distinguish a corrected quantity from a resolved cause. A balance may be brought into agreement while the reason for the discrepancy remains open. Assign the next investigation or process change to a named person and retain that status alongside the posting evidence.
For wider requirements, see business systems. Bring a sample count packet and an unresolved discrepancy when you get started, so the discussion begins with the evidence the proposed workflow must preserve.
By Spout Team. AI-assisted drafting by Codex using the linked Odoo 19 and ERPNext documentation; independent editorial review remains pending.