OCA modules for Odoo 18
There are 3,113 OCA community modules confirmed in Odoo 18.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 17 has 1,994. Open any module to see what it does, its availability in the other versions and its sources.
Confirmed modules per version
Repositories with the most modules in Odoo 18
See also
Modules for Odoo 18
- 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.
- 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.
- 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 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 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 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 commissions OCAOdoo 18, 19hr_commission_oca
Adds a new commission agent type called "Salesman (employee)" that links a partner to an HR employee, and lets you mark their settlements as invoiced without creating an invoice.
- 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 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.
- 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 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.
- Add dms field for employeesOdoo 15, 16, 18hr_dms_field
Adds a Documents tab to employee forms so HR can store and manage files (DMS) directly on each employee record, and lets employees see their own documents from the Employee Directory.
- 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.
- 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.
- HR Employee Cost HistoryOdoo 15, 16, 18hr_employee_cost_history
Lets HR users change an employee's hourly timesheet cost from a chosen date onwards, keeps a history of every cost change, and recalculates existing timesheets from that date.
- 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 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- Employee Advance and ClearingOdoo 12, 13, 14, 15, 16, 17, 18hr_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 SequenceOdoo 12, 13, 14, 15, 16, 17, 18hr_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 Analytic TagOdoo 16, 18, 19hr_expense_analytic_tag
Adds an "Analytic Tags" field to expense forms so users can tag expenses with analytic tags, which are then carried over to the accounting entries and payments generated from those expenses.
- Hr expense cancelOdoo 12, 13, 14, 15, 16, 17, 18hr_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.
- Expense ExceptionOdoo 14, 15, 18hr_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.
- Supplier invoices on HR expensesOdoo 12, 13, 14, 15, 16, 17, 18hr_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.
- HR Expense Meal AllowanceOdoo 18hr_expense_meal_allowance
Adds German meal allowance (Verpflegungsmehraufwand) handling to expenses: pick a meal allowance product, enter travel dates and customer, and Odoo computes the daily allowance per day and prints a detailed report.
- HR Expense PaymentOdoo 14, 15, 16, 17, 18hr_expense_payment
Links expense sheets to their payments, so you can see which payments paid which expense reports directly in Odoo.
- Petty CashOdoo 12, 13, 14, 15, 18hr_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 sequenceOdoo 12, 13, 14, 15, 16, 17, 18hr_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, 18hr_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.
- Expense Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19hr_expense_tier_validation
Adds a multi-level approval (tier validation) process to expense reports, so submitted expenses must be reviewed and validated by designated reviewers before they can be approved.
- Hr Expense - Vendor ReceiptOdoo 18hr_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_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.
- HR Holidays leave repeatedOdoo 12, 13, 14, 18hr_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 Overview - Report Calendar Type filterOdoo 17, 18, 19hr_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.
- Holidays natural periodOdoo 13, 14, 15, 16, 17, 18, 19hr_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 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 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.
- 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.