Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. Stale Records Report v 19.0
  4. Sales Conditions FAQ

Stale Records Report

by Farhan Ashraf https://github.com/faaani/odoo-apps
Odoo
v 19.0 Third Party 4
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 14.0 15.0 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 14.0 15.0 16.0 17.0 18.0 19.0
  • Description
  • Manifest

Stale Records Report

What has not been touched lately?

Data quality rots quietly. Leads nobody touched in a year, contacts last edited in 2019, products untouched since the import — nothing warns you, and Odoo has no screen that answers the question. This module adds a read-only report you can point at any model: pick the model, an age in days and (optionally) an extra filter, and get the counts by age together with the oldest records, their last-update date and their last writer. Free and open source (LGPL-3), Odoo 14.0 through 19.0.

  • Any model — contacts, leads, products, projects, your own custom models: anything that keeps a last-update date.
  • Counts by age bucket — how many records are older than 30, 90, 180 and 365 days, plus the exact count for the age you asked for.
  • The oldest records, listed — with the real last-update date, how many days ago that was, and the user who wrote them last.
  • One click to the record — open any listed record in its own form, or hand the whole selection over to the ordinary list view of that model.
  • An optional extra filter — a plain Odoo domain, e.g. [("customer_rank", ">", 0)], to narrow the report to the records you care about.
  • Honest about access rights — every query runs as you, so record rules apply and the report can never show a record you could not open yourself. The screen says so.
  • Built for big tables — the counts are aggregate queries and the list is a single capped search, so the table itself is never read row by row: only the rows you asked to see.
  • Your report is yours — the report rows are protected by a record rule, so one user can never read the results another user produced.
  • Strictly read-only — it never writes to, archives or deletes the records it reports on. The only rows it stores are your own report parameters, in a temporary table Odoo clears by itself.

Screenshots

Report criteria

Pick the model, the age and how many rows to list, then press Analyse.

Report result

Counts by age bucket, then the oldest records with their last-update date and last writer.

Capped result

When more records are stale than the list can show, the result says so instead of hiding them.

Refused model

A model that keeps no last-update date is refused with a plain explanation — not a zero, and not a traceback.

Open all stale records

Open All Stale Records hands the whole selection over to the ordinary list view, where you can filter, group and export it.

Installation

  1. Copy the module into your addons path, or install it from the Apps list.
  2. Open Apps, remove the “Apps” filter, search for Stale Records Report and click Install.
  3. Only the standard base module is required.

Configuration

  1. No configuration is needed — the report works as soon as the module is installed.
  2. The menu Settings → Stale Records Report is shown to Administration / Settings users.
  3. The report itself may be used by any internal user, because it can never show more than that user is already allowed to see. If you want a data-quality team to use it, point a menu or an action of your own at the stale.records.wizard model — no code change is needed.

Usage

  1. Go to Settings → Stale Records Report.
  2. Choose the Model (Contact, Lead, Product, …) and the age in days — 90 by default.
  3. Optionally add an Extra Filter as a literal Odoo domain, e.g. [("customer_rank", ">", 0)] for customers only, and tick Include Archived Records if archived rows should count too.
  4. Set Rows to List (50 by default, 500 maximum) and press Analyse.
  5. Read the counts, then work through the listed records — the arrow at the end of each row opens it. Open All Stale Records opens the complete selection in the normal list view, ready to filter, group or export.
  6. Change Criteria returns to the form; Refresh re-runs the same analysis against today's data.

What it does not do, and why

  • It never changes the records it reports on. None of them is written, archived or deleted — not even the ones it lists. (Your own criteria and result rows are stored in a temporary table that Odoo clears by itself.) If you want stale records archived automatically, my companion module Automatic Archiving Rules (auto_archive_stale_records) does that on a schedule. It is a separate, optional install; this module does not depend on it and does not install it.
  • Counts are what you may see. The queries run with your access rights, so a user restricted by a record rule gets smaller numbers than an administrator on the same model. That is deliberate, and the report says it on screen.
  • Models without a last-update date cannot be reported on. Abstract models, wizard (transient) models and the few models where Odoo disables log access have no write_date; they are refused with an explanation rather than reported as “nothing stale”.
  • A model you cannot read is refused instead of being counted for you.
  • “Last updated” is Odoo's write_date. It changes whenever any field of the record is written — including by an automated job or an import — so a record touched only by a bulk update looks fresh. The Last Updated By column shows who that was.
  • The age buckets are cumulative. A record untouched for 400 days is counted in all four ("older than 30", "older than 90", "older than 180" and "older than 365"); they do not slice the records into disjoint groups.
  • The extra filter is a literal domain. Expressions such as uid or context_today() are not evaluated.

Version notes

Identical behaviour on every supported series (14.0 – 19.0). No developer mode is required.

Questions, bugs or feature requests?
Email f.ashraf.dev1@gmail.com — I read and answer every message.

License: LGPL-3 · Source on GitHub · Issues and contributions welcome.

Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 446
Technical Name record_last_update_report
LicenseLGPL-3
Websitehttps://github.com/faaani/odoo-apps

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with