Detailed Traceability
The stock you had on a given date, and whether the numbers add up
Reconstructs any product's stock on a past date, sorts every movement into purchases, sales, production, adjustments and transfers, and compares what is there against what should be. Drills down to lot, serial number and the move behind it.
How you get it
Every development works in all three Odoo environments. The only thing that changes is how we deliver it.
Odoo Online (SaaS)
You do not need the ability to install modules. A Millora consultant comes in with temporary access that you authorize and implements it with Odoo Studio. When they are done, you revoke the access.
Odoo.sh or your own server
You receive the module and the installation guide by email as soon as payment clears. Install it yourself, or we install it with you.
Installation · shell
# 1 · copia el módulo a tu addons_path
cp -r millora_trazabilidad_a_detalle /mnt/extra-addons/
# 2 · reinicia y actualiza la lista de apps
odoo-bin -u all -d tu_base --stop-after-init
# 3 · instala desde Apps
# busca "Detailed Traceability"What it solves
The problem
When stock doesn't add up, the useful question isn't how much is missing: it's when it went.
Odoo stores today's stock and stores the movement history, but it does not store stock as of a past date. Reconstructing how the warehouse looked on the last day of the previous month — cut-off day, audit day — ends up being an export to a spreadsheet and an afternoon of adding up.
And standard lot traceability answers a different question: it draws the tree of where something came from and where it went, but it never tells you whether the quantities close.
How it works
You pick a date range and what to look at: product categories, a search term, a warehouse or specific locations. The report returns one line per product with opening stock, the period's movements split across twelve columns — purchases, customer returns, production output, positive adjustments, incoming transfers and their six outgoing counterparts — plus computed stock, actual stock and the difference between them.
Stock as of a past date is not stored anywhere, so the report rebuilds it: it starts from today's stock and rewinds every movement made after that date. That is why it works on any past date without anything having been set up in advance.
And that is where the check that gives the whole thing meaning comes from: the same number is reached two different ways. Actual stock, rewound from quantities on hand, against computed stock, which is opening plus ins minus outs. In a healthy database the two match and the difference is zero on every line. When they don't, there is an inconsistency between what the quantities say and what the movements say: those lines come out in red and filter with one click.
There is a second signal, in amber: movements that fit no known category are set aside into "other" columns and flag the line. They are usually the trace of an odd location setup, and they are exactly the ones worth looking at.
Classification is relative to what you are looking at, not to the document type. If both source and destination sit inside the selected locations, the move doesn't change the total and isn't counted; if only the destination falls inside, it is an inbound. That sounds like a technical detail and isn't: it is why the same report balances whether you view the whole company or a single warehouse. A transfer between warehouses is an outbound in one, an inbound in the other, and net zero in the consolidated view.
The lot breakdown opens from any line: the same columns, but one row per lot or serial number — including ones that no longer hold stock — plus today's quantities spread across locations and lots. A second button opens the individual stock moves behind that line, one by one, all the way to the originating document.
What it does not do
It moves nothing. It creates no adjustments, corrects no differences and touches no stock: it finds the discrepancy and tells you where it is, the decision stays yours.
It does not warn on its own. No alerts and no emails: the report runs when somebody asks for it.
It only sees what Odoo recorded. A movement that was never entered does not exist for the report. It validates against nothing external.
And stock value is computed using the product's current standard cost, not the cost it carried on the date queried. Useful for sizing, not for valuing a past close.
What changes
Inventory audits stop starting with an export. "What happened to this product between these two dates?" is answered on one screen, with the lot breakdown one click away and the original move two.
And something appears that you previously couldn't even search for: the list of products whose quantities on hand do not agree with their own movement history. In a database with years of operation, that list tends to be short and very revealing.
What's included
- Rebuilds any product's stock as of a past date, with no advance preparation
- Splits the period's movements across twelve columns: purchases, sales, production, adjustments, transfers and returns
- Computes stock two different ways and flags in red the products where they disagree
- Sets aside movements that fit no category into "other" columns and flags the line
- Scopes the analysis by product category, search term, warehouse or specific locations
- Balances whether you view the whole company or a single warehouse, because it classifies by the scope analysed
- Opens the breakdown by lot or serial number, including lots that are already depleted
- Shows today's quantities spread across locations and lots
- Drills down to the individual stock moves behind each line
- Includes a pivot view and Odoo's standard export to Excel
- Saves each report with its reference, its filters and its result, ready to be opened again
Requirements
- Inventory module active. Purchase and Sales are not required: movements are classified by location type
- Storable products. Consumables and services fall outside because they hold no stock
- Lots or serial numbers configured on the products where you want that level of detail
- Movements entered up to date: the report is only as reliable as the history it compares against
You might also need
Fulfillment Restock Calculator
How many units to ship to the marketplace warehouse, with numbers
Inventory & warehouse
Fulfilment Appointments
So the appointment doesn't fall through over something already known
Inventory & warehouse
Containers
You know what each unit cost you before the ship docks
Inventory & warehouse

