OCA human resources modules for Odoo
Employees, contracts, attendance, time off, expenses, payroll and shifts. Modules that complete people management in Odoo Community. The catalogue has 167 modules in this area, 20 of them confirmed in Odoo 19.0 (reviewed on 2026-11-03).
Confirmed modules per version
OCA repositories in this area
Other areas
- Accounting and finance
- Sales
- CRM and marketing
- Purchases
- Inventory and logistics
- Manufacturing and maintenance
- Products and catalogue
- Projects and timesheets
- Field service and customer support
- Point of sale
- Website and e-commerce
- Country localisations
- Contracts and documents
- Integrations, EDI and connectors
- Industries and verticals
- Technical tools and administration
Modules in this area
- HR Holidays PublicOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_holidays_public
Manage public holidays inside the Time Off app: public holidays are shown as unusual days in the leave calendar and can be skipped when counting leave days, depending on each leave type.
- HR Holidays Public CityOdoo 14, 15, 16, 17, 18hr_holidays_public_city
Lets you restrict each public holiday to specific cities, so employees only get holidays that apply to their city (or holidays with no city set).
- hr_holidays_public_overtime
This module makes Odoo's overtime calculation ignore public holidays, so employees are not credited with overtime on days that are public holidays.
- HR Holidays SecurityOdoo 14hr_holidays_security
Lets Time Off responsibles manage and approve leave requests and allocations for their own team members, and gives them access to the Time Off Reporting menu.
- HR Holidays SettingsOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_holidays_settings
Adds a Settings page for the Leaves (Time Off) app, so HR managers can open a dedicated configuration screen from the Leaves menu. The page is a placeholder that other modules can extend with their own options.
- Holidays Summary EmailOdoo 14, 16hr_holidays_summary_email
Employees can receive a daily or weekly email listing the approved leaves of colleagues in their company. Each employee chooses whether to get no email, a daily one, or a weekly one.
- HR Holidays Team ManagerOdoo 16hr_holidays_team_manager
Adds a Time off/Team manager role that can only see and manage time off and allocation requests for employees in their own department, and blocks them from approving allocations.
- HR holidays validity dateOdoo 12, 13hr_holidays_validity_date
Lets you set a validity period on each leave type and either warn or block employees from requesting leave outside that period.
- HR Job Employee CategoriesOdoo 12, 13, 14, 15, 16, 17, 18hr_job_category
Lets HR managers tag job positions with employee categories, and automatically adds or removes those tags on employees when their contract's job changes.
- Custom Hour Interval for HolidaysOdoo 14, 15, 16, 17hr_leave_custom_hour_interval
Lets users enter the start and end time of a time off request as decimal hours (e.g. 8.50) instead of text, and automatically keeps the standard hour fields in sync.
- Hr Leave HourOdoo 13hr_leave_hour
Lets employees enter time off start and end times as decimal hours (for example 8.50) on the time off request form, instead of typing text hours.
- HR Leave Type CodeOdoo 16hr_leave_type_code
Adds a short code to each leave type and shows it before the leave type name, so leave types are easier to identify and report on.
- Hr Maintenance WorkspaceOdoo 14hr_maintenance_workspace
Create workspaces that group employees and maintenance equipment together, and assign equipment to a workspace instead of an employee or department.
- HR Org Chart OverviewOdoo 13, 14, 15, 16hr_org_chart_overview
Adds an interactive Organizational Chart overview under the HR Reports menu, showing employees, their managers and photos, with search, zoom, pan and PDF export.
- Payroll Attendance ReportOdoo 16hr_payroll_attendance_report
Adds a worked-hours section to the payslip PDF report, listing each attendance record (date, check-in, check-out, hours) and the total hours for the payslip period.
- Hr Payroll CancelOdoo 12hr_payroll_cancel
Lets you cancel a payslip from any state without creating a refund, deleting or reversing its accounting entry and setting the payslip to cancelled. It also blocks cancelling a payslip while its refunded payslip is still active.
- HR - Payroll DocumentOdoo 16, 17, 18hr_payroll_document
Upload a batch of payroll PDFs, split them per employee using their identification number, optionally encrypt each PDF with that number, and email each employee their own payslip.
- hr_payroll_document_pymupdf
Adds a PyMuPDF-based fallback so Odoo can still read the text of a PDF payslip when the normal reader fails, improving payslip import in the payroll management wizard.
- HR Payroll PeriodOdoo 14, 15, 16hr_payroll_period
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.
- hr_payslip_change_state
Lets you change the status of several payslips at once from the payslip list, with a check that blocks the whole operation if any selected payslip is not in a state that allows the requested change.
- HR Payroll PeriodOdoo 12, 14hr_period
This module is a small add-on that depends on the HR Payroll Period module. It does not add any new models, menus or screens of its own.
- Hr Personal Equipment RequestOdoo 12, 13, 14, 15, 16, 17, 18hr_personal_equipment_request
Lets HR staff and employees create personal equipment requests, allocate items such as laptops or phones to employees, and track each allocation through draft, accepted, valid and expired states.
- Hr Personal Equipment Request Tier ValidationOdoo 13, 14, 16, 17hr_personal_equipment_request_tier_validation
Adds approval tiers to personal equipment requests, so a request must be reviewed and approved by the configured reviewers before it can be accepted.
- Hr Personal Equipment StockOdoo 13, 14, 16, 18hr_personal_equipment_stock
Links employee equipment requests to warehouse operations: accepting a request creates a stock transfer, and completing that transfer automatically validates the equipment allocation for the employee.
- Hr Personal Equipment Variant ConfiguratorOdoo 13, 14, 16hr_personal_equipment_variant_configurator
Lets users pick product variants (attributes like size or colour) when creating a personal equipment request, instead of choosing a plain product. The equipment line becomes editable directly in the request form.
- HR Professional CategoryOdoo 16, 17, 18hr_professional_category
Lets you create professional categories and assign one to each employee contract, so you can classify and group contracts by category.
- Recruitment Application NotificationOdoo 13, 14hr_recruitment_notification
Adds a new notification option on job positions so users can be automatically notified when a new applicant applies to that specific job position.
- Recruitment responsible securityOdoo 12, 13hr_recruitment_security
Adds a new Recruitment security group so recruiters only see the job positions and applications they are personally responsible for, while managers keep full visibility.
- Employee Recruitment RecruitOdoo 16hr_recruitment_torecruit
Shows how many people still need to be hired for each job position and automatically publishes or unpublishes the job on the website depending on whether the recruitment target is met.
- Employees ShiftsOdoo 14, 15, 17, 18hr_shift
Lets HR plan weekly employee shifts: create a planning for a week, assign shift templates to employees, and see each day's shift, with automatic detection of leaves and holidays.
- Employees Shifts and public holidaysOdoo 14, 15, 17, 18hr_shift_holidays_public
Prevents assigning shifts to employees on public holidays by checking the employee's address when a shift planning line is created.
- Skills ManagementOdoo 12hr_skill
Record the skills of each employee with a proficiency level (Junior, Intermediate, Senior, Expert), maintain a hierarchical catalogue of skills, and analyse who has which skills in graph and pivot reports.
- Employees study fieldOdoo 13, 15, 17hr_study
Lets you keep a standardised list of studies and pick one on each employee's file instead of typing free text. HR managers maintain the list under Human Resources configuration.
- HR Work Entry ProfileOdoo 17hr_work_entry_profile
Adds a "Work Entries" smart button to the user profile screen, letting employees jump straight from their profile to their own HR work entries.
- HR Worked Days From TimesheetOdoo 12, 14, 15hr_worked_days_from_timesheet
Adds an 'Import from Timesheets' button on draft payslips that fills the worked days lines from the employee's approved timesheets for the payslip period.
- Passport ExpirationOdoo 14, 15passport_expiration
Adds a passport expiration date field to the employee form in Odoo, so HR users can record when an employee's passport expires.
- PayrollOdoo 13, 14, 15, 16, 17, 18, 19payroll
Manage employee payroll in Odoo: define salary structures and rules, generate payslips individually or in batches, compute worked days and leaves, and print payslip and contribution reports.
- Payroll AccountingOdoo 13, 14, 15, 16, 17, 18payroll_account
Links payroll to accounting: when a payslip is confirmed, Odoo automatically creates and posts the corresponding journal entry, using the salary journal and accounts defined on contracts and salary rules.
- Payroll Contract AdvantagesOdoo 14, 16, 17, 18payroll_contract_advantages
Lets payroll users define reusable advantage templates (with code, default value and allowed minimum/maximum) and attach a list of advantages with amounts to each employee contract, so salary rules can use them in payslip calculations.
- Payroll Public HolidaysOdoo 14, 17, 18payroll_hr_public_holidays
Adds public holidays as a worked-days line on payslips, so salary rules can use public holiday days and hours in payroll computation.
- Payroll Rule Time ParameterOdoo 14, 18payroll_rule_time_parameter
Adds a 'Time Parameters' menu under Payroll configuration where payroll managers can define rule parameters for payslips, and lets salary rules read those parameters directly from a payslip.
- resource_calendar_flexible_exclude_weekend
Adds an "Exclude Weekends" option to flexible working schedules, so weekends are not counted as working time when Odoo computes attendance and unusual days.
- Resource HookOdoo 12, 13, 14resource_hook
Adds extension points (hooks) to the standard working-time calculation methods of resource calendars and resources, so other modules can change how worked hours are computed without rewriting Odoo's core code.
- Resource Leaves GeographicOdoo 16, 18resource_leaves_geographic
Lets you tag public holidays and calendar leaves with one or more geographic states, so each employee only sees the local holidays that apply to their address's state.
- Multi-week calendarsOdoo 16resource_multi_week_calendar
Lets you set up a working time calendar that rotates between more than two weekly schedules, instead of only alternating between two. You define a main working time with several alternating weeks and Odoo automatically picks the right week for each date.
- sale_expense_cost_reinvoice
When an expense product is set to be re-invoiced at cost, this module puts the full expense amount as the cost on the related sales order line, so margin calculations reflect the real expense cost.
- sale_expense_manual_reinvoice
Lets you choose, per expense product, whether expenses are re-invoiced automatically or only after a manager reviews them. A new "Expenses to Reinvoice" menu lists pending expenses so a manager can reinvoice or discard them.