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 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 12, 13, 14, 15, 16, 17hr_attendance_autoclose
Automatically closes attendance records that were left open too long, so forgotten check-outs no longer corrupt the following days' attendance data.
- Add calendar view to attendance, hr_attendance_calendar_viewOdoo 15, 16, 17, 18hr_attendance_calendar_view
Adds a calendar view to employee attendances, so you can see check-in and check-out periods on a calendar and switch to it from the Attendances screen.
- hr_attendance_contract_missing_days
This hidden module makes the automatic creation of missing attendance records follow the employee's HR contract dates and working calendar, so attendances are only generated for periods covered by a contract.
- Attendance employee calendar planningOdoo 18, 19hr_attendance_employee_calendar_planning
Makes overtime and undertime calculations in Attendance respect each employee's planned working calendar and flexible hours, so extra or missing time is measured against the correct schedule.
- HR Attendance Full HistoryOdoo 18hr_attendance_full_history
Employees can see their complete attendance history instead of only the current month, and a new "This month" filter lets them narrow the list back down when needed.
- Hr Attendance GeolocationOdoo 12, 13, 14, 15, 16hr_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_geolocation_required
Adds a company setting that forces employees to share their GPS location before they can check in or out, both from the attendance app and the kiosk. If location is missing, Odoo refuses the check-in with an error message.
- HR Attendance hours reportOdoo 14hr_attendance_hour_type_report
Adds a Payroll Report on attendances that splits each employee's worked hours into day and night hours and labels each day as weekday, Sunday or public holiday, to help prepare external payroll.
- hr_attendance_missing_days
Automatically creates zero-length attendance records for working days where an employee has no attendance, using a configurable reason. This helps Odoo correctly reduce overtime for days that would otherwise be ignored.
- HR Attendance Modification Tracking.Odoo 12, 13, 14, 15, 16, 17, 18hr_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 OvertimeOdoo 14hr_attendance_overtime
Marks attendance lines as overtime and splits them when employees check in or out outside their planned working hours, so managers can review presence and compensatory hours.
- hr_attendance_overtime_manual
Attendance managers can add manual overtime entries for an employee from the employee form, and overtime records now show a note field and are visible even when the total is zero or negative.
- HR Attendance ReasonOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_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.
- Theoretical vs Attended Time AnalysisOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_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 rest time includedOdoo 15, 18hr_attendance_rest_time_included
Track employee breaks inside attendance records, with break hours counted separately from worked hours and shown on attendance screens and reports.
- HR Attendance RFIDOdoo 12, 13, 14, 15, 16, 17, 18hr_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 12, 14hr_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 Attendance User ListOdoo 13hr_attendance_user_list
Adds a read-only "My Attendances" menu where each employee can see their own check-in and check-out records, with a list view and a pivot analysis of worked hours.
- Hr Attendance ValidationOdoo 14hr_attendance_validation
Managers can review weekly employee attendance, decide which overtime counts, and validate the week. Validation locks those attendance records and can automatically create compensatory leave allocations or leave requests.
- Hr Birthday Welcome MessageOdoo 13, 14, 16hr_birthday_welcome_message
When an employee checks in on their birthday, the attendance welcome screen shows a birthday greeting instead of the usual random message.
- 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.
- Update Overtime from HR ContractOdoo 16, 17, 18hr_contract_update_overtime
Adds an "Update Overtime" action on HR contracts that recalculates overtime on the employee's attendance records for the contract period, so overtime stays correct after contract changes.
- 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.