Odoo Payroll calculates employees’ compensation by combining work entry data (hours worked, time off taken, overtime) with the salary rules defined in their contract. Every pay cycle follows the same sequence: verify work entries, generate payslips, review calculations, and pay employees—either by bank transfer or printed check. Because Payroll integrates with Employees, Attendances, Time Off, and Planning, the underlying data is always accurate before a payslip is ever generated.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/odoo/documentation/llms.txt
Use this file to discover all available pages before exploring further.
Salary Structures
Salary structures define how each employee’s pay is calculated. They are organized in a two-level hierarchy: Structure Types group related structures, and each Structure contains the individual salary Rules that compute the amounts.Structure Types
A structure type groups structures that apply to a similar employment category. The two default types are Employee (for salaried workers on a fixed wage) and Worker (for hourly employees). The structure type also sets the default pay frequency and working hours template.
Salary Structures
Each structure contains an ordered list of rules executed sequentially. A typical structure includes a Gross Wage rule, Social Contributions deductions, Tax rules, and a Net Wage computation. Structures can also cover one-off payments like end-of-year bonuses.
Salary Rules
Rules define individual line items on a payslip—basic salary, meal allowances, overtime pay, pension contributions, income tax. Each rule references a Python-based formula or a fixed amount, and posts to a specific accounting account.
Other Input Types
Add extra payslip inputs—bonuses, expense reimbursements, or manual deductions—that are not automatically derived from work entries. These are applied per payslip when the payroll officer processes the batch.
Working Schedules
A working schedule defines the employee’s expected hours per day and week. Payroll uses working schedules to calculate the number of expected working days within any pay period.Create a working schedule
Go to Payroll → Configuration → Working Schedules and click New. Name the schedule (e.g., “Standard 40 hrs/week”, “Part-Time 20 hrs”, “Flexible”) and define the work time lines for each day of the week.
Assign to a contract
On the employee’s contract, select the appropriate working schedule. The schedule determines how many days are counted as worked for a given pay period and how overtime is calculated.
Work Entries
Work entries are the daily records of how an employee spent their time during a pay period—regular work, paid leave, sick days, overtime, and public holidays. Payslips cannot be finalized until all work entry conflicts for the period are resolved.Automatic Generation
When payroll is run, Odoo generates work entries from the employee’s contract schedule, cross-referenced with approved time off requests, attendance records, and planning entries.
Conflict Resolution
Conflicts occur when two entries overlap (e.g., an attendance record and a time off day on the same date). Navigate to Payroll → Work Entries and filter by Conflicts to review and resolve each one before processing payslips.
Manual Entries
Payroll officers can manually add or edit work entries to account for exceptional situations—unanticipated overtime, missed attendance punches, or retrospective corrections.
Deferred Time Off
If time off is approved after payslips are validated, enable Deferred Time Off in Payroll settings to apply the absence to the next pay period instead of canceling and reprocessing the current payslips.
Creating Pay Slips
Payslips can be created individually for one employee, or generated in bulk via a Pay Run for the entire workforce.Individual Payslip
Open a new payslip
Go to Payroll → Payslips → To Pay and click New. Select the employee—Odoo auto-populates the contract, salary structure, and period based on the employee’s active contract.
Review worked days and inputs
The Worked Days & Inputs tab shows the number of days and hours for the period, broken down by work entry type. Add any additional inputs (bonuses, deductions) manually if required.
Compute the payslip
Click Compute Sheet to run all salary rules. The Salary Computation tab displays every rule line with its computed amount, making it straightforward to verify the calculation before finalizing.
Pay Runs (Batch Processing)
Pay runs generate and process payslips for multiple employees at once, organized by salary structure and pay period.Generate a pay run
From the Work Entries dashboard, click Generate Pay Run after confirming all conflicts are resolved. Odoo creates one pay run covering all employees whose work entries fall in the selected period.Alternatively, go to Payroll → Payslips → Pay Runs and click New to create a pay run manually, then add payslips to it.
Add and review payslips
Click Add Payslips inside the pay run to include employees not automatically added. Review each payslip, resolve any remaining discrepancies, and click Generate Payslips to compute all at once.
Validate the batch
Once satisfied with all calculations, click Validate on the pay run. All payslips within the batch are validated simultaneously and their accounting entries are posted.
Salary Attachments
Salary attachments handle recurring deductions or additions that are not part of the base salary structure—child support garnishments, loan repayments, court-ordered deductions, or supplemental allowances.Create an Attachment
Go to Payroll → Employees → Salary Attachments and click New. Select the employee, the attachment type, the amount (fixed or percentage), and the date range over which it applies.
Automatic Application
Once created, salary attachments are applied automatically to every payslip generated within the specified date range. No manual entry is required each pay period.
Payroll Reporting
Payroll Analysis
Analyze payroll costs across employees, departments, structure types, and time periods. Filter by gross wage, net wage, employer cost, or any individual rule to understand your total compensation spend.
Headcount Report
Track active headcount by department and contract type over time. Identify periods of rapid growth or unexpected attrition.
Work Entry Analysis
Review the distribution of work entry types (regular work, overtime, sick leave, etc.) across the workforce to spot absence trends or compliance issues.
Payroll Localizations
Country-specific payroll modules add region-appropriate reports—such as tax declarations, social security filings, or statutory year-end certificates—directly to the Payroll reporting menu.