Skip to Content
Q&A

Project Billing: Time and Materials Automatically Included on the Invoice

Hours, costs, and products listed directly from the project on a customer invoice.

Back to all Q&A
January 27, 2026 by
Project Billing: Time and Materials Automatically Included on the Invoice
DAADit Group, Nick

Situation: you bill on a time & materials basis and every month it's the same old story: scraping hours together from diaries, scraps of paper and your engineers' memories. By the time the invoice goes out, you're half a day further on — and you're guaranteed to have forgotten hours.

The basics: a billable project

First, in Project → Settings, enable the Billable option together with Timesheets. Then create a service product (for example "Consultancy hours") with the invoicing policy Based on Timesheets. Put that product on a sales order and, on confirmation, Odoo automatically creates a project with a task linked to that order line.

From hour worked to invoice line

From that moment on, it runs by itself:

  • Employees log their hours on the task, via the web interface or the app on their phone.
  • Every logged hour appears as delivered quantity on the sales order.
  • When invoicing (the Create Invoice button on the order, or monthly in batch via Sales → To Invoice), Odoo puts all the hours neatly on the customer invoice, including description and date if you want.

No retyping, no forgotten Friday afternoons.

Different rates per role

Do you work with senior, mid-level and junior rates? Then put several order lines on the same order, each with its own service product and rate. In the project, under the Settings → Invoicing tab, you link each employee to the right order line. Odoo then automatically books each employee's hours at the right rate — the invoice splits itself.

Including materials and expenses too

Mileage, hotel costs or materials you pass on to the customer? Create products for these with the Re-invoice Expenses option (at cost or at sales price). When an employee records an expense on the project, it appears as an extra line on the same order. An installation company that bills hours, travel time and materials per job has everything on a single invoice this way.

Finally

Practical tip: have staff log their hours daily, not at the end of the week. From experience: anyone reconstructing the whole week on a Friday easily "loses" 10% of their billable hours. Want to make your time-and-materials billing watertight? Contact DAADit Group — we'd be glad to set it up with you.

Situation: you work on a cost-plus basis (time & materials) and every month it is the same story: scraping hours together from calendars, notes and your engineers' memory. By the time the invoice goes out you have lost half a day — and you have guaranteed forgotten some hours.

The basis: a billable project

First, in Project → Settings, enable the Billing option together with Timesheets. Then create a service product (for example "Consultancy hours") with the invoicing policy Based on Timesheets. Put that product on a sales order and, upon confirmation, Odoo automatically creates a project and task linked to that order line.

From hour worked to invoice line

From that moment on, it runs by itself:

  • Employees log their hours on the task, via the web interface or the app on their phone.
  • Every recorded hour appears as delivered quantity on the sales order.
  • When invoicing (the Create Invoice button on the order, or monthly in batch via Sales → To Invoice), Odoo puts all hours neatly on the customer invoice, including description and date if you want.

No retyping, no forgotten Friday afternoons.

Different rates per role

Working with senior, medior and junior rates? Put multiple order lines on the same order, each with its own service product and rate. In the project, under the Settings → Invoicing tab, you map each employee to the right order line. Odoo then automatically books each employee's hours at the correct rate — the invoice splits itself.

Include materials and expenses too

Mileage, hotel costs or materials you charge on? Create products for those with the Re-invoice Expenses option (at cost or at sales price). When an employee records an expense on the project, it appears as an extra line on the same order. An installation company that invoices hours, travel time and materials per job gets everything on one invoice.

Wrapping up

Practical tip: have employees log hours daily, not at the end of the week. From experience: whoever reconstructs the whole week on Friday easily "loses" 10% of billable hours. Want to make your time-and-materials billing watertight? Get in touch with DAADit Group — we are happy to set it up with you.

Question not answered?

Our Odoo consultants are happy to think along with you. Book a no-obligation intro call.

Book an appointment
Personalizing Email Templates in Odoo
Say goodbye to "Dear Customer" — create templates that sound like they were handwritten.