OdooWiki OCA HUB

Migrating from Odoo 19 to Odoo 20: which OCA modules are available

Of the 1,529 OCA modules confirmed in Odoo 19.0, 72 (5 %) are also confirmed in Odoo 20.0. The other 1,457 do not have a confirmed 20.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1 modules are in Odoo 20.0 without being in 19.0.

1,529
in Odoo 19
72
also in Odoo 20
1,457
pending in Odoo 20
5 %
already migrated

See also

Odoo 19 modules not yet confirmed in Odoo 20

  • Account Invoice Pricelist - SaleOdoo 12, 13, 14, 15, 16, 18, 19
    account_invoice_pricelist_sale

    When you create an invoice from a sales order, the customer's pricelist used on the order is automatically carried over to the invoice. This keeps the pricelist information consistent between sales and accounting.

  • Invoice Production LotsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_invoice_production_lot

    Shows the delivered production lots or serial numbers of each invoice line, both in the invoice form and on the printed invoice report, with the delivered quantity per lot.

  • account_invoice_refund_code

    Lets you set a custom short code for refund sequences on sales and purchase journals, so credit notes get their own numbering prefix instead of the default 'R' plus journal code.

  • account_invoice_refund_link

    Shows which credit notes (refunds) were created from an invoice and which invoice lines each refund line came from. Adds a Refunds tab on invoices and an Invoice reference field on refunds.

  • Account Invoice Grouped by PickingOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_invoice_report_grouped_by_picking

    Lets you print customer invoices with lines grouped by delivery order (picking), showing the sales order and picking reference and a subtotal per picking. A toggle on each accounting journal turns the grouped layout on or off.

  • account_invoice_report_payment_info

    Adds extra payment details to the printed invoice report. A system setting lets you choose which payment information is shown next to each payment line on the invoice PDF.

  • Acccount Invoice Section Sale OrderOdoo 13, 14, 15, 16, 17, 18, 19
    account_invoice_section_sale_order

    When one invoice covers several sale orders, this module inserts titled sections on the invoice so each group of lines is clearly linked to its sale order. The section titles can be customised in Settings or per customer.

  • Account Invoice Show Currency RateOdoo 13, 16, 17, 18, 19
    account_invoice_show_currency_rate

    Shows the real currency rate actually used on posted invoices and their journal items, instead of the rate currently configured in Odoo. Useful when an invoice was posted with a different rate or the amount in foreign currency was changed manually.

  • Account Invoice Start End DatesOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_invoice_start_end_dates

    Adds Start Date and End Date fields on invoice and journal entry lines, and lets you flag products that require these dates before an invoice can be posted.

  • Account invoice tax noteOdoo 12, 13, 14, 15, 16, 18, 19
    account_invoice_tax_note

    Lets you add a free-text note to each tax group, which is automatically printed on customer invoices when a tax from that group is used.

  • Tax required in invoiceOdoo 12, 13, 14, 15, 16, 18, 19
    account_invoice_tax_required

    Prevents posting customer invoices or vendor bills that contain lines without taxes, showing an error that lists the offending invoices and lines.

  • Invoice Transmit MethodOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_invoice_transmit_method

    Lets you set how each customer receives invoices and how each vendor sends bills (E-mail, Post, Customer Portal, or your own methods). The Send button on invoices only appears when the method is E-mail or empty.

  • Account Invoice Tree CurrencyOdoo 13, 14, 15, 16, 18, 19
    account_invoice_tree_currency

    Adds optional currency columns to the invoices list view in Odoo Accounting, so you can see untaxed, tax, total and amount due in the invoice currency alongside the company currency amounts.

  • account_journal_general_sequence

    Adds a separate, configurable entry number to journal entries, per journal, and lets you renumber posted entries on demand. The number is assigned automatically when an entry is posted and must be unique per journal.

  • Account Journal Lock DateOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_journal_lock_date

    Set a lock date and a lock date for non-advisers on each accounting journal separately, and update those dates for several journals at once from a wizard.

  • Account Journal Restrict ModeOdoo 13, 16, 17, 18, 19
    account_journal_restrict_mode

    This module forces the "Lock Posted Entries with Hash" option on for all Sales, Purchase and Miscellaneous journals, so posted entries in those journals can no longer be changed. Bank and Cash journals are left untouched.

  • Account Lock Date UpdateOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_lock_date_update

    Lets accounting advisers set or change the company's accounting lock dates from a simple wizard, without needing full technical settings access. It adds a 'Lock Dates' menu under Accounting.

  • Account Move Cancel ConfirmOdoo 16, 17, 18, 19
    account_move_cancel_confirm

    When you cancel an invoice, journal entry or payment in Odoo, a confirmation popup appears first, where you can optionally type a reason for the cancellation.

  • Account Move Line Mrp InfoOdoo 14, 15, 16, 17, 18, 19
    account_move_line_mrp_info

    Links accounting journal items to the manufacturing or unbuild order that generated them, so users can see which production or unbuild order each accounting line belongs to and jump to those lines from the order.

  • Register due paymentsOdoo 16, 18, 19
    account_move_line_payment

    Adds an "Overdue" filter to journal items so you can quickly list unpaid lines whose due date has passed, and a "Register Payment" action to pay them directly from the list.

  • Account Move Line Tax EditableOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_move_line_tax_editable

    Lets users change the tax on invoice and bill lines while the document is still in draft, and automatically updates the related tax account line.

  • Account Move Number SequenceOdoo 14, 15, 16, 17, 18, 19
    account_move_name_sequence

    Journal entry numbers are now generated from a real, configurable sequence attached to each accounting journal, instead of being guessed from the last number typed by a user. Users can set the entry sequence and the credit note sequence directly on the…

  • account_move_pivot_view

    Adds a pivot view to the Invoices and Refunds screens, so users can analyse totals and outstanding amounts by partner directly from those menus.

  • Account Move Post Date UserOdoo 12, 13, 16, 17, 18, 19
    account_move_post_date_user

    Adds two read-only fields to journal entries showing when the entry was last posted and which user posted it, so you can trace who posted each accounting entry and when.

  • Account Move PrintOdoo 13, 14, 15, 16, 17, 18, 19
    account_move_print

    Adds a printable PDF report for journal entries, so users can print or export an accounting move with its lines, accounts, partners, taxes and debit/credit totals.

  • 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 TemplateOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_move_template

    Create reusable journal entry templates for recurring entries, then generate real journal entries from them through a wizard where you fill in or let Odoo compute the amounts.

  • Account Move Tier ValidationOdoo 13, 14, 15, 16, 17, 18, 19
    account_move_tier_validation

    Adds an approval workflow to invoices, bills, credit notes and refunds: before an entry can be posted it may need to be reviewed and approved by one or more tiers of reviewers. Users also get new filters to find entries waiting for their review.

  • account_move_tier_validation_approver

    Lets you set a default approver on a vendor and automatically fills that person as the Responsible for Approval on vendor bills, with an option to make it mandatory before posting.

  • account_move_total_by_account_internal_group

    Adds optional columns to the Journal Entries list showing the total balance of each entry split by account internal group (asset, liability, equity, income, expense, off-balance).

  • Account move update analyticOdoo 14, 15, 16, 17, 18, 19
    account_move_update_analytic

    Lets accounting users change the analytic distribution on already posted journal entries and invoice lines, either one line at a time or for all lines of selected journal entries.

  • Account nettingOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_netting

    Lets accountants offset a partner's receivable and payable balances by creating and posting a single journal entry that reconciles the selected journal items.

  • Accounting with Operating UnitsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_operating_unit

    Tag accounting entries, journals, payments and invoices with an Operating Unit and, if the company is set as self-balanced, automatically create balancing entries through an inter-operating unit clearing account.

  • Account Partner Company GroupOdoo 15, 16, 17, 18, 19
    account_partner_company_group

    Adds a Company Group field to invoices and journal entries, taken automatically from the customer's company group, so you can filter, group and analyse accounting data by company group.

  • Account Partner RequiredOdoo 12, 14, 16, 17, 18, 19
    account_partner_required

    Adds a 'Partner Policy' setting on each accounting account so you can require, forbid or leave optional the partner on journal items posted to that account.

  • account_payment_base_oca

    Extends Odoo's native payment methods so a payment method can be linked to a fixed bank account or to a variable one chosen later, and lets you show partially masked customer bank account numbers on invoices.

  • account_payment_base_oca_sale

    Adds a preferred payment method to sale orders, shows it in the Sales analysis report and prints payment instructions on quotations and orders.

  • account_payment_batch_oca

    Create and manage payment orders and debit orders in Odoo, grouping invoice journal items into payment lines, generating bank files, and tracking the whole process from draft to uploaded.

  • account_payment_discount

    Lets you pay invoices early and automatically book the early payment discount, including discounts linked to refunds, when preparing payments in batch.

  • account_payment_fr_lcr

    Adds a French bill of exchange payment method (LCR, accepted letter of change, promissory note) to Odoo. Users can print the official paper letter of change PDF and generate the CFONB bank file to send to their bank.

  • account_payment_mandate

    Create and manage customer direct debit mandates, link them to bank accounts, and use them on invoices and payment orders to ensure direct debits are properly authorized.

  • account_payment_mandate_sale

    Adds a Direct Debit Mandate field to sale orders, automatically filled from the customer's valid mandate when the chosen payment method requires one, and copies it to the invoice.

  • account_payment_method_base

    Adds a screen to view and manage the technical payment methods used by Odoo payments, with a list, a form and a search view under the Accounting menu.

  • Account Payment ModeOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_mode

    Lets you define payment modes (how customers pay you and how you pay suppliers) and assign them to contacts and invoices, so invoices are automatically routed to the right bank journal and the invoice report can show the bank account number.

  • 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 OrderOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_order

    Lets accounting users group invoices and bills into payment orders and debit orders, confirm them, generate a payment file and mark them as uploaded, with the related journal entries and payments created automatically.

  • account_payment_order_grouped_output

    Adds an option to create one grouped journal entry per payment date for a payment or debit order, so large orders are easier to reconcile with bank statements.

  • Account Payment Order NotificationOdoo 13, 14, 16, 17, 18, 19
    account_payment_order_notification

    Adds a 'Send mails' button on payment and debit orders so you can email each partner a list of their transactions, and keeps a history of who was notified.

  • Account Payment PurchaseOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_purchase

    Adds a Payment Mode and a Supplier Bank Account on purchase orders, filled automatically from the supplier and carried over to the supplier invoice.

  • Account Payment Purchase StockOdoo 13, 14, 15, 16, 17, 18, 19
    account_payment_purchase_stock

    Automatically copies the supplier's payment mode and bank account onto purchase orders created by stock rules (make-to-order or drop shipping).

  • Account Payment ReturnsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_return

    Record customer payment returns (bounced cheques, rejected transfers) and automatically reopen the related invoices so the debt is still owed. Track the return history and see which invoices have a returned payment.

  • Account Payment Return ImportOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_return_import

    Import bank payment return files (CSV or ZIP) to automatically create payment returns in Odoo, with duplicate detection and optional automatic matching.

  • Account Payment Return Import Iso20022Odoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_return_import_iso20022

    Import bank payment return files in ISO 20022 formats (pain.002, camt.053, camt.054) to automatically create payment return records in Odoo, including matching returned lines to existing payments and providing standard return reason codes.

  • Account Payment SaleOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_sale

    Adds a Payment Mode field to sale orders, automatically filled from the customer and carried over to the customer invoice. The payment mode note also appears on the printed quotation/sales order.

  • account_payment_sepa_base

    Technical foundation module that adds SEPA/PAIN payment file fields and settings to Odoo, without providing any user-facing feature on its own. It prepares payment lines, lots, orders and companies so the SEPA Credit Transfer and Direct Debit modules can…

  • account_payment_sepa_credit_transfer

    This module lets you generate SEPA Credit Transfer XML files (ISO 20022 PAIN) for outgoing payments to suppliers, including instant transfers and non-SEPA wire transfers.

  • account_payment_sepa_direct_debit

    Generate SEPA Direct Debit XML payment files (PAIN 008.001.02, 008.001.08 and 008.003.02) from payment orders, and manage SEPA Core/B2B mandates, including printing mandate forms and automatic expiry of unused mandates.

  • Payment Term ExtensionOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_term_extension

    Extends payment terms with rounding, weeks/months delays, multiple payment days, holiday postponement and sequential due dates. Users can also base a line on the untaxed amount instead of the taxed total.

  • Account Payment UNECEOdoo 12, 13, 14, 15, 16, 17, 18, 19
    account_payment_unece

    Adds a UNECE payment mean code to each payment method in Odoo, so payment methods can be mapped to the international UNECE/UNCL 4461 standard used in electronic invoicing.

  • Payroll Sheet ImporterOdoo 17, 18, 19
    account_payroll_sheet_import

    Lets accountants import an Excel payroll sheet and automatically create a draft journal entry in Odoo, using saved column-to-account mappings and matching each row to an employee by ID or passport number.

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.