OdooWiki OCA HUB

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

  • account_move_line_repair_info

    Links journal items to the repair order they come from, so you can see and group accounting entries by repair order.

  • account_move_original_partner

    Shows the original customers from the sale orders behind a customer invoice, so you can see who was actually invoiced when several orders are grouped into one invoice.

  • account_move_reconcile_forbid_cancel

    Prevents users from cancelling or resetting to draft any invoice or journal entry that has already been reconciled (paid).

  • account_move_sent_usability

    Lets users filter journal entries and invoices by whether they have been sent, and shows a 'Sent' indicator on the invoice form.

  • account_move_so_import

    Adds two automatic matching rules that find the customer on a bank statement line by looking up a Sales Order using the line's label or payment reference.

  • Account Move Sub StateOdoo 14, 15, 16, 19
    account_move_substate

    Adds a secondary status (substate) to journal entries and invoices, so you can track extra steps like 'To Verify', 'Checked' or 'Verified' on top of the standard Draft/Posted status.

  • account_move_transfer_partner

    Lets you move the outstanding amount due on posted invoices, refunds or payments from one or several partners to a single destination partner, by creating and posting a new journal entry.

  • account_multicompany_reporting_currency

    Adds a reporting-currency amount to invoices, bills and journal entries, so you can see and total each document in one shared company reporting currency.

  • Multicurrency revaluationOdoo 12, 13, 14, 15, 16
    account_multicurrency_revaluation

    Generate and reverse unrealized currency revaluation entries for foreign-currency balances, and print a currency revaluation report. Configure revaluation, provision and analytic accounts per company.

  • account_payment_batch_process

    Pay several customer invoices or vendor bills at once from a single screen, with the option to leave invoices partly open or write off the unpaid difference to an account.

  • account_payment_batch_process_discount

    Apply early-payment discounts when paying invoices in batch. Odoo calculates the discount automatically, shows a discount date on invoices, and lets you filter invoices that still qualify for the discount.

  • Credit Card PaymentsOdoo 12, 14, 16, 18
    account_payment_credit_card

    Lets you flag a bank journal as a credit card journal and pick the credit card company. When entries are posted in that journal, Odoo automatically creates the offsetting lines that transfer the payable to the credit card company.

  • account_payment_line

    Adds a "Counterpart Lines" tab to payments so you can split a payment across several invoices, add extra lines (fees, commissions, interest) and set write-off accounts. A button proposes the distribution automatically, oldest due date first.

  • account_payment_line_import

    Import payment distribution lines into a draft payment from an Excel file. The button "Import Payment Distribution" appears on the payment form and fills the counterpart lines automatically.

  • account_payment_method_fs_storage

    Lets you pick a file storage on a payment method so that payment files are automatically uploaded there when generated, and marks the payment order as uploaded.

  • Account payment notificationOdoo 15, 16, 18, 19
    account_payment_notification

    Automatically notify customers by email or SMS when a payment or debit order is marked as sent, and optionally block sending if the customer cannot be reached.

  • account_payment_order_tier_validation

    Adds an approval workflow to Payment Orders: before a draft payment order can be confirmed, the reviewers you configure must validate it. A new "Needs my Review" filter helps reviewers find orders waiting for them.

  • account_payment_order_vendor_email

    Automatically emails vendors a remittance advice when a payment order is uploaded, and lets you send it manually with a button. You can enable this per payment mode and choose the email template.

  • account_payment_term_discount

    Configure early payment discounts on payment terms and let Odoo automatically calculate and apply the discount when registering a customer or vendor payment.

  • account_payment_term_partner_holiday

    Lets you record holiday periods on a customer or vendor so invoice due dates are automatically moved to the next working day, avoiding due dates that fall inside those holidays.

  • account_payment_term_restriction

    Lets you mark each Payment Term as usable only for Sales, only for Purchases, or for All, and blocks users from picking a wrong-type Payment Term on invoices, credit notes, bills or refunds.

  • account_payment_term_restriction_purchase

    Restricts which payment terms can be used on purchase orders and on vendor records, so only terms marked as applicable to purchases (or to all) are allowed.

  • account_payment_term_restriction_sale

    Restricts which payment terms can be used on sales orders and customer records, so only terms marked as applicable to Sales or All can be selected.

  • account_period_lock_date_multi_company

    Adds a single screen listing all companies where you can edit the accounting lock dates (period and fiscal year) directly in the list, without opening each company one by one.

  • account_product_fiscal_classification

    Lets you define ready-made combinations of purchase and sale taxes (fiscal classifications) and assign one to each product, instead of picking taxes manually. You can also set rules that forbid certain tax combinations for certain product categories.

  • Impresión de pagaré CaixaBank A4Odoo 12, 13, 15, 16, 18
    account_promissory_note_caixabank

    Adds a CaixaBank A4 promissory note layout that can be selected on the company and printed from payments, placing the due date, amount, payee and amount in words on the official form.

  • Receipts JournalsOdoo 14, 15, 16, 18, 19
    account_receipt_journal

    Lets you mark sale and purchase journals as exclusive to receipts, so customer and vendor receipts automatically use those journals and normal invoices cannot.

  • account_receipt_send

    Adds a Send button on receipt documents so you can email the receipt PDF to the customer using a dedicated receipt email template.

  • account_reconcile_analytic_tag

    Lets accountants add analytic tags while reconciling bank statement lines and while setting up reconciliation models, so tagged costs and revenues are carried into the journal entries created during reconciliation.

  • account_reconcile_match_regex

    Adds a regular expression field to reconciliation models so Odoo can extract the invoice number from a payment reference and use it to match bank statement lines with invoices.

  • account_reconcile_model_multicompany_propagate

    Copy a reconciliation model to other companies that share the same chart of accounts, updating existing models with the same name.

  • account_reconcile_oca_add_default_filters

    When a bank statement line has a partner, the Reconcile tab automatically filters journal items to show only receivable, payable and outstanding payment/receipt lines, hiding VAT lines by default.

  • account_reporting_volume

    Adds a Volume measure to the invoices analysis view, so users can see the total product volume of invoiced goods, with returns and refunds subtracted.

  • account_reporting_weight

    Adds a Weight measure to the Invoices Analysis reporting view, so users can see the total product weight of invoiced lines alongside amounts and quantities.

  • account_reversal

    This module adds a 'To Be Reversed' checkbox and filter to journal entries, and lets you add a reason to reversal lines. It also provides a dedicated menu to list entries marked for reversal.

  • account_statement_import_online_ofx

    Connect Odoo to banks that use the OFX format so bank statements can be downloaded automatically. Users set up OFX institutions and credentials, then pull transactions into Odoo.

  • account_statement_import_online_qonto

    Adds Qonto as an online bank statement provider in Odoo, so users can fetch Qonto transactions directly into their bank journals instead of importing files manually.

  • account_statement_import_qif

    Lets you import QIF bank statement files (Quicken/QuickBooks format) into Odoo's bank and cash statement import wizard, so transactions are parsed and stored as statement lines.

  • account_tax_change

    Lets accountants record tax changes with a start date and a mapping from old taxes to new taxes, then apply those mappings to draft, unpaid invoices in one action.

  • account_tax_group_widget_base_amount

    Shows the base amount next to each tax group in the tax totals widget on invoices and receipts, so users see the amount the tax was calculated on.

  • account_tax_one_vat

    Lets you mark taxes as VAT and, when enabled per company, prevents selecting more than one VAT tax on invoice lines and on products. It warns or blocks the user so each line keeps a single VAT tax.

  • account_tax_one_vat_purchase

    Limits purchase order lines to a single VAT tax, preventing users from selecting more than one VAT tax on the same line.

  • account_tax_one_vat_sale

    Limits sales order lines to a single VAT tax. When more than one VAT tax is selected on a line, Odoo blocks saving and shows a warning.

  • account_template_active

    Lets you archive (disable) or re-enable accounting template items — accounts, taxes and fiscal positions — so they can be hidden from the chart template without deleting them.

  • ITA - Liquidazione IVAOdoo 12, 14, 16
    account_vat_period_end_statement

    Create and manage Italian VAT period-end statements (liquidazione IVA): collect VAT from selected periods, compute the amount due to or from the tax authority, and generate the related journal entry.

  • Maintenance AgreementsOdoo 12, 13, 14, 16
    agreement_maintenance

    Link maintenance agreements to equipment and maintenance requests, so you can see which contract covers each machine and each repair job.

  • Agreement RebateOdoo 13, 15, 16, 18, 19
    agreement_rebate

    Lets you define rebate conditions on agreements and automatically calculate, settle and invoice the rebates owed to customers or vendors based on their invoiced amounts.

  • agreement_rebate_partner_company_group

    Extends rebate agreements so that when a rebate settlement is created, it can include all members of the agreement partner's company group, not just the partner itself.

  • Agreement Service ProfileOdoo 12, 13, 14, 15, 16, 18
    agreement_serviceprofile

    Adds a Service Profile object to agreements, letting you track the services delivered under a contract with their own stages, products and notes.

  • ai_automation

    This module lets you create AI-powered automated actions in Odoo. You configure a connection to an AI service (Ollama), then add an "AI OCA Action" to any server action so it can generate text, post messages, or update record fields automatically.

  • ai_oca_bridge_crm_lead

    Connects CRM leads to external AI systems, so that creating, updating or deleting a lead can automatically send information to an AI service configured in an AI Bridge.

  • ai_oca_bridge_fieldservice

    Connects Field Service orders to the AI OCA Bridge so an AI service can be triggered from a field service order. It adds the AI bridge conversation capability to fsm.order records.

  • ai_oca_bridge_helpdesk_mgmt

    Connects the AI Bridge with Helpdesk Management so helpdesk tickets can be used as AI conversation threads. It adds no new screens or fields by itself.

  • ai_oca_bridge_mrp

    Connects Odoo Manufacturing work orders to external AI systems, so an AI service can be notified automatically when a work order is created, updated or deleted.

  • Ai Oca McpOdoo 16
    ai_oca_mcp

    Create MCP servers in Odoo that expose selected AI tools to external AI clients (like n8n or custom agents) through a secure web address, with per-client access keys and a full log of every request.

  • Ai ToolOdoo 16, 18, 19
    ai_tool

    This technical module creates a registry of AI tools in Odoo, letting developers declare callable functions that AI assistants or MCP servers can use, such as getting today's date or posting a message on a record.

  • ai_tool_read

    Adds a per-field "AI Read Forbidden" flag and three AI tools (list_models, get_fields, search_read) that let an AI agent list, describe and read Odoo data with the user's own access rights, while keeping flagged sensitive fields out of the results.

  • analytic_amount_security

    Adds a security group that controls which users can see the amount (cost) on analytic lines. By default, regular users and analytic accounting users are granted this access.

  • analytic_distribution_widget_remove_save

    Removes the Save button from the analytic distribution popup, so users no longer have to click Save after editing analytic distribution values.

  • analytic_hr_department_restriction

    Restrict which analytic plans and analytic accounts each user can see, based on the HR departments linked to them. Users only see plans/accounts tied to their own department (or, optionally, those with no department).

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.