Part of our HR & Workforce Management series
Read the complete guideOdoo HR and Payroll: Employee Lifecycle Management
Human resources is often the most fragmented part of an organization's technology stack. Recruitment lives in one tool, onboarding in another, time tracking in a third, and payroll in a fourth — with HR spending significant time every month reconciling data between systems. Errors are inevitable, compliance is difficult, and the employee experience suffers. Odoo 19 Enterprise HR integrates every stage of the employee lifecycle into a single platform, from the moment a candidate applies to the day they leave the company.
This guide covers the complete Odoo HR suite: employee master data, recruitment, contracts, attendance, time-off management, performance appraisals, expenses, and payroll. Each module is designed to connect seamlessly with the others, eliminating the reconciliation work that consumes so much HR bandwidth today.
Key Takeaways
- Manage the full employee lifecycle from recruitment through offboarding in a single system
- Configure employment contracts with automatic payslip rule calculation
- Track attendance via biometric devices, mobile app, or manual entry with automatic overtime calculation
- Automate time-off accrual, approval workflows, and leave balance tracking
- Run payroll with configurable salary rules, deductions, and statutory contributions
- Conduct structured performance appraisals with goal tracking and 360-degree feedback
- Process employee expenses with receipt capture, approval workflows, and direct payroll integration
- Generate HR analytics for headcount, turnover, payroll cost, and absenteeism reporting
Employee Master Data and Organizational Structure
Every HR process starts with accurate employee data. Odoo's employee record is the single source of truth for all information about a person's employment.
Employee form overview: Navigate to Employees > Employees > New to create an employee record. The form captures: personal information (name, address, date of birth, identification numbers), work information (job position, department, manager, work location, work email), HR settings (HR manager, time zone, working schedule), and private information (emergency contacts, bank account for payroll, certificate level). Fields are organized into tabs so HR staff can easily navigate to the relevant section.
Organizational structure: Odoo builds your organization chart from the Manager field on each employee record. Navigate to Employees > Reporting > Organization Chart to view the interactive org chart, which updates automatically as reporting relationships change. The chart is filterable by department, job position, or any other field.
Departments and job positions: Create departments under Employees > Configuration > Departments. Each department can have a cost center linked to accounting analytic accounts, ensuring departmental costs flow to the right cost center in your financial reports. Job positions define the roles in your organization — different from individual employees. A job position might have multiple current employees, a target headcount, and an open headcount calculation for recruitment.
Working schedules: Define working hour templates under Employees > Configuration > Working Schedules. These schedules define the expected hours per day for each day of the week. Assign the appropriate schedule to each employee — this drives attendance calculations, overtime rules, and time-off accrual.
Recruitment Pipeline
Odoo Recruitment provides a complete applicant tracking system (ATS) that feeds directly into the HR module when candidates are hired.
Job posting: Create job openings under Recruitment > Job Positions. Each position has a department, number of expected new employees, responsible recruiter, and publishing settings. Published positions appear automatically on the Odoo-powered careers page of your website. Each position has a dedicated email alias that converts inbound applications into candidate records.
Recruitment pipeline: Applications move through a Kanban pipeline with configurable stages: Initial Qualification, Phone Interview, Interview, Contract Sent, and Contract Signed (or hired). Each stage has configurable actions — automatically sending an acknowledgment email when an application arrives, or prompting the recruiter to schedule an interview when an application advances.
Candidate evaluation: Rate candidates on a five-star scale and add notes after each interaction. All communication — emails, scheduled interviews, and internal notes — is recorded in the application chatter. Multiple team members can collaborate on a candidate's evaluation without losing context.
Interview scheduling: Schedule interviews directly from the candidate record. Odoo integrates with Google Calendar and Microsoft Outlook to show interviewer availability. The candidate receives a confirmation email with a calendar invite automatically. If the interview slot needs to change, Odoo handles the reschedule and notifies all parties.
Hiring: When a candidate is selected, click "Create Employee" from the application record. The candidate's personal information populates the new employee form automatically, eliminating data re-entry. The recruitment pipeline closes, and the onboarding process begins.
Employment Contracts
Contracts formalize the terms of employment and drive payroll calculations in Odoo. Every employee must have an active contract for payslips to be generated.
Contract components: A contract in Odoo includes: start date and optional end date, job position, department, wage type (monthly, hourly, weekly), gross wage, and any additional allowances or benefits. The HR Responsible and the employee's work schedule are pulled from the employee record automatically.
Salary structure: The salary structure (linked to the contract) defines the calculation rules that determine net pay from gross wage. A typical salary structure includes base salary, transport allowance, housing allowance, income tax deduction, social security contributions, and other statutory deductions. Salary structures are configurable per country — Odoo provides localized structures for 40+ countries.
Salary rules: Each line in a salary structure is a salary rule with a calculation formula. Rules can be fixed amounts, percentage of gross, percentage of another rule, or complex conditional formulas based on employee attributes. For example, overtime pay might calculate as 1.5x the hourly rate multiplied by hours in excess of 8 per day, pulling data from the Attendance module automatically.
Contract management: HR managers can view all active, expired, and upcoming contracts from Employees > Contracts. Filter by department or contract type to identify contracts expiring soon and initiate renewal negotiations proactively. Contract documents can be generated from templates and signed electronically through Odoo Sign.
Attendance Tracking
Accurate attendance data is the foundation of payroll accuracy. Odoo Attendance supports multiple input methods to suit different work environments.
Check-in/check-out methods: Employees can record attendance via the Odoo web application, the mobile app, a biometric time clock connected via the Odoo IoT Box, or a badge/RFID card reader. All methods feed into the same attendance database, so hybrid teams (some remote, some on-site) are managed consistently.
Overtime calculation: Configure overtime rules under Attendance > Configuration > Overtime. Define the threshold (e.g., 8 hours per day or 40 hours per week) and the overtime multiplier. When attendance records exceed the threshold, overtime hours are automatically flagged and available for payslip calculation. Managers can review and approve overtime before it's included in payroll.
Attendance analysis: Navigate to Attendance > Reporting > Attendance Analysis to view attendance patterns by employee, department, or time period. Identify employees with excessive absence, chronic lateness, or unusual patterns. The report integrates with time-off data so approved absences are distinguished from unexplained absences.
Kiosk mode: For physical workplaces, Odoo provides a kiosk mode where employees badge in and out on a shared tablet. The kiosk displays employee photo upon badge scan for visual verification. PIN code entry provides an additional authentication layer if required.
Time-Off Management
Time-off management is one of the most administratively intensive HR processes. Odoo automates accrual, approval, and balance tracking so HR teams spend less time on leave administration.
Leave types: Create leave types under Time Off > Configuration > Leave Types. Each type defines whether the leave requires approval, how it accrues (annual, monthly, upon hire), the maximum allowed days per year, carry-over rules, and whether it's paid or unpaid. Common types include Annual Leave, Sick Leave, Maternity/Paternity Leave, Public Holidays, and Compensatory Leave.
Accrual plans: Configure automatic leave accrual for leave types that accumulate over time. An annual leave accrual plan might grant 1.67 days per month (20 days per year), with monthly posting on the first of each month. Accrual can be configured to cap at a maximum balance, preventing unreasonable accumulations.
Leave requests: Employees submit leave requests through the Time Off module or the employee self-service portal. The request shows their current balance, the dates requested, and automatically calculates the number of working days. Requests are routed to the employee's manager (or a designated HR approver) for approval. Approved leaves block the employee's calendar and are visible to their team.
Public holidays: Import public holiday calendars for each country or region where you operate. Public holidays are automatically excluded from leave calculations — employees don't need to "use" annual leave on public holidays, and the system doesn't count them as working days when calculating leave balances.
Leave balance reporting: Navigate to Time Off > Reporting > Leave Analysis. View leave balances, requests, and usage by employee, department, or leave type. Export to Excel for period-end HR reporting. The allocation report shows how much leave has been granted vs. used — essential for financial accrual calculations.
Payroll Processing
Odoo Payroll generates accurate payslips from the employee master data, contracts, attendance records, and time-off balances maintained throughout the module.
Payroll batches: Navigate to Payroll > Payslips > Payslip Batches to create a payroll run. Select the period (month, fortnight, week) and the salary structures to include. Add all employees in scope and click "Generate Payslips." Odoo creates a draft payslip for each employee, calculating gross pay, all applicable allowances, and all deductions based on the salary rules in their contract's salary structure.
Payslip calculation: Each payslip shows the calculation breakdown: gross salary, each allowance, each deduction, and net pay. If any calculation seems incorrect, click the detail view to see exactly which rule produced each figure. Odoo traces every number back to its salary rule formula, making error investigation straightforward.
Batch review and approval: HR managers review the batch before posting. A validation dashboard shows total payroll cost, average salary, and flags any employees with unusual payslips (significant deviation from previous period). After review, confirm the batch to post all payslips and generate accounting journal entries automatically.
Bank transfer file: After confirming a payroll batch, generate the bank transfer file in your bank's required format (SEPA, NACHA, or local payment file format). This file is uploaded directly to your banking portal for bulk payment processing, eliminating manual payment entry for each employee.
Payroll reporting: Navigate to Payroll > Reporting to access standard reports: payroll cost by department, average salary, payslip detail by employee, and statutory contribution summaries for tax authority filing.
Performance Appraisals
Structured performance management drives employee development and informs compensation decisions. Odoo's appraisal module provides a configurable framework for regular performance reviews.
Appraisal plans: Configure appraisal plans under Appraisals > Configuration > Appraisal Plans. Define the frequency (annual, semi-annual, quarterly), who completes the review (self, manager, peers, subordinates), and the deadline for completion. Odoo automatically creates appraisal records on schedule and sends reminders to all participants.
Evaluation forms: Create assessment templates with custom questions organized into categories (performance objectives, competencies, development areas). Questions can be scored on numeric scales, rating scales, or free-text responses. Different templates can be applied to different job positions or levels.
Goal tracking: Link performance goals to appraisals. Employees and managers set SMART goals at the start of the appraisal period, and progress is tracked throughout the year. Goals can link to Odoo project tasks, providing objective, system-generated progress data rather than purely subjective self-assessment.
Appraisal completion: The system guides both manager and employee through the appraisal form, collecting responses independently before a joint review meeting. After the meeting, the manager finalizes the appraisal with an overall rating and development notes. Completed appraisals are stored in the employee record for longitudinal performance tracking.
Expense Management
Employee expenses are a common source of financial leakage and administrative friction. Odoo Expenses streamlines capture, approval, and reimbursement.
Expense submission: Employees submit expenses via the mobile app by photographing receipts. OCR automatically extracts the amount, date, and vendor. Expenses are categorized (travel, meals, equipment, etc.) and assigned to an analytic account for cost center tracking. Supporting documentation is attached digitally — no paper receipts required.
Approval workflow: Submitted expense reports route to the employee's manager for approval, then to an accounting reviewer before reimbursement. Managers can approve individual expenses or entire expense reports. Rejected expenses include a comment explaining the rejection, and the employee is notified automatically.
Payroll integration: Approved expense reimbursements can be paid via the next payroll run (added to the employee's payslip) or as a separate payment directly from accounts payable. The accounting entries post automatically, including the appropriate expense account and any applicable VAT reclaim.
Frequently Asked Questions
Can Odoo handle payroll for employees in multiple countries with different payroll rules?
Yes. Odoo's multi-company architecture allows separate payroll processing for employees in different countries, each with country-specific salary structures, tax rules, and statutory contributions. Employees can be in different companies but managed centrally from a parent organization's Odoo instance. Country-specific payroll localization packages are available for 40+ countries through certified Odoo partners and the Odoo App Store.
How does Odoo handle GDPR compliance for employee personal data?
Odoo includes data retention policies and access control features relevant to GDPR compliance. HR managers can configure which employee data fields are visible to which users. The "Data Erasure" feature allows personal data to be anonymized for former employees after the statutory retention period. Access to employee records is logged, and employees can view their own data through the self-service portal. ECOSIRE recommends a GDPR audit as part of any HR implementation.
Can employees access their own HR data without going through HR staff?
Yes. The Odoo Employee Self-Service portal gives employees access to their personal profile, payslips, time-off balances and requests, expense submissions, and appraisal history. Employees can update certain personal fields (emergency contacts, bank account for payroll) without HR involvement. This reduces HR administrative burden while improving the employee experience.
How does Odoo handle employee benefits administration?
Benefits are managed through the salary structure system. Fixed benefits (health insurance, company car allowance, meal vouchers) are implemented as salary rules on the contract. Variable benefits can be configured with employee choice (cafeteria-style benefits) using the Odoo Benefit module. Benefit costs are tracked per employee and integrated with payroll accounting.
What is the process for managing employee terminations in Odoo?
When an employee leaves, HR sets an "Archive" date on the employee record, which terminates their access on that date. The contract is marked as ended, any remaining leave balance is calculated for payout or forfeiture per company policy, and a final payslip is generated including any accrued but unpaid leave, notice pay, or severance. The employee record is retained for statutory periods before archiving.
Can Odoo track employee skills and training history?
Yes. The Skills module (part of the HR module) allows you to define skill categories and individual skills. Employees can have skills added to their profile with proficiency levels (beginner, intermediate, advanced, expert). Training sessions completed through the Odoo eLearning or Training modules automatically update employee skill profiles. This data is valuable for internal mobility planning and identifying skill gaps for recruitment.
How does Odoo handle probationary period tracking?
Employment contracts have start dates and can have a trial end date. Odoo flags contracts where the trial period is ending soon, generating automatic notifications to HR managers. The trial period outcome (confirm employment or terminate) triggers different next steps — contract confirmation or offboarding process initiation. Appraisal plans can include a probationary period review as a specific appraisal type.
Next Steps
Odoo HR and Payroll eliminates the spreadsheets, manual reconciliation, and compliance risks that come with fragmented HR systems. When properly implemented, HR teams typically spend 40-60% less time on administrative tasks and payroll processing, freeing them for higher-value activities like talent development and employee engagement.
ECOSIRE implements Odoo HR and Payroll for businesses across all industries, with particular experience in manufacturing, professional services, and retail. Our implementation includes HR process mapping, country-specific payroll configuration, data migration from your current HRIS and payroll system, and staff training for both HR managers and employees using the self-service portal.
Visit our Odoo services page to learn about HR and payroll implementation packages, or explore our marketplace modules for HR extensions including advanced workforce analytics, employee engagement surveys, and custom payroll localization modules for Odoo 19 Enterprise.
Written by
ECOSIRE Research and Development Team
Building enterprise-grade digital products at ECOSIRE. Sharing insights on Odoo integrations, e-commerce automation, and AI-powered business solutions.
Related Articles
Multi-Currency Accounting: Setup and Best Practices
Complete guide to multi-currency accounting setup, forex revaluation, translation vs transaction gains, and best practices for international businesses.
Odoo Accounting vs QuickBooks: Detailed Comparison 2026
In-depth 2026 comparison of Odoo Accounting vs QuickBooks covering features, pricing, integrations, scalability, and which platform fits your business needs.
Payroll Processing: Setup, Compliance, and Automation
Complete payroll processing guide covering employee classification, federal and state withholding, payroll taxes, garnishments, automation platforms, and year-end W-2 compliance.
More from HR & Workforce Management
Payroll Processing: Setup, Compliance, and Automation
Complete payroll processing guide covering employee classification, federal and state withholding, payroll taxes, garnishments, automation platforms, and year-end W-2 compliance.
Education ERP Implementation: SIS, LMS, and Finance Integration
A complete guide to implementing ERP in higher education institutions, covering SIS migration, LMS integration, finance setup, and phased rollout strategies.
Automating Recruitment and HR Workflows with OpenClaw
Transform your hiring and HR operations with OpenClaw AI agents. Automate resume screening, interview scheduling, onboarding, and HR compliance workflows.
AI for HR and Recruitment Screening: Faster Hiring Without Bias
Deploy AI in HR for resume screening, candidate matching, interview scheduling, and employee analytics while maintaining fairness and compliance.
Employee Data Privacy Management: Balancing HR Needs with Privacy Rights
Manage employee data privacy with GDPR requirements, HR data processing grounds, monitoring policies, cross-border transfers, and retention best practices.
Odoo HR Payroll Setup by Country: Complete Configuration Guide
Step-by-step guide to configuring Odoo HR Payroll for different countries including tax rules, social security, deductions, and statutory reporting.