Skip to content
Back to catalog
ReportInventory & warehouseNew

Aging by Location Report

How many days each lot has been sitting, and in which area

Reconstructs each lot's route through the company's internal areas and computes the days it spent in each. Shows where product stalls, with a per-category average to compare against.

Compatibility
Odoo 19Odoo 18Odoo 17Odoo 16

How you get it

Every development works in all three Odoo environments. The only thing that changes is how we deliver it.

Nothing to install

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.

Install it today

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_reporte_de_permanencia_por_ubicacion /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 "Aging by Location Report"

What it solves

The problem

Odoo tells you where a product is. It never tells you how long it has been there.

And that second question is the one that matters when something misses its date. A lot that has been in quality control for eleven days and one that has been there for two look exactly the same on the stock screen: both are in quality control.

Internal transfers hold the answer — each one has its date — but it is scattered across dozens of movements. Working out how long a lot took to cross the plant means opening its transfers one by one and subtracting dates by hand. Nobody does that, so the bottleneck is known by habit: everyone suspects one area, nobody has the number.

How it works

You pick a period and, if you are after something specific, type a word from the product's name.

The report reconstructs each lot's route from the internal transfers already recorded — nothing new to enter — and returns a table with the product, the lot, the date it entered and left each area, the days it spent there, and the total from arrival until it left the last process.

That is where the bottleneck stops being a suspicion: the days-per-area column points at exactly where things pile up.

On top of that sits the average days per product category. That is the figure that lets you compare: if one product family takes twice as long as another in the same area, the problem isn't the area — it's the product, or how it is processed.

What it's used for

Three different uses, one report.

Finding where flow stalls. The days-per-area column, sorted, is the list of your real bottlenecks.

Proving times. Quality can show with exact dates that a lot spent the required time under review — or that it didn't.

Seeing whether something improved. Bounded by period, this month's report against last month's says whether the change they made worked.

What it does not do

It only sees internal movements. What came in from a vendor or went out to a customer stays outside: this measures transit inside your operation, not the full cycle.

It does not judge the times. It tells you a lot spent nine days in an area. Whether nine days is a lot is for you to say; the report has no expected figure to compare against.

It does not replace turnover or inventory reports. It answers a different question.

And it works from the transfers' confirmed dates: if a movement was validated three days after it happened, the report counts those three days. It measures what the system recorded, not what happened on the floor.

What changes

The argument about which area is the bottleneck ends, because there is a column with the days in it.

And the forgotten lot — the one that has sat in a corner for three weeks because nobody looked at it again — surfaces on its own, at the top of the list, without anyone going looking for it.

What's included

  • Reconstructs each lot's route from the internal transfers already recorded
  • Shows the entry and exit date of every area, lot by lot
  • Computes the days the lot stayed in each internal location
  • Totals the days from arrival until it left the last process
  • Averages days per product category, to compare families against each other
  • Filters by a word inside the product's name
  • Bounds the analysis to the date range you choose
  • Works on any location defined as internal, with no separate setup

Requirements

  • Inventory module active
  • Internal transfers recorded in Odoo: they are the report's raw material
  • Internal locations that map to the real areas of your operation
  • Products tracked by lot, since the route is followed by lot
  • A user with Inventory permissions