OdooWiki OCA HUB

HR Timesheet Purchase Order

hr_timesheet_purchase_order folder_open OCA/timesheet open_in_new
Human Resources License: AGPL-3

============================================ Create purchase orders from timesheet sheets

This module allows you to create Purchase Orders based on the employee timesheet sheet, both manually and automatically. This can be useful for subcontrating and outsourcing.

auto_awesome What this module does

AI-generated from the code · Odoo 14.0

Create purchase orders (RFQs) from approved employee timesheet sheets, either manually with a button or automatically on a recurring schedule. Useful for subcontracting and outsourcing billed by hours worked.

This module links timesheet sheets to purchase orders so hours worked by an employee can be billed to a vendor/partner.

  • On the employee form you can enable "Generate POs from Timesheet" and set a billing partner; the billing partner becomes required when the option is on.
  • On an approved (done) timesheet sheet, a "Create Purchase Order" button appears for timesheet managers. It creates one purchase order per billing partner, with one line per employee using the product configured in Settings and the employee's timesheet cost, and the quantity equal to the total hours of the selected sheets.
  • An "Open Purchase Order" button opens the related purchase order, and the purchase order form shows a stat button with the number of linked timesheet sheets.
  • In Settings you must choose a "Purchase Timesheet Product"; without it, PO creation is blocked.
  • On a partner you can enable "Automatic PO generation from timesheet sheets", define a recurrence (every N days/weeks/months/years, on chosen weekdays or dates, until a date, a number of repetitions or forever) and optionally "Send RFQ by email after creation". A daily scheduled job creates the POs for due recurrences.
  • A timesheet sheet that already has a purchase order cannot be reset to draft until the PO is deleted.

Depends on

Models and fields (7)
  • res.company · extends an existing modeltimesheet_product_id (Purchase Timesheet Product)
  • res.partner · extends an existing modelfri (Fri), mon (Mon), sat (Sat), sun (Sun), thu (Thu), tue (Tue), wed (Wed), is_send_po (Send RFQ by email after creation), repeat_day, repeat_type (Until), repeat_unit, repeat_week, employee_ids, repeat_month, repeat_until (End Date), recurrence_id, repeat_number (Repetitions), repeat_on_year, repeat_weekday (Day Of The Week), repeat_interval (Repeat Every), repeat_on_month, repeat_show_day, repeat_show_dow, repeat_show_week, repeat_show_month, is_auto_po_generate (Automatic PO generation from timesheet sheets), next_recurrence_date
  • purchase.order · extends an existing modeltimesheet_sheet_ids (Timesheet Sheets), timesheet_sheet_count
  • hr.employee.base · extends an existing modelbilling_partner_id, allow_generate_purchase_order (Generate POs from Timesheet)
  • hr_timesheet.sheet · extends an existing modelpurchase_order_id, allow_generate_purchase_order
  • res.config.settings · extends an existing modeltimesheet_product_id (Purchase Timesheet Product)
  • hr.timesheet.recurrence · new modelfri (Fri), mon (Mon), sat (Sat), sun (Sun), thu (Thu), tue (Tue), wed (Wed), repeat_day, partner_ids, repeat_type (Until), repeat_unit, repeat_week, repeat_month, repeat_until (End Date), repeat_number (Repetitions), repeat_on_year, repeat_weekday (Day Of The Week), recurrence_left (Number of tasks left to create), repeat_interval (Repeat Every), repeat_on_month, next_recurrence_date

Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 14.0

Confirmed on 2026-11-03 in branch 14.0 of OCA/timesheet.

terminal Installation and usage

OCA documentation · Odoo 14.0

General Settings > Timesheet > Timesheet Options: in field "Purchase Timesheet Product" select the product that will be used in PO to bill timesheet hours.

Go to Employees app > select an employee > go to HR Settings tab and enable the "Generate POs from timesheet sheet" checkbox Select the Billing partner which will be the vendor in the created POs By enabling "Automatic PO generation from timesheet sheets" in Partner > Sales & Purchase tab, user can set the recurrence of PO generation and whether the RFQ report should be sent automatically after creation.

In the Timesheet Sheet form, use the Create Purchase Order button to create a new RFQ.

A server action to create POs is also available in tree view.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.