Skip to content

How to Configure Timesheet Invoicing in Odoo 19

DeployMonkey Team · March 24, 2026 8 min read

Overview

Timesheet invoicing in Odoo 19 connects employee time tracking to customer billing. When employees log hours on project tasks, those hours can be invoiced to the customer at agreed rates. The sale_timesheet module bridges the Timesheets and Sales modules.

Prerequisites

  • Odoo 19 with Sales, Timesheets, and Project modules installed
  • The sale_timesheet module installed
  • Service products configured for billing

Step 1: Configure the Service Product

Create a service product for timesheet billing:

  • Navigate to Sales > Products and click New
  • Product Type — Service
  • Invoicing Policy — Based on Timesheets
  • Create on Order — Task (creates a task in an existing project) or Project (creates a new project)
  • Unit of Measure — Hours
  • Sales Price — Your billable hourly rate

Step 2: Create a Sales Order

  1. Create a sales order for the customer
  2. Add the timesheet service product
  3. Set the quantity to the estimated hours (or a budget cap)
  4. Confirm the sales order
  5. Odoo creates the linked project and/or tasks automatically

Step 3: Log Timesheets

Employees log time through several interfaces:

  • Timesheets > My Timesheets — Grid view for weekly time entry
  • Task form — Log time directly on the task's Timesheets tab
  • Timer — Start/stop timer for real-time tracking

Each timesheet entry records: Employee, Task, Description, Hours, and Date. The entry links to the sales order line through the task's project.

Step 4: Configure Billing Rates

Odoo supports different billing rate configurations:

Single Rate

All team members bill at the same rate defined on the service product's sales price.

Employee-Specific Rates

For different rates per employee (e.g., senior vs. junior):

  • Create separate service products with different prices
  • Or use pricelists to vary rates by partner

Step 5: Track Billable vs. Non-Billable

Distinguish between billable and non-billable time:

  • Time logged on tasks linked to sales orders is billable
  • Time logged on internal projects (not linked to SOs) is non-billable
  • Use the Timesheets reporting to compare billable vs. total hours

Step 6: Validate Timesheets

Enable manager validation for quality control:

  • Navigate to Timesheets > Configuration > Settings
  • Enable Timesheet Validation
  • Managers approve timesheets periodically (weekly or bi-weekly)
  • Only validated timesheets are included in invoicing

Step 7: Invoice from Sales Order

When ready to invoice logged hours:

  1. Open the sales order
  2. Check the Delivered column — it shows total logged hours per service line
  3. Click Create Invoice
  4. Select Regular Invoice to bill delivered (logged) hours
  5. Review the invoice and send to the customer

The invoice lines show the total hours, rate, and subtotal per service product.

Step 8: Reporting

Monitor timesheet performance:

  • Timesheets > Reporting > By Employee — Hours per employee with billability ratio
  • Timesheets > Reporting > By Project — Hours per project for profitability analysis
  • Compare billed hours vs. budget on the sales order

Best Practices

  • Invoice timesheet hours monthly to maintain cash flow
  • Set up timesheet reminders to ensure employees log time daily
  • Use the timer feature for accurate time capture during meetings and calls
  • Validate timesheets before invoicing to catch errors
  • Share timesheet reports with clients for transparency on billed hours