OdooWiki OCA HUB

Migrating from Odoo 15 to Odoo 16: which OCA modules are available

Of the 2,091 OCA modules confirmed in Odoo 15.0, 1,466 (70 %) are also confirmed in Odoo 16.0. The other 625 do not have a confirmed 16.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1,700 modules are in Odoo 16.0 without being in 15.0.

2,091
in Odoo 15
1,466
also in Odoo 16
625
pending in Odoo 16
70 %
already migrated

See also

Odoo 15 modules not yet confirmed in Odoo 16

  • 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.

  • HR Expense Operating UnitOdoo 12, 13, 14, 15
    hr_expense_operating_unit

    Adds an Operating Unit to employee expenses and expense sheets, so each expense can be tagged to a business unit. Users only see expenses belonging to the operating units they are allowed to access.

  • hr_expense_operating_unit_access_all

    Adds a new user group, "Access all OUs' expenses", that lets selected users see and work on expense records and expense sheets from every operating unit, without having to assign those operating units to the user.

  • 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 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_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_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_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_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_public_overtime

    This module makes Odoo's overtime calculation ignore public holidays, so employees are not credited with overtime on days that are public holidays.

  • hr_operating_unit_access_all

    Adds a security group that lets selected users see and work with employees from every operating unit, without having to assign each operating unit to their user profile.

  • hr_payroll_account_operating_unit

    When a payslip is posted, the journal entry it creates is automatically tagged with the same Operating Unit as the employee's contract, and Odoo blocks any mismatch between the payslip and its journal entry.

  • Employees ShiftsOdoo 14, 15, 17, 18
    hr_shift

    Lets HR plan weekly employee shifts: create a planning for a week, assign shift templates to employees, and see each day's shift, with automatic detection of leaves and holidays.

  • hr_shift_holidays_public

    Prevents assigning shifts to employees on public holidays by checking the employee's address when a shift planning line is created.

  • Employees study fieldOdoo 13, 15, 17
    hr_study

    Lets you keep a standardised list of studies and pick one on each employee's file instead of typing free text. HR managers maintain the list under Human Resources configuration.

  • hr_timesheet_sheet_begin_end

    Adds start and end time columns to the timesheet lines inside a Timesheet Sheet, so users can record when each work entry began and ended. The lines are also sorted by date and start time.

  • hr_timesheet_sheet_no_create

    Prevents users from creating new projects or tasks directly inside a timesheet sheet. When filling in timesheet lines, they can only pick existing projects and tasks.

  • hr_timesheet_sheet_period

    Lets companies align employee timesheet sheets with payroll periods, so each sheet covers exactly the same dates as the pay period. A new "Payroll Period" option is added to the company timesheet range setting.

  • hr_worked_days_from_timesheet

    Adds an 'Import from Timesheets' button on draft payslips that fills the worked days lines from the employee's approved timesheets for the payslip period.

  • Iot Custom Field OcaOdoo 12, 13, 14, 15
    iot_option_oca

    Lets you define custom properties (text, number, yes/no, date) on IoT templates and devices, and read them from device inputs. Adds a Device Property configuration menu and an Options tab on IoT devices.

  • KnowledgeOdoo 12, 13, 14, 15
    knowledge

    Adds a Knowledge app to Odoo with a Documents menu where users can browse, filter and group all attachments, plus settings to enable document indexing, wiki pages, approvals and external DMS connections.

  • Kpi DashboardOdoo 12, 13, 14, 15
    kpi_dashboard

    Create custom KPI dashboards inside Odoo using configurable widgets (numbers, meters, counters, graphs) fed by Python code or model functions, and publish them as menus for selected user groups.

  • l10n_ch_invoice_reports

    Adds a new Swiss invoice report that combines the standard invoice with the QR bill and/or ISR payment slip, and lets you choose per company whether those payment slips are included.

  • Switzerland Country StatesOdoo 12, 13, 14, 15
    l10n_ch_states

    Adds the Swiss cantons (states) with their official codes to Odoo, so you can select a canton on any address, contact or document that uses a country/state field.

  • Holidays for GermanyOdoo 12, 13, 14, 15
    l10n_de_holidays

    Lets you automatically create the German public holidays for a chosen year and federal state, or copy an existing holiday calendar to another year, from a wizard in the Public Holidays menu.

  • l10n_de_skr04_mis_reports

    Adds ready-made German financial report templates (P&L and Balance Sheet according to SKR04 / § 275 HGB) to the MIS Builder reporting tool, so users can generate these statements directly in Odoo.

  • l10n_ec_account_edi

    Lets Ecuadorian companies create, digitally sign and send electronic invoices, purchase liquidations, credit notes and debit notes to the SRI tax authority, and track their authorization status in Odoo.

  • Ecuadorian LocalizationOdoo 15, 17, 18, 19
    l10n_ec_base

    Extends the Ecuadorian localization with SRI payment methods on journals and payments, tax codes for electronic documents, and extra company/partner fields. It also adds a purchase liquidation journal and blocks editing of the final consumer partner.

  • l10n_ec_delivery_note

    Create and manage Ecuadorian delivery notes (guías de remisión) from stock transfers and sales orders, and send them electronically to the SRI. Users can generate the document, print it, and email it to the customer.

  • l10n_ec_ote

    This module adds Ecuadorian parishes and cities to Odoo, letting you record a parish on contacts and companies. It also loads the full Ecuadorian territorial division (provinces, cantons and parishes) so addresses can be selected from official lists.

  • Estonia - AccountingOdoo 12, 13, 14, 15
    l10n_ee_accounting

    Installs an Estonian chart of accounts, taxes and financial reports in Odoo, so Estonian companies can keep their books and VAT in local format.

  • Estonia - ReportingOdoo 12, 13, 14, 15
    l10n_ee_reporting

    This module adds Estonian tax and financial reports to Odoo: a KMD INF appendix listing invoice details for VAT returns and a VIES declaration for intra-EU trade. Users can view, filter, and group these reports from the Accounting menu.

  • TicketBAI - Batuz con DUAOdoo 12, 13, 14, 15
    l10n_es_dua_ticketbai_batuz

    Marks vendor bills that include DUA import taxes and sends them to TicketBAI/Batuz with the correct invoice type (F5/F6) and tax details.

  • l10n_fi_business_code

    Adds a Business ID field to contacts and companies, warns you when another partner already uses the same Business ID, and lets you search contacts by Business ID.

  • Partner EDI codeOdoo 12, 13, 14, 15, 17, 18, 19, 20
    l10n_fi_edicode

    Lets you store a Finnish eInvoicing identifier (Edicode) and an eInvoicing operator on your company and on any contact, with a ready-made list of Finnish banks and eInvoice operators to choose from.

  • l10n_fi_sale_refund_payment_reference

    Automatically gives payment references to customer refund invoices, so Finnish companies can track and reconcile refunds that are used to offset future invoices instead of being paid out as money.

  • l10n_fr_ecotaxe

    Manage French ecotaxe (eco-contribution) on products and invoices. Define ecotaxe categories and classifications, assign them to products, and see the ecotaxe amount automatically added to invoice lines and totals.

  • l10n_fr_ecotaxe_product

    Lets you set the French ecotaxe directly on each product variant, with the amount calculated automatically from the classification or a manual fixed value.

  • l10n_fr_ecotaxe_sale

    Adds French ecotaxe (eco-contribution) amounts to sales orders and order lines, showing the unit ecotaxe per product and the total ecotaxe included in the order.

  • l10n_ir

    Installs the Iranian accounting chart of accounts, VAT taxes and tax report in Odoo, so companies in Iran can record sales, purchases and taxes in Rial with the local account structure.

  • l10n_mx_catalogs

    Loads the official SAT catalogs (product/service codes, units, postal codes, payment methods, tax regimes, CFDI usage, transport data, etc.) into Odoo so Mexican electronic invoicing and payroll can use the correct government codes.

  • l10n_mx_cfdi

    Lets Mexican companies create, stamp, download and cancel CFDI electronic invoices through several PAC providers, and manage issuers, series and PAC credentials inside Odoo.

  • l10n_ro_address_extended

    Adds a 'Staircase Number' field to Romanian partner and company addresses, so Romanian street addresses can include the staircase (Sc.) and be stored in the structured address format.

  • Romania - SirutaOdoo 13, 14, 15
    l10n_ro_siruta

    Adds Romanian SIRUTA administrative data to Odoo: zones, communes and cities, and shows them on partner addresses. Users can pick a Romanian city/commune and zone directly on a contact form.

  • l10n_th_account_tax_expense_operating_unit

    When an expense report generates a withholding tax journal entry, this module copies the Operating Unit from the expense report onto that accounting entry.

  • l10n_th_account_tax_filing

    Create tax filing records that gather posted journal items from sales tax, purchase tax and adjustment accounts for a chosen period, then submit them and generate the corresponding journal entry, customer invoice or vendor bill to the tax authority.

  • l10n_th_account_tax_inter_company

    When an inter-company invoice is created automatically in another company, this module copies the Thai tax invoice number and date from the original customer invoice onto the new invoice lines.

  • l10n_th_bank_payment_export_ktb

    Adds support for exporting bank payment files in the KTB (Krungthai Bank) format. Users can select KTB as the bank, choose a bank type and service type, and generate an Excel payment file with the required KTB layout.

  • l10n_th_gov_account_asset_management

    Extend asset management for Thai government rules: record purchase order, employee, location, serial, guarantee, model and brand on assets, log maintenance, and remove or transfer several assets at once.

  • l10n_th_gov_hr_expense

    Links Thai government purchase requests to expense reports: users can pull approved purchase request lines into an expense report, which automatically creates the expense lines, and the system checks amounts and purchase request status before submitting or…

  • l10n_th_gov_purchase_guarantee

    Track purchase guarantees (bid bonds, performance bonds, advance payment guarantees) linked to Purchase Agreements, RFQs and Purchase Orders, and turn them into customer invoices or vendor bills.

  • l10n_th_gov_purchase_report

    Adds three Excel reports for Thai government purchasing: a Procurement Report, a Non Procurement Report and a Purchase Tracking Report, each launched from a small date-range pop-up.

  • l10n_th_gov_purchase_request

    Adds Thai government procurement fields to Purchase Requests: procurement type, purchase type and procurement method, plus a verification step and committee members. It also enforces Thai procurement rules on amounts and committee composition.

  • l10n_th_gov_work_acceptance

    Adds a committee approval workflow to Work Acceptance documents for Thai government purchases. Each committee member is asked to accept, not accept or give another answer, and their progress is tracked on the document.

  • l10n_th_multicurrency_revaluation

    This module lets Thai companies revalue foreign-currency balances at period end, automatically creating unrealized gain/loss journal entries and reversal entries, plus printing an unrealized currency report.

  • l10n_th_multicurrency_revaluation_operating_unit

    When you run a currency revaluation, the journal entries it creates now carry an operating unit, taken from the original entry or from the journal. This keeps revaluation postings aligned with your operating unit reporting.

  • Mail Activity CreatorOdoo 13, 14, 15
    mail_activity_creator

    Shows who created each activity in Odoo, both in the activity popup form and in the activity list, so you can see the author of every scheduled activity.

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.