Pay runs

Pay runs are used to generate multiple payslips at once and process them in a group, rather than create and process individual payslips. This method not only helps the payroll department pay employees in less time, but it also helps keep payslips organized.

Typically, a company’s payroll department creates a new pay run for each salary structure, for every pay period (usually weekly, bi-weekly, or monthly). If desired, pay runs can be further organized by department, job position, etc.

Once a pay run is made, payslips are added to the pay run, then the pay run is processed, and employees are paid.

View pay runs

To view all the pay runs in the database, navigate to Payroll app ‣ Payslips ‣ Pay Runs to display all payslip pay runs that have been created. These payslip pay runs are displayed in a list view, grouped by Status (either Ready, Done, or Paid), by default.

Each pay run displays the name, the dates it includes, the number of payslips, and the total employer cost, gross, and net amounts for all payslips.

View displaying all pay runs created.

Create a new pay run

New pay runs can be created from the Work Entry, Employee Payslips, or Pay Runs dashboards.

Work entry dashboard

To create a pay run from the work entry dashboard, navigate to Payroll app ‣ Work Entries ‣ Work Entries. The current time period is displayed, with the current day highlighted in yellow.

All employees appear in a default Gantt view, with all work entries displayed. If necessary, navigate to the desired time period.

Once all missing work entries are added and all conflicts are resolved, click the Generate Pay Run button. The pay run is created for all employees, with a status of Ready.

The work entries dashboard with the GeneratePay Runs button visible.

Employee payslips dashboard

To create a pay run from the payslips dashboard, navigate to Payroll app ‣ Payslips ‣ Payslips. All payslips for all employees are displayed in a default list view, in chronological order.

Click the Pay Run button and a New Pay Run pop-up window loads. Select the Salary Structure using the drop-down menu. If no Salary Structure is selected, the pay run applies to all salary structures. Next, select the Pay Schedule, which is how often employees are paid. The default options are year, half-year, quarter, 2 months, month, half-month, 2 weeks, week, or day.

Last, using the calendar selector, set the first day the pay run covers in the first blank Period field. The second field is automatically populated based on the selection in the Pay Schedule field.

Example

A company pays its employees every month. To configure the pay run for November, the Pay Schedule is set to month, and the first Period field is set to Nov 1. Once entered, the second field is automatically populated with Nov 30.

A monthly pay run configured for November.

When the New Pay Run pop-up window is configured, click Continue, and the pop-up window changes to a Select Employees window. All employees who match the parameters set in the New Pay Run pop-up window appear in the list. Select the desired employees to add to the pay run, or click the box next to Employees to select all employees in the list.

The pay run employee selection pop-up window.

Once all desired employees are selected, click Select. The pop-up window closes, and the pay run appears on the screen.

Pay runs dashboard

To create a pay run from the pay runs dashboard, navigate to Payroll app ‣ Payslips ‣ Pay Runs. Click the New button and a New Pay Run pop-up window loads.

Follow the same directions as if creating a pay run form the payslips dashboard.

Add a payslips to a pay run

Once a pay run has been created, payslips are added as part of the pay run creation. If needed, additional payslips can be created individually, and added to a pay run after it has been created.

To add a new payslip, navigate to Payroll app ‣ Payslips ‣ Payslips. Click the New Off-Cycle button and a blank Employee Payslips form loads. Configure the payslip form, and ensure the Pay Run field is populated.

Once the form is configured, click Compute Sheet to calculate the payslip and add it to the selected pay run.

Process a pay run

After a pay run has been created, and all required payslips have been added, the pay run must then be processed, and employees paid.

Open the desired pay run by navigating to Payroll app ‣ Payslips ‣ Pay Runs, and clicking on the desired pay run.

For a pay run to be processed, it must have a status of Ready. That means the pay run has been created and payslips have been added, but the payslips have not been processed.

Click the Create Draft Entry button, then click OK in the Confirmation pop-up window to confirm and create a draft of all the individual payslips in the pay run. After this occurs, the pay run status changes to Done, and moves to the corresponding grouping on the Pay Runs dashboard.

Tip

At any time, the pay run needs to be reverted back to a status of Ready, click the Revert button. This action does not remove any payslips that have already been added to the pay run, instead, the status changes back to Ready.

After any desired changes have been made, click Create Draft Entry and the pay run status changes to Done.

It is important to note, that if any payslips in the pay run have a status of Paid, the pay run cannot revert to a status of Ready.

Once the status has changed to Done, the payments must be logged in the database. Click the Payment Report button, and a pop-up window loads, where the payment report details are entered.

Using the drop-down menu, select the Export Format for the payment report. The universal option is CSV, while all other available options depend on the installed payroll localization.

Next, select the Payment Date using the calendar selector. This is the date the paychecks are issued.

Some payroll localizations cause a Bank Journal field to also appear. If visible, select the journal the payslips are logged on, using the drop-down menu.

Once the pop-up window is configured, click the Generate button. The Payment Report button changes to a Download (filetype) button. To save a copy of the payment report, click the Download (filetype) button, select the location for the file, then click Save.

Note

If the screen is enlarged beyond a certain amount, the Download (filetype) button is hidden from view. In this scenario, click the (vertical ellipsis) icon to view and select the Download (filetype) option.

After the report is created, click the Mark as paid button to mark the payslips as paid in the database.

Tip

Odoo automatically creates the name of the pay run according to the various selections made when creating the pay run (salary structure, pay schedule, etc). In some situations, a company may want to rename the pay runs, for better organization and a clearer understanding of what pay slips are part of each pay run.

For example, a company pays its employees monthly, for both hourly and salaried employees.

The names for their four August 2025 pay runs are:

  • Aug 1-14 2025 - Hourly

  • Aug 1-14 2025 - Salary

  • Aug 15-31 2025 - Hourly

  • Aug 15-31 2025 - Salary