Lorixen.

Stocktake Software: Recording a Count Is Not the Same as Correcting Stock

A stocktake tool should preserve what someone counted, where and when, before changing the stock balance. Ask for an explicit reconciliation step between the observation and the adjustment. Otherwise, a correct count entered late can overwrite legitimate movements that happened afterwards.

This article concerns physical counting and correction, not purchasing, stock reservation or a complete accounting policy. The controls below are requirements to agree with your team and developer, not features promised by every inventory product.

Define the thing being counted

A product total across the business is not a count of one shelf. Specify the product, location, unit and, where relevant, lot or serial identity. Include the treatment of damaged goods, goods awaiting inspection and items temporarily moved to another area. The count sheet should say which physical scope is included rather than leaving staff to guess.

Odoo's official inventory-adjustment guide distinguishes location, product, lot/serial number, counted quantity and recorded on-hand quantity. These are useful examples of separate fields, not a universal data model.

Use an explicit uncounted state. A blank result must not mean zero. Conversely, a confirmed zero is a real observation and should not disappear because a form treats it as an empty value. Ask whether counters see the expected quantity; either choice should be deliberate and consistent with the counting procedure.

Preserve the observation before applying it

Record the counter and count time separately from the person and time of application. Let a recount replace a proposed result through a visible history, rather than quietly changing an already applied adjustment.

The Odoo guide explicitly describes a stage where the count is recorded but not yet applied. It also warns that movements can occur between counting and application, changing the recorded balance. Its confirmation step illustrates the problem; a confirmation button alone does not decide how your workflow should resolve it.

For a custom tool, choose a movement policy. You might pause movements in a defined area during counting, or reconcile subsequent movements against a recorded cutoff. Do not mix these approaches accidentally. Show the reviewer the count, the relevant recorded balance, intervening movements and proposed correction. An old count should not become current merely because someone clicked Apply.

Investigate differences without inventing explanations

Allow a discrepancy to remain under review. Missing stock is not automatically theft, and an unexpected surplus is not automatically a new purchase. Record a reason supported by the investigation, with an explicit unknown option when necessary.

Separate a location error from a change in total stock. Finding goods on another shelf may call for a location transfer, not a loss adjustment followed by an unrelated gain. Have the business's accounting adviser approve any valuation or posting rules; this guide does not establish them.

Odoo documents an adjustment history and a reversal that adds a further record instead of deleting the original. For your brief, require traceable correction of an applied mistake. Do not promise that reversing an old adjustment will be harmless after later stock activity; the appropriate corrective action needs review.

Acceptance should include late and repeated entries

Use fictional products in the project acceptance tests:

  • An uncounted line remains different from a confirmed zero.
  • Two locations holding the same product remain separately identifiable.
  • A movement after counting is visible before application.
  • A recount preserves who entered both observations.
  • Repeating the same application cannot silently apply the correction twice.
  • An applied error receives a linked correction and retained history.
  • A location-only discrepancy does not automatically change the business-wide quantity.

Bring the counting procedure, including movement cutoffs and review responsibility, to a discussion about inventory workflow development. A fast scanning screen is useful only after these rules are clear.

Evidence boundary

The cited Odoo 19 guide supports distinct count/application stages, location and tracking fields, intervening-movement risk and retained reversal history. Blank-versus-zero handling, reconciliation design, duplicate-application protection and investigation rules above are proposed acceptance requirements, not claims of a complete audit or regulatory compliance.

WhatsAppLet’s talk