Odoo 19Project$69.01

Unbilled Work Report

Project timesheets that have been worked and never invoiced, aged by how long they have been sitting, with the cost and the sale value of each bucket

The video below shows Unbilled Work Report running on a real Odoo 19 database. Want it driven against your own data, or a question answered first? Ask and we will set up a session.

Odoo knows which timesheets are billable and which have been invoiced. What it does not put anywhere is how long the rest have been sitting - and the age is the whole story.

Work billed a fortnight late is a nuisance. Work billed six months late is a conversation about whether it really took that long, with nobody left who remembers the detail. Often it simply never gets billed at all.

By project and by age, with the hours, the cost, and what it is worth.

What it does

Aged, because age is the story

0-30 days, 31-90, 91-180 and over six months, with the date of the oldest entry in each row. Rolling a project into one figure would hide exactly how long the oldest money has been waiting.

Only work somebody meant to charge for

Non-billable hours are not late invoices - they are hours nobody was ever going to bill, and mixing them in makes the total meaningless. Invoiced timesheets drop out too, or the figure becomes a measure of how much work was done.

It admits what it cannot price

Entries with no sales order line - which come from projects billed manually, exactly where work gets forgotten - are counted in the hours and the cost, left out of the sale value, and reported as a count. Pricing them would mean inventing a rate, and a made-up number in a money report is worse than an admitted gap.

Straight to the old ones

One button opens only what has been waiting more than ninety days, and the findings name the projects carrying most of it. That is the list somebody can actually work through this afternoon.

Cost and value, side by side

What the hours cost you and what they were sold for, from the sales order line's own price rather than a list price that may have been discounted away.

Screenshots

Unbilled Work Report in Odoo — screenshot unbilled

Requirements

  • Odoo 19.0, Community or Enterprise.
  • Odoo.sh or On-Premise only. Third-party apps cannot be installed on Odoo Online (SaaS) databases — check your hosting before buying.
  • Odoo 19 Community or Enterprise with Sales - Timesheets. It reads only: nothing is invoiced, changed or written back, and it has no opinion about whether the work should have been billed - only that it has not been.
  • Module mh_unbilled_work, version 19.0.1.0.15, licensed OPL-1.

The Odoo App Store lists this app at $69.01 because it requires a paid dependency; the module's own price is $69. $69.01 is the total you pay to install it.

Related apps

← All Odoo apps