OdooWiki OCA HUB

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

12.0
69 modules
13.0
63 modules
14.0
92 modules
15.0
77 modules
16.0
77 modules
17.0
54 modules
18.0
67 modules
19.0
20 modules
20.0
0 modules

OCA repositories in this area

Other areas

Modules in this area

  • hr_employee_lastnames

    Adds separate First Name, Last Name and Second Last Name fields to employee records, automatically combining them into the full name and keeping contact details in sync.

  • Employee Medical ExaminationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    hr_employee_medical_examination

    Track employee medical examinations in Odoo: record each exam with its date, result and status, and generate exams in bulk for a department or job. Employees see only their own exams; HR managers see and manage all of them.

  • Employee external PartnerOdoo 12, 13, 14, 15, 16, 17, 18, 19
    hr_employee_partner_external

    Adds two fields to the employee form: a checkbox marking an employee as external and a link to the partner company that manages them. The partner field only appears and is required when the employee is marked external.

  • Employee Phone ExtensionOdoo 12, 13, 14, 15, 16, 18
    hr_employee_phone_extension

    Adds two extra phone fields to employee records: an internal number and a short number, shown in a new 'Internal Contact' section on the employee form.

  • hr_employee_phone_pin

    Store the PIN and PUK codes of an employee's corporate mobile phone directly on the employee record, with access controlled by two new user groups.

  • hr_employee_ppe

    Manage Personal Protective Equipment (PPE) given to employees: mark products as PPE, set expiry rules, print a signed receipt, and let Odoo automatically flag expired equipment.

  • HR Employee RelativesOdoo 12, 13, 14, 15, 16, 17, 18, 19
    hr_employee_relative

    Store an employee's family members directly on the employee record, with relation type, contact details, birth date and automatically calculated age.

  • hr_employee_second_lastname

    Adds a 'Second last name' field to employee records, so you can store first name, father's last name and mother's last name separately. The full name is built automatically from these three parts.

  • HR Employee ServiceOdoo 12, 13, 14, 15, 16, 18
    hr_employee_service

    Adds Hire Date, Start Date and Termination Date fields to employee records and automatically calculates how long each employee has been with the company, shown in years, months and days.

  • HR Employee Service from ContractsOdoo 12, 13, 14, 15, 16, 18
    hr_employee_service_contract

    Automatically fills in each employee's first and last contract, plus their service start and termination dates, based on the employee's contracts.

  • hr_employee_social_media

    Lets you record the social media accounts (Skype, Twitter, Whatsapp, etc.) of each employee directly on the employee form, and lets HR managers maintain the list of social media platforms in the configuration settings.

  • HR Employee SINOdoo 12, 13, 14, 15, 16, 17, 18
    hr_employee_ssn

    Adds the employee Social Insurance Number (SIN) field to the employee form, so HR users can view and edit it directly in Odoo.

  • Employee Advance and ClearingOdoo 12, 13, 14, 15, 16, 17, 18
    hr_expense_advance_clearing

    Lets companies pay employees an advance before they spend, then clear that advance against real expense reports. Employees can request advances, submit clearing reports, and either receive extra reimbursement or return unused money.

  • hr_expense_advance_clearing_consolidation

    Lets accountants merge several open employee advances into one new consolidated advance equal to the sum of their remaining balances, and marks the originals as consolidated.

  • HR Expense Advance Clearing SequenceOdoo 12, 13, 14, 15, 16, 17, 18
    hr_expense_advance_clearing_sequence

    Automatically gives employee advance expense reports their own reference number, starting with AV, instead of the standard expense report numbering.

  • hr_expense_advance_overdue_reminder

    Track overdue employee expense advances and send reminders by email or printed letter, with a counter of how many reminders were already sent.

  • hr_expense_analytic_distribution

    Lets employees split an expense report across several analytic accounts by setting a percentage for each. When the report is posted, each expense line is divided into separate accounting entries per analytic account.

  • hr_expense_analytic_require

    Makes the analytic account mandatory on employee expenses and lets you set a default analytic account for expenses at company level, so every expense is always linked to an analytic account.

  • Hr expense cancelOdoo 12, 13, 14, 15, 16, 17, 18
    hr_expense_cancel

    Adds a "Cancel all related operations" button on expense sheets so accountants can undo a posted or paid expense, removing its journal entries, payments and reconciliations and returning the sheet to Submitted.

  • hr_expense_cancel_confirm

    Adds a confirmation step when cancelling an expense sheet, asking for an optional reason before the cancellation is applied.

  • hr_expense_due_date

    Lets you set a specific due date or payment terms on an expense sheet, so the accounting entry created from the expenses uses that date instead of the default.

  • hr_expense_employee_analytic_default

    Lets expense analytic distributions be chosen based on the employee's own contact/address, so employee-specific analytic distribution models apply automatically to their expenses.

  • Expense ExceptionOdoo 14, 15, 18
    hr_expense_exception

    Adds customizable exception rules to expense reports and expenses, so you can block or flag reports that break your own rules and review them before submitting.

  • hr_expense_excluded_tax

    This module lets you record expenses with excluded (purchase) taxes and automatically calculates the untaxed amount when the expense product has a cost.

  • Supplier invoices on HR expensesOdoo 12, 13, 14, 15, 16, 17, 18
    hr_expense_invoice

    Link supplier invoices to employee expense lines so the company can reimburse the employee and settle the vendor debt. Create a vendor bill directly from an expense report or attach an existing posted bill to an expense.

  • Select Expense JournalOdoo 12, 14, 15, 16, 17
    hr_expense_journal

    Lets you pick the payment method (credit card or bank journal) used to pay an expense, so the expense report and its accounting entry use the correct journal.

  • hr_expense_pay_to_vendor

    Lets employees request that the company pays a vendor directly through an expense, instead of reimbursing the employee. When the expense is paid by company, you can pick the vendor who should receive the money.

  • HR Expense PaymentOdoo 14, 15, 16, 17, 18
    hr_expense_payment

    Links expense sheets to their payments, so you can see which payments paid which expense reports directly in Odoo.

  • hr_expense_payment_difference

    When you register a payment for an expense report, this module lets you enter an amount that differs from the total and decide how to handle the difference: keep the report open or mark it fully paid with a write-off account.

  • hr_expense_payment_widget_amount

    Shows a payment widget on expense reports so users can see the payments already linked to a report and remove a wrong outstanding payment directly from the form.

  • Petty CashOdoo 12, 13, 14, 15, 18
    hr_expense_petty_cash

    Lets you track petty cash held by employees: register cash holders with a limit and balance, refill them through vendor bills, and pay expense reports from petty cash with automatic balance checks.

  • hr_expense_petty_cash_sequence

    Automatically gives expense reports paid by petty cash their own reference number, starting with EXPC, instead of the standard sequence.

  • HR Expense PortalOdoo 12, 13, 15
    hr_expense_portal

    Adds a "My Expense" section to the customer portal so portal users can see the expenses linked to their sale orders, with a list, sorting, paging and a detail page including attachments and messages.

  • hr_expense_receipt_require

    Mark expense products as requiring a receipt, so employees cannot submit an expense (or an expense report) without attaching one. A special permission lets selected users bypass this rule.

  • HR expense sequenceOdoo 12, 13, 14, 15, 16, 17, 18
    hr_expense_sequence

    Adds an automatic reference number to expense reports, generated from a configurable sequence (e.g. EX0001), shown on the report form, list, search and printed report.

  • Expense Sequence OptionOdoo 14, 15, 16, 17, 18
    hr_expense_sequence_option

    Lets you choose between several numbering sequences for expense reports (hr.expense.sheet), so different expense reports can get different reference numbers based on rules you define.

  • hr_expense_sheet_payment_state

    Shows the payment status of each expense report (not paid, partially paid, in payment, paid or reversed) directly on the expense report list and form, so you can see at a glance whether employees have been reimbursed.

  • hr_expense_substate

    Adds a secondary status (sub state) to expense reports, so you can track extra steps like "To Verify" or "Checked" inside the normal expense report workflow.

  • hr_expense_tax_adjust

    Lets users correct the tax amount on an expense so the accounting entries match the real tax, useful when rounding differences appear. A new editable tax field appears on the expense form.

  • hr_expense_type

    Lets you create your own list of expense types and tag each expense with one, so you can classify and group expenses by their nature.

  • hr_expense_vendor_receipt

    When an expense sheet uses a receipt journal, this module creates a vendor receipt instead of a vendor bill, and lets you reverse those receipts back to draft.

  • hr_expense_widget_o2m

    Lets users add expense lines directly inside an expense report instead of choosing them from a pop-up selection window. It is turned on or off with a setting in the Expenses configuration.

  • hr_expense_work_acceptance

    Lets you create Work Acceptances directly from an expense report, track how much of each expense line has been accepted, and optionally block posting the expense journal entries until the Work Acceptance is fully accepted.

  • hr_experience

    Lets you record an employee's academic background, professional experience and certifications, either from the employee form or from a dedicated Experiences menu in Human Resources.

  • hr_holidays_accrual_advanced

    Extends Odoo leave allocations with advanced accrual rules: choose how leave days build up over time, cap accruals, carry-over and total balance, see a full accruement history and simulate the balance at a future date.

  • hr_holidays_auto_extend

    Automatically extends validated leaves when their end date is reached, based on a leave type configuration. If another leave overlaps, the extension is stopped and an activity is scheduled for the manager.

  • hr_holidays_calendar_event_privacy

    Lets you choose the privacy level (Public, Private, or Only internal users) for calendar events created from each Time Off type, so leave events are not always visible to everyone.

  • hr_holidays_calendar_name

    Lets HR officers define a custom name template for calendar events created from employee leave requests, using placeholders like employee name, duration, and leave type.

  • hr_holidays_calendar_planning

    Makes time-off requests respect each employee's planned working calendar and flexible hours, so leave durations are calculated correctly when schedules change over time.

  • Leave CreditOdoo 12, 13, 14
    hr_holidays_credit

    Lets HR officers mark certain leave types as allowing credit, so selected employees can request leave even when their allocated balance is insufficient, and shows credit usage in the leave type name.

  • hr_holidays_hour

    Shows leave allocations, requests and balances in hours instead of days. The employee form and the leave summary report display durations in hours, matching leave types configured in hours.

  • Auto Approve LeavesOdoo 12, 13, 14, 16
    hr_holidays_leave_auto_approve

    Adds an option on each leave type to automatically validate leave requests, either by HR only or by everyone, so employees no longer wait for manual approval.

  • HR Holidays leave repeatedOdoo 12, 13, 14, 18
    hr_holidays_leave_repeated

    Lets you create a leave request that automatically repeats on a schedule (every workday, week, two weeks or four weeks) either a set number of times or until an end date.

  • hr_holidays_leave_report_calendar_type

    Adds a leave type filter to the Time Off Overview calendar, so users can show only certain types of leave (for example holidays, sick leave) in the calendar and in the search bar.

  • hr_holidays_leave_request_wizard

    Adds a guided wizard to create leave requests day by day or hour by hour, showing how much time is available and how much is being requested before submitting.

  • hr_holidays_leave_self_approve

    Lets employees approve or refuse their own time off requests when they are set as their own time off approver, instead of being blocked by Odoo's normal rule.

  • hr_holidays_length_validation

    Adds a 'Validate Length' action on leave requests that checks whether the stored number of days still matches the employee's working calendar, and blocks validation when it is outdated.

  • Holidays natural periodOdoo 13, 14, 15, 16, 17, 18, 19
    hr_holidays_natural_period

    Adds two new leave request units, Natural day and Natural day (Half Day), to time-off types and allocations, so employees can request leave counted in calendar days instead of working days.

  • hr_holidays_natural_period_public

    Lets you choose whether public holidays are counted or skipped when a leave type is requested in natural (calendar) days. It connects the public holidays and natural period leave features in Odoo.

  • hr_holidays_notify_employee_manager

    Adds a company setting so that, when an employee creates a leave request, their manager is automatically added as a follower and notified by email.

Data imported from GitHub: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.