OdooWiki OCA HUB

HR Payroll Period

hr_payroll_period folder_open OCA/payroll open_in_new
Payroll License: AGPL-3

Adds the concept of period in the human resources management.

The objective of the module is to create periods of time to be used in the human resources management flows such as specific payroll period of time or timesheet periods.

Regarding to payrolls, it adds the date of payment on the payslip and payslip batch. This date is automatically filled when selecting a period. It also adds a sequence on the payslip batch name and the company on the payslip batch.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Adds payroll periods and HR fiscal years to Odoo, so payslips and payslip batches can be linked to a period with an automatic payment date. Periods are generated from a fiscal year and follow a pay schedule.

This module introduces two new records: HR fiscal years and payroll periods. A payroll manager creates a fiscal year, chooses a pay schedule (monthly, weekly, bi-weekly, quarterly, and others), sets the payment rules, then clicks "Create Periods" to generate all the periods of that year automatically. Each period gets a start date, an end date, a payment date and a number.

Periods move through Draft, Open and Closed states with buttons to open, close or re-open them. A period that already has payslips cannot be set back to draft. When a period is closed, the next period of the fiscal year is opened automatically, and the fiscal year is closed once all its periods are closed.

On payslips and payslip batches, a Period field is added. Selecting a period fills in the start date, end date and payment date. The period must belong to the same company as the payslip or batch, and for batches the pay schedule must match too. Payslip batches also get an automatic sequence number, a company and a payment date.

The "Generate Payslips" button on a batch now only proposes employees whose contract uses the same pay schedule. A scheduled job can create the next fiscal year and its periods automatically. Everything is found under Payroll configuration, in the "Fiscal Years and Periods" menu, and is restricted per company.

Required by other modules

Menus it adds

menu_date_range_type_actionmenu_action_hr_fiscalyearmenu_action_hr_periodFiscal Years and Periods
Models and fields (8)
  • hr.period · new modelname, state, number, type_id, company_id (Company), payslip_ids, date_payment (Date of Payment), schedule_pay, fiscalyear_id
  • hr.payslip · extends an existing modeldate_payment (Date of Payment), hr_period_id (Period)
  • hr.contract · extends an existing modelschedule_pay
  • hr.fiscalyear · new modelstate, type_id, period_ids, payment_day, payment_week, schedule_pay, payment_weekday
  • hr.payslip.run · extends an existing modelname, company_id, date_payment (Date of Payment), hr_period_id (Period), schedule_pay
  • date.range.type · extends an existing modelhr_period (Is HR period?), hr_fiscal_year (Is HR Fiscal Year?)
  • hr.employee.base · extends an existing modelcontract_id
  • hr.payslip.employees · extends an existing modelcompany_id, schedule_pay

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

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

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 16.0

Install the payroll of your localization, then install this module.

Create a fiscal year

Go to: Payroll -> Configuration -> Payroll Fiscal Year

 - Select a type of schedule, e.g. monthly
 - Select a duration, e.g. from 2015-01-01 to 2015-12-31
 - Select when the payment is done, e.g. the second day of the next period
 - Click on create periods, then confirm

The first period of the year is now open and ready to be used.

Some companies have employees paid at different types of schedule.
In that case, you need to create as many fiscal years as types of schedule
required. The same applies in a multi-company configuration.

Create a payslip batch

Go to: Human Resources -> Payroll -> Payslip Batches

The first period of the fiscal year is already selected.
You may change it if you manage multiple types of schedules.

 - Click on Generate Payslips

The employees paid with the selected schedule are automatically selected.

 - Click on Generate

 - Confirm your payslips

 - Click on Close

The payroll period is closed automatically and the next one is open.
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.