Migrating from Odoo 16 to Odoo 17: which OCA modules are available
Of the 3,166 OCA modules confirmed in Odoo 16.0, 1,542 (49 %) are also confirmed in Odoo 17.0. The other 1,624 do not have a confirmed 17.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 452 modules are in Odoo 17.0 without being in 16.0.
- 3,166
- in Odoo 16
- 1,542
- also in Odoo 17
- 1,624
- pending in Odoo 17
- 49 %
- already migrated
See also
Odoo 16 modules not yet confirmed in Odoo 17
- Hr Department AnalyticOdoo 16hr_department_analytic
Adds an Analytic Account field to HR departments, so each department can be linked to an analytic account for cost and revenue tracking.
- 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 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.
- 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.
- 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.
- 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 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 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.
- 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 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 - Pay To VendorOdoo 14, 15, 16hr_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.
- Expense Work AcceptanceOdoo 14, 16hr_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 Holidays Auto ExtendOdoo 14, 16hr_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.
- Auto Approve LeavesOdoo 12, 13, 14, 16hr_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_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.
- 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 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 SecurityOdoo 16, 18hr_maintenance_security
Removes the automatic maintenance equipment manager rights that HR users used to get, so HR staff no longer manage equipment by default. The right can still be granted manually.
- 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_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 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 PhoneOdoo 12, 14, 16hr_phone
Automatically formats employee phone numbers (mobile and emergency) to international format when typed in the Employee form, and lets users with the Caller ID group read employee records for incoming call lookup.
- HR Recruitment PhoneOdoo 12, 14, 16hr_recruitment_phone
Validates and formats phone numbers on job applicants in the Recruitment app, and lets incoming-call users see applicant names when a caller is identified.
- 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.
- Timesheet Description CustomerOdoo 16, 18hr_timesheet_name_customer
Adds a 'Customer Description' field to timesheets that is filled automatically from the normal description, and uses it in the customer portal and in a new 'Timesheet Customer' PDF report.
- HR Timesheet Predefined DescriptionOdoo 14, 16hr_timesheet_predefined_description
Lets you save a list of standard timesheet descriptions and pick one when logging time, so the description is filled in automatically instead of being typed each time.
- hr_timesheet_predefined_description_rules
Adds optional free-text rules to predefined timesheet descriptions, so users can be allowed, required, or prevented from adding extra notes that may be appended to the description.
- Timesheet Report RoundedOdoo 16hr_timesheet_report_rounded
This bridge module makes the Timesheet Report use rounded hours instead of raw logged hours, so reported totals match the rounded timesheet values.
- HR Timesheet Sheet AttendanceOdoo 12, 14, 15, 16, 18hr_timesheet_sheet_attendance
Employees can check in and check out directly from their timesheet sheet, and the sheet shows total attendance hours and the difference versus timesheet hours. Attendance entries are automatically linked to the matching timesheet period.
- HR Timesheet Sheet: Department Manager PolicyOdoo 12, 14, 16, 18hr_timesheet_sheet_policy_department_manager
Adds a new timesheet approval policy where the Department Manager reviews and approves employee timesheet sheets. When enabled, the department field becomes mandatory on the sheet and only that department's manager can approve it.
- HR Timesheet Sheet: Project Manager PolicyOdoo 12, 13, 14, 15, 16, 18hr_timesheet_sheet_policy_project_manager
Adds a new timesheet sheet review policy where the Project Manager approves sheets, and lets each sheet be linked to a specific project.
- HR Timesheet Sheet RestrictionOdoo 14, 16hr_timesheet_time_restriction
This module stops users from entering or backdating timesheets beyond a set number of days, either globally or per project. A special user group can bypass the restriction.
- Image URLs from HTML fieldOdoo 12, 13, 14, 15, 16html_image_url_extractor
Adds a helper that pulls image addresses out of any HTML content in Odoo, in the order they appear. Other modules can use it to show the first image of a post or page when no cover image is set.
- Image TagOdoo 16, 18image_tag
Adds a simple list of image tags that can be managed in Odoo. Tags are created and edited by users in the Image Tag Manager group, while all other users can only view them.
- Image Tag - Server EnvironmentOdoo 16, 18image_tag_environment
Adds a technical name field to image tags so they can be linked to server environment settings. The technical name appears in the image tag list and search views.
- Internal Stock Quant PackageOdoo 14, 16, 18internal_stock_quant_package
Lets you mark packages as internal (trolley boxes) and automatically empty them when a transfer is validated or when products are put in pack, with per-carrier exceptions.
- intrastat_delivery
Lets you set an Incoterm and an Intrastat Transport Mode on each shipping method, so sales orders and their invoices automatically inherit these values.
- IoT Key Employee RFIDOdoo 14, 16iot_key_employee_rfid
Lets you turn an employee's RFID attendance card into an IoT key, so the same card can trigger IoT rules. A button on the employee form creates the IoT key from the card code.
- ir_actions_report_multi_company
Lets you assign report actions to a specific company, so each company only sees its own reports (plus shared ones).
- IR Config Parameter Multi CompanyOdoo 14, 16ir_config_parameter_multi_company
Lets you store different values for the same system parameter per company, so each company in a multi-company database can have its own setting for the same key.
- Modulo Base para los Web Services de AFIPOdoo 14, 16l10n_ar_afipws
This module lets you manage the digital certificates and connections needed to talk to Argentina's AFIP tax authority web services from Odoo. It adds a menu to create certificate aliases, generate certificate requests, upload the signed certificates and view…
- Factura Electrónica - ArgentinaOdoo 14, 16l10n_ar_afipws_fe
This module connects Odoo to Argentina's AFIP electronic invoicing web services, so customer invoices, credit notes and debit notes can be authorized online and receive a CAE number. It also adds an AFIP QR code, connection tests and an option to post…
- Listado de Bancos ArgentinosOdoo 14, 16l10n_ar_bank
Adds a ready-made list of Argentinian banks to Odoo, so bank records for Argentina are already available when setting up partners or company bank accounts.
- Belgium Antibiotics TaxesOdoo 16l10n_be_antibiotic_tax
Adds ready-made Belgian antibiotic tax records to Odoo: two dedicated accounts (antibiotic sale and purchase) and the related tax templates, automatically installed on companies using the Belgian chart of accounts.
- Belgium APB TaxesOdoo 16l10n_be_apb_tax
Adds the Belgian APB (Aide Publique à l'Agriculture) tax setup to the Belgian chart of accounts, including a dedicated APB sale tax, an APB income account and fiscal positions that remove the APB tax for wholesalers and for intra/extra-community sales.
- Bpost address autocompleteOdoo 16l10n_be_bpost_address_autocomplete
Adds a Belgian address search bar on partner forms. Users can search a Belgian address and the street, city, postal code and country are filled in automatically.
- Cooperators BelgiumOdoo 12, 14, 16l10n_be_cooperator
Manage Belgian tax shelter declarations for cooperators: compute eligible shares, generate certificates and send them by email, and print official tax shelter attestations.
- Belgium: Cooperator National NumberOdoo 12, 14, 16l10n_be_cooperator_national_number
Adds an optional Belgian National Number field to cooperative share subscription requests, with company-level settings to show or require it. The number is validated and saved on the contact when the subscription is confirmed.
- Tax Shelter reports in PortalOdoo 12, 14, 16l10n_be_cooperator_portal
Lets cooperative members see and download their Tax Shelter certificates (subscription and shares) from the Odoo website portal, without contacting the cooperative's staff.
- l10n_be_cooperator_portal_national_number
Lets cooperators view and update their Belgian national number from their customer portal account page, with validation and company-level rules for whether it is shown or required.
- Belgium: Cooperator Website National NumberOdoo 12, 16l10n_be_cooperator_website_national_number
Adds a Belgian National Number field to the online cooperative subscription form, so new members can enter (or have pre-filled) their national registration number when they sign up on the website.
- Belgium Eco TaxesOdoo 16l10n_be_eco_tax
Adds ready-made Belgian eco taxes (BEBAT and RECUPEL) and matching accounts to the Belgian chart of accounts, so you can charge or book these environmental fees on sales and purchases.