Salary periods

A salary period is one payroll month of one company. It is the unit that is opened, filled, reconciled and finally closed. Closing a period freezes everything it contains.

To see the periods, go to Salary app ‣ Salary ‣ Salary Periods.

screenshot: hr-salary-periods-list
menu
Salary ‣ Salary ‣ Salary Periods
shows
The Salary Periods list with the Name, From, To, Status, Total Gross, Total External and Total Deviation columns.
highlight
The Status and Total Deviation columns (red frame).
data
Demo company "YourCompany HU"; three monthly periods, the current one Open, the previous one Closed.
module
hr_salary_sheet
notes
English UI, light theme, 1440px width.

Create a period

Click New and fill in:

  • From and To: the first and last day of the month.

  • Payroll Mode: External Provider when the payroll calculation is done outside Odoo — which is the normal case for this application — or Internal.

  • Working Days Override: fill this in only when the legal number of working days of the month differs from the number computed from the company’s working schedule. The value actually used is shown as Working Days Used.

Click Open to start the month.

Generate the salary sheets

On an open period, click Generate Sheets. In the dialog:

  • Engagements: leave empty to generate a sheet for every running engagement, or select the engagements to generate for.

  • Include Draft Engagements: also generate for engagements that have not been started.

  • Complete Existing: add the missing default lines to sheets that already exist, instead of skipping those sheets.

Each generated salary sheet starts from the engagement’s salary term and from the working schedule and time off of the month.

Tip

To put the same component on many sheets at once — a one-off bonus, for example — click Batch Line on the period, select the component, the amount and the sheets, and apply.

Reconcile and close

The period walks through four statuses:

  1. Draft: being prepared.

  2. Open: sheets are generated and amounts are entered.

  3. Reconciling: the external payroll statement has arrived and the deviations are being handled. Click Start Reconciliation to get here.

  4. Closed: the month is final.

Click Close to close the period. Closing:

  • refuses to run while any sheet still has a blocking deviation, unless the company setting Closing Requires No Blocking Deviation is switched off;

  • stores a snapshot and a hash of the closed figures, together with Closed By and Closed On, on the Closing tab;

  • makes every sheet, line and term of the month read-only, including through later changes to time off or to a contract.

Important

Only a user with the Salary Approver right can Reopen a closed period, and a Reopening Reason has to be entered. The reason, the user and the date are kept on the Reopening tab, so that every intervention into a reported month stays traceable.

screenshot: hr-salary-period-form
menu
Salary ‣ Salary ‣ Salary Periods ‣ (open a period)
shows
A salary period form in the Reconciling status, with the Generate Sheets, Import Statement, Batch Line and Close buttons in the header, the Totals and External groups, and the Salary Sheets tab.
highlight
The Totals and External groups with Total Gross, Total External and Total Deviation (red frame).
data
Period "2026-03", 12 sheets, one open deviation.
module
hr_salary_sheet
notes
English UI, light theme, 1440px width.