OCA/hr
OCA community repository with 108 Odoo modules confirmed in the OdooWiki catalogue (versions 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0). Reviewed on 2026-11-03.
Open on GitHubConfirmed modules per version
Modules in the repository
- HR Gamification Email NotificationOdoo 13, 14gamification_badge_report
Adds a Badge Report that shows how many gamification badges each employee has received, displayed as a graph or pivot table.
- HR AccidentOdoo 17hr_accident
Register and track employee accidents in Odoo's Employees app, with a reference, employee, date, description and attached documents.
- AnnouncementOdoo 15, 17hr_announcement
Extends announcements so they can be targeted to specific employees, departments, or job positions, not just users or user groups. The right people automatically see the announcement as unread.
- Appraisal OcaOdoo 16, 18hr_appraisal_oca
Manage employee performance appraisals in Odoo: create appraisal records, collect employee self-assessments and manager feedback, and control when each side can see the other's comments.
- HR Attendance Auto CloseOdoo 12hr_attendance_autoclose
Automatically closes attendance records that were left open too long, so forgotten check-outs no longer corrupt the following days' attendance data.
- Hr Attendance GeolocationOdoo 12hr_attendance_geolocation
Records the GPS coordinates of employees when they check in or check out, and shows them on attendance records for managers.
- hr_attendance_modification_tracking
Marks attendance records whose check-in or check-out time was changed by hand, so you can spot possible cheating. The flag appears in the attendance form, list and search filters.
- HR Attendance ReasonOdoo 12hr_attendance_reason
Lets you define reasons for check-in and check-out, attach them to attendance records, and optionally ask employees to pick a reason when they sign in or out from the attendance screen or kiosk.
- hr_attendance_report_theoretical_time
Adds a 'Theoretical vs Attended Time Analysis' report that compares hours actually worked (from attendances) with the hours an employee was supposed to work, based on their working calendar, public holidays and leaves.
- HR Attendance RFIDOdoo 12hr_attendance_rfid
Lets you store an RFID card code on each employee and record check-in/check-out by scanning that card, without opening the attendance screen.
- HR Attendance SheetOdoo 12hr_attendance_sheet
Groups employee check-in/check-out records into attendance sheets that can be submitted, reviewed, approved and locked. Adds automatic lunch deduction and overtime calculation based on company settings.
- HR BranchOdoo 13, 14, 15hr_branch
Lets you tag each HR department with a company branch (a partner record), and filters the department choices on an employee form so only departments of the employee's own branch can be picked.
- HR Calendar Rest TimeOdoo 12, 13hr_calendar_rest_time
Adds a Rest Time field to working schedule lines so unpaid breaks are deducted from worked hours. Odoo then reports the real working time in HR reports.
- Hr Collective AgreementOdoo 18hr_collective_agreement
Create and manage collective wage agreements in Odoo, with codes, scopes, publication dates, official publications and a draft/active/finished/cancelled lifecycle. HR managers can activate, finish, cancel and bulk-update agreement states.
- hr_collective_agreement_partner
Link collective agreements to contacts (partners) directly from the contact form, see how many agreements a partner has, and assign or remove agreements through a small pop-up wizard.
- HR Contract BonusOdoo 17hr_contract_bonus
Lets HR users attach fixed or percentage bonuses to employee contracts and see the total annual wage with and without those bonuses directly on the contract form.
- HR Contract CurrencyOdoo 12, 13, 14hr_contract_currency
Lets you set a specific currency on each employee contract, instead of always using the company currency. The currency field appears next to the wage on the contract form for users allowed to work with multiple currencies.
- HR Contract DocumentOdoo 12, 13, 14, 16, 18hr_contract_document
Adds a Documents button on the employee contract form showing how many files are attached, and lets you open the list of those attachments directly from the contract.
- Hr Contract Employee Calendar PlanningOdoo 14, 15, 16, 18hr_contract_employee_calendar_planning
Keeps an employee's working schedule consistent between their contract and their employee calendar plan. The contract's working hours field is hidden and automatically follows the employee's calendar.
- HR Contract Multi JobsOdoo 12, 13, 14, 15, 16hr_contract_multi_job
Lets you list several job positions on a single employee contract and mark exactly one of them as the main job. The contract's Job Title is then filled automatically from that main job.
- HR Contract RateOdoo 12, 13, 14hr_contract_rate
Lets you enter an employee's contract pay as an amount per hour, day, week, month, quarter or year, and Odoo converts it into the monthly wage used by payroll.
- HR Contract ReferenceOdoo 12, 13, 14, 15, 16, 18hr_contract_reference
Automatically gives every employee contract a unique reference number, such as EC/2025/00001, when the contract is created.
- Hr Contract RenewOdoo 18hr_contract_renew
Adds a 'Renew Contract' button on employee contracts that opens a small wizard to create a new contract copied from the current one, starting the day after the old contract ends.
- Hr Contract TypeOdoo 13, 14, 15hr_contract_type
This module lets you define contract types and assign one to each employee contract, then filter or group contracts by type. It restores a feature that existed in older Odoo versions.
- HR CourseOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_course
Manage employee training courses, their scheduled sessions and attendance results in Odoo. HR managers create courses and sessions, assign attendees, track the session through its states and record who passed, failed or was absent.
- Hr Course SurveyOdoo 13, 14, 16hr_course_survey
Attach a scored survey to a training course and automatically send it to attendees when the course moves to validation. Results are recorded on each attendee as passed or failed, and managers can resend the survey to those who failed.
- HR department codeOdoo 14, 15, 16, 17, 18, 19hr_department_code
Adds a short code field to HR departments and shows it in the department name, list, kanban and search, so departments can be identified by a code as well as a name.
- HR Department DeputyOdoo 18hr_department_deputy
Lets you record one or more deputy managers on each department, next to the department manager. The deputy managers appear on the department form and in the department list.
- HR Emergency ContactOdoo 15hr_emergency_contact
Adds an Emergency Contacts tab to the employee form so you can list the people to contact in case of an emergency for each employee.
- Employee AgeOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_employee_age
Adds a read-only Age field to employee records, calculated automatically from the employee's birthday. It is visible on the employee form for HR users.
- Employee bank restrictOdoo 18hr_employee_bank_restrict
Hides the bank accounts of contacts that are linked to an employee, so only users with full accounting access can see them. Bank accounts of ordinary contacts remain visible to everyone.
- Employee Birth NameOdoo 12, 14, 15, 16hr_employee_birth_name
Adds a "Birth Name" field to employee records in Odoo, visible to HR users on the employee form next to the marital status field.
- HR Employee Birthday MailOdoo 14, 15, 16, 18hr_employee_birthday_mail
Automatically sends birthday emails to employees on their birthday and notifies coworkers who opted in, based on a daily scheduled check.
- Employee Calendar PlanningOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_employee_calendar_planning
Lets you assign different working time calendars to an employee for specific date ranges, so their schedule can change over time. Odoo automatically builds a single combined working time behind the scenes.
- Employee Digitized SignatureOdoo 14, 15, 16hr_employee_digitized_signature
Adds a signature field to employee records so you can capture and store an employee's handwritten signature directly in Odoo.
- Employee own infoOdoo 12hr_employee_display_own_info
Lets a regular employee open their own employee record and see the Personal Information and HR Settings tabs, which are normally hidden from non-HR users.
- HR Employee DocumentOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_employee_document
Adds a Documents button on the employee form showing how many files are attached to that employee, and lets HR users and the employee open the list of those files.
- HR Employee Document from ApplicantOdoo 16, 17hr_employee_document_from_applicant
When you hire a candidate from a job application, all files attached to that candidate are automatically copied to the new employee record, so the employee's document list is complete from day one.
- hr_employee_emergency_contact
Adds an Emergency Contacts tab to the employee form so you can list the people to call in case of an emergency. Each contact is a person (not a company) with name, job title, phone, mobile and email.
- HR Employee First Name, Last NameOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_employee_firstname
Adds separate First Name and Last Name fields to employee records and automatically builds the full name from them, with a configurable order (Lastname Firstname, Lastname, Firstname, or Firstname Lastname).
- hr_employee_firstname_partner_firstname
This glue module makes the first name and last name fields work consistently between contacts and HR employees. When an employee record is created or updated from a user, the first and last names set on the user are copied onto the employee.
- hr_employee_group_overview_readonly
Adds a read-only HR overview access level so selected employees can see employee, contract, leave, attendance, fleet, skills and gamification information without being able to change it.
- HR Employee HealthOdoo 12hr_employee_health
Adds a Health tab to the employee form where HR users can record blood type, free-text health notes and a list of health conditions with type and severity.
- Employee IDOdoo 12, 14, 15, 16, 17, 18hr_employee_id
Automatically gives every employee a unique company-wide identification number, either random or from a sequence, and blocks duplicates.
- Employee identificationOdoo 13hr_employee_identification
Adds an identification type and an expiry date next to the existing ID number on employee records, so HR can track which kind of document each employee holds and when it expires.
- HR Employee LanguageOdoo 12, 13, 16, 17, 18, 19hr_employee_language
Record the languages each employee speaks and how well they read, write, speak and listen. A new Languages tab appears on the employee form and a Languages menu lists all language records.
- HR Employee First Name and Two Last NamesOdoo 12, 13, 14, 15, 16hr_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, 19hr_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, 19hr_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, 18hr_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.
- Employee Phone PINOdoo 16hr_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.
- Personal Protective Equipment (PPE) ManagementOdoo 12, 13, 14, 16, 17, 18hr_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, 19hr_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 First Name and Two Last NamesOdoo 17, 18, 19hr_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, 18hr_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, 18hr_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.
- Employee Social MediaOdoo 12hr_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, 18hr_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.
- 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.