OdooWiki OCA HUB

Migrating from Odoo 17 to Odoo 18: which OCA modules are available

Of the 1,994 OCA modules confirmed in Odoo 17.0, 1,579 (79 %) are also confirmed in Odoo 18.0. The other 415 do not have a confirmed 18.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1,531 modules are in Odoo 18.0 without being in 17.0.

1,994
in Odoo 17
1,579
also in Odoo 18
415
pending in Odoo 18
79 %
already migrated

See also

Odoo 17 modules not yet confirmed in Odoo 18

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

    Adds a "Work Entries" smart button to the user profile screen, letting employees jump straight from their profile to their own HR work entries.

  • IoT AMQPOdoo 13, 14, 15, 16, 17
    iot_amqp_oca

    Adds AMQP as a communication option for IoT outputs, so Odoo can send messages to a broker that forwards them to a device. Users configure AMQP hosts and per-output exchange, routing key and payload.

  • IoT RuleOdoo 14, 15, 16, 17
    iot_rule

    Define IoT access rules that link keys (people) to locks (devices), so Odoo can decide whether a key is allowed to control a device input. Includes a usage log of every accepted or refused access attempt.

  • l10n_be_intrastat_product

    Adds Belgian Intrastat reporting to Odoo: prepare, review and correct the monthly Intrastat declaration and generate the XML file for the ONEGATE online submission.

  • Belgium - KBO/BCE numbersOdoo 12, 13, 14, 15, 16, 17
    l10n_be_partner_kbo_bce

    Adds a KBO/BCE number field to Belgian company contacts and keeps it in sync with the VAT number, with a format and checksum check.

  • l10n_br_contract

    Adds Brazilian fiscal data to contracts and their lines, so recurring invoices are generated with the correct fiscal operation, taxes and document type. It also lets you set default sale/purchase fiscal operations per company.

  • l10n_br_fiscal_subsequent_document

    Configure follow-up fiscal operations and let Odoo automatically create the related subsequent fiscal documents when the source document reaches a chosen status. Users can also see and open both the source and generated documents from the fiscal document…

  • l10n_br_hr_expense_invoice

    Adds Brazilian fiscal operation handling to employee expense invoices. You can set a default fiscal operation per company and choose one on each expense, which is then used when the expense invoice is created.

  • L10n Br Product ContractOdoo 12, 14, 16, 17
    l10n_br_product_contract

    When a sales order is turned into a contract, this module copies the Brazilian fiscal information (fiscal operation, taxes, NCM and service details) from the order and its lines into the contract, so recurring contracts keep the same fiscal setup as the sale.

  • L10n Br Purchase RequestOdoo 12, 14, 16, 17
    l10n_br_purchase_request

    Extends the Purchase Request module so that, when a purchase request is turned into a purchase order, the Brazilian fiscal operation and taxes are applied to the order lines.

  • l10n_br_purchase_requisition

    When you create a purchase order from a purchase agreement (requisition) in a Brazilian company, this module automatically fills in the fiscal operation and Brazilian taxes on the order and its lines.

  • l10n_ch_qr_international

    Adds a checkbox on customer/vendor forms to force sending Swiss QR invoices to partners outside Switzerland and Liechtenstein, bypassing the usual country restriction.

  • l10n_ch_qr_no_amount

    Adds a new Swiss QR-bill report that prints the payment slip without any amount, so the payer can fill in the amount themselves. Useful when the same QR code must be reused for several payments on the same invoice.

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

  • l10n_ec_credit_note

    For Ecuadorian companies, this module lets you classify credit notes as either a discount or a return, and automatically picks the right accounting account for each product line based on settings at company, product category or product level.

  • l10n_ec_withhold

    Create and manage Ecuadorian electronic withholding documents for purchases and sales, linked to invoices and sent to the SRI. Users can generate withholdings from invoices, print the withholding report, and control which partners or fiscal positions are…

  • AEAT modelo 592Odoo 15, 16, 17, 19
    l10n_es_aeat_mod592

    Manage the Spanish plastic tax (Modelo 592) in Odoo: mark products with plastic weights and tax regimes, generate the quarterly/monthly AEAT report from stock moves, and export it as CSV or XLSX for filing.

  • l10n_es_facturae_literal_legal

    Adds legal literal texts to Spanish Facturae invoices. Users can enter legal references on an invoice; long texts are automatically split into 250-character blocks and printed in the Facturae XML report.

  • l10n_es_facturae_special_payment

    Adds special payment details to Spanish Facturae e-invoices, letting you record factoring bank accounts and reconciliation references that are printed on the generated Facturae file.

  • l10n_es_igic

    Adds the Canary Islands IGIC tax system to Odoo Accounting, including tax rates, tax groups, fiscal positions and ready-made Spanish chart templates for companies, freelancers, non-profits and associations in the Canary Islands.

  • l10n_es_igic_reav

    Adds a fiscal position for travel agencies under the Canary Islands REAV special regime, so their IGIC taxes are replaced by zero-rate REAV taxes on sales and purchases.

  • Libro de IGICOdoo 15, 16, 17
    l10n_es_vat_book_igic

    Adds Canary Islands IGIC tax mappings to the Spanish VAT Book report, so the issued and received invoice books can be produced with IGIC taxes instead of only standard VAT.

  • Finnish Payment TermsOdoo 13, 14, 17
    l10n_fi_payment_terms

    Adds ready-made Finnish payment terms (7, 10, 14, 60 and 90 days) to Odoo, so invoices and bills can be given a standard due date without creating terms manually.

  • Iran - Country StatesOdoo 14, 16, 17, 19, 20
    l10n_ir_states

    Adds Iran's provinces and cities to Odoo, and makes the province and city mandatory when entering an Iranian address.

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

    Generates and manages Mexican CFDI 4.0 electronic invoices, credit notes and payment receipts directly from Odoo invoices and payments, including cancellation and bulk download of fiscal files.

  • Contact CSF for MexicoOdoo 16, 17, 19
    l10n_mx_res_partner_csf

    Upload a Mexican tax situation certificate (CSF) PDF on a contact and Odoo automatically fills in the contact's RFC, name, address and state.

  • Romania - Account ANAF SyncOdoo 14, 15, 16, 17
    l10n_ro_account_anaf_sync

    Connect your Odoo company to the Romanian ANAF portal so you can obtain and manage the access tokens needed to send e-invoices and e-transport documents. Configuration is done per company from the Accounting settings.

  • l10n_ro_account_bank_statement_import_mt940_bt

    Import Banca Transilvania (BT) MT940 bank statement files into Odoo as bank statements, with automatic detection of the BT format and best-effort extraction of counterparty details from the statement text.

  • l10n_ro_account_bank_statement_import_mt940_exim

    Lets you import Eximbank (Romania) MT940 bank statement files into Odoo and automatically creates the statement lines with dates, amounts, references and counterpart details.

  • l10n_ro_account_bank_statement_import_mt940_rffsn

    Import Raiffeisen Romania MT940 bank statement files into Odoo. The Raiffeisen format becomes available as an import option on bank journals whose bank BIC is RZBRROBU.

  • l10n_ro_etransport

    Generate and send Romanian ANAF E-Transport XML declarations directly from a stock transfer. Users fill in transport details on the transfer, export the XML, upload it to ANAF and check its status.

  • l10n_ru

    Installs the official Russian chart of accounts and Russian VAT/special-regime taxes in Odoo Accounting, so a Russian company can book invoices and transactions with the correct account codes and tax rates.

  • l10n_ru_banks

    Adds Russian bank details to Odoo, including correspondent accounts, and lets you refresh the bank directory from the Central Bank of the Russian Federation.

  • Thai Localization - Thai FontsOdoo 13, 14, 15, 16, 17
    l10n_th_fonts

    Adds a set of Thai fonts (and a few others) to the font choices available on the company settings, so printed reports and documents can use them.

  • loyalty_card_fixed_expiration_date

    Lets you set a number of days on a gift card loyalty program so that each new card automatically gets a fixed expiration date counted from the day it is created.

  • mail_activity_future_counter

    Adds a second badge on the activity clock icon in the top navigation bar showing how many activities are planned for the future, separate from the existing badge for overdue and today's activities.

  • mail_activity_reply_creator

    When you click "Done & schedule next" on an activity, the follow-up activity is automatically assigned back to the person who created the original one, making back-and-forth task handovers easier.

  • mail_attachment_xml_preview

    When you open an XML attachment in Odoo (like an electronic invoice or bank statement), it is now shown as an indented, collapsible tree instead of a single line of raw text.

  • mail_chatter_split

    Adds filter buttons above the chatter to show only user messages, system logs, or planned activities, and remembers your last selected view while you navigate.

  • mail_composer_cc_bcc_account

    Adds separate Cc and Bcc recipient fields to the invoice sending wizard, so invoices can be emailed to copy and blind-copy recipients.

  • mail_disable_follower_notification

    When you add followers to a record through the invite wizard, the option to send them a notification email is now turned off by default, so no email goes out unless you tick the box yourself.

  • mail_discuss_channel_unread_sort

    Changes the order of channels in the Discuss sidebar so channels with unread messages appear first, with the most recently active unread channel at the top. Read channels keep their normal alphabetical order.

  • mail_environment_office365

    Lets administrators configure the Office365 outgoing mail server authentication through server environment variables instead of typing it in Odoo. It extends the existing mail server settings with one extra environment-driven field.

  • mail_history_mark_unread

    Adds a 'Mark as Unread' button to messages in the Discuss History mailbox and in Search results, so a message can be moved back to the Inbox as if it were new and unread.

  • mail_notification_link

    Makes the document name in messaging menu notifications clickable, so users can jump straight to the related record (for example a sales order or purchase order) instead of only opening the chatter.

  • mail_notification_sound_volume

    Lets each user set the volume of Odoo notification sounds from their Preferences, with a slider and a test button. The chosen volume is saved and used for chat and inbox notification sounds.

  • mail_notify_employee_leave

    When you mention or assign a colleague who is out of office, Odoo sends you a note telling you they are absent and when they are expected back. Each user is warned only once per day per absent employee.

  • mail_operating_unit

    Lets each Operating Unit use its own email domain and outgoing mail server, so emails sent from records or templates linked to that Operating Unit go out with the right identity.

  • Mail Print MessageOdoo 15, 17, 19
    mail_print

    Adds a "Print Message" option to the chatter of any Odoo document, letting users print a single message as a PDF with its subject, date, sender, recipients and body.

  • mail_sent_history

    Adds a "Sent History" mailbox to the Discuss app so users can see and search all the messages and notes they have personally sent.

  • mail_server_by_user

    Automatically picks the outgoing email server whose login matches the sender address, so each user's mail is sent through their own SMTP account.

  • mail_template_substitute_account_move

    When you send an invoice or credit note by email, this module automatically swaps the standard email template for the substitute template configured for that document type.

  • Maintenance Sign OcaOdoo 14, 15, 16, 17
    maintenance_sign_oca

    Link signature requests to maintenance equipment and automatically create them when the equipment owner changes, using a template configured per company.

  • MIS Builder AnalyticOdoo 12, 14, 16, 17
    mis_builder_analytic

    Lets you build MIS Builder reports using analytic entries as the data source, so you can analyse costs and revenues by analytic account inside your management reports.

  • mis_builder_contract

    Adds a new data source for MIS Builder reports that turns recurring contract lines into virtual accounting entries, so you can forecast customer and supplier contract revenue and costs in your MIS reports.

  • mrp_bom_component_mass_change

    Replace or remove a component in many bills of materials at once. A wizard lists the bills of materials using that component, lets you pick which ones to update, and applies the change in one step.

  • mrp_bom_structure_report_level_1

    Adds a new PDF report called "BoM Structure (Level 1)" that can be printed from a Bill of Materials and shows only the direct components of that BoM, without expanding sub-assemblies.

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.