OdooWiki OCA HUB

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

Of the 1,532 OCA modules confirmed in Odoo 19.0, 75 (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,532
in Odoo 19
75
also in Odoo 20
1,457
pending in Odoo 20
5 %
already migrated

See also

Odoo 19 modules not yet confirmed in Odoo 20

  • sale_order_requested_delivery

    Adds requested delivery start and end dates to sales orders and their lines, so you can record when the customer wants the goods delivered and Odoo warns you if the period is impossible.

  • Sale order revisionsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_order_revision

    Keep track of revised quotations: create a new revision of a cancelled or sent quotation, browse previous revisions from the order form, and jump back to the current one.

  • Sale Order Secondary UnitOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_order_secondary_unit

    Sell products in a second unit of measure on sale orders. Set a default secondary unit per product, enter quantities in that unit, and see it on quotations and sales orders.

  • sale_order_show_full_address

    On sales orders, the Invoice Address and Delivery Address fields now display the full address instead of just the contact name, matching how the customer address is already shown.

  • sale_order_split_strategy

    Define split strategies that let you move selected lines of a draft sales order into a new sales order, based on a saved line filter. Choose how split errors are reported at company level.

  • Sale Order TagsOdoo 12, 13, 14, 16, 18, 19
    sale_order_tag

    Adds a new tagging system to Sales Orders, separate from CRM opportunity tags. Users can create tags, assign them to sales orders, and filter orders by tag.

  • sale_order_type_whole_delivered_invoiceability

    Adds a checkbox on sale order types that forces sales orders of that type to be fully delivered before they can be invoiced.

  • sale_order_update_timesheet_price

    Adds a button on invoiced timesheet-based sale order lines to change the unit price by creating a new line and moving the related projects, tasks, milestones and employee mappings to it.

  • sale_order_warehouse_header

    Shows the warehouse field directly in the header of the sales order form, making it easier to see and change, and adds warehouse filtering and grouping to the sales order search view.

  • sale_order_whole_delivered_invoiceability

    Adds a customer setting that blocks invoicing a sale order until every delivered-policy product on it has been fully delivered. The setting is copied onto new sale orders and can be overridden per order.

  • sale_partner_address_restrict

    Adds a company setting that limits the invoice and delivery addresses selectable on a sales order to contacts belonging to the chosen customer, and adds a 'Dropship Address' flag on delivery contacts.

  • Sale Partner Company GroupOdoo 15, 16, 17, 18, 19
    sale_partner_company_group

    Adds a company group field to sale orders, taken automatically from the customer, so you can see and group sales orders by company group. It also warns you when a contact's pricelist differs from its company group's pricelist.

  • sale_partner_delay

    Adds a customer-specific delivery lead time on contacts, which is automatically added to the product's delivery lead time on sale order lines.

  • Default sales incoterm per partnerOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_partner_incoterm

    Lets you save a preferred incoterm (and incoterm address) on each customer, so new quotations automatically pick it up instead of being filled in by hand.

  • sale_partner_primeship

    Sell time-limited "primeship" memberships to customers: confirming a sale order with a primeship product automatically creates a membership period for the customer, and Odoo tracks when it is active or expired.

  • sale_partner_sale_contact

    Adds a 'Sale Contact' field to quotations, sale orders and invoices so you can name the person who handles the deal while the company stays the customer. The contact can also be shown on the PDF reports and gives that person portal access to the documents.

  • sale_partner_sale_contact_on_project

    When a sale order creates a project through a service product, the sale contact person recorded on the order is automatically copied onto the new project, and that contact is shown on the project form.

  • sale_partner_sale_contact_website_sale

    When a contact person of a company confirms a website order, the order is automatically reassigned to the company, while the person who ordered is kept as the sale contact and the chosen addresses, fiscal position and payment terms are preserved.

  • Sale Partner Selectable OptionOdoo 13, 15, 16, 17, 18, 19
    sale_partner_selectable_option

    Adds a "Selectable in sale orders" checkbox on contacts so you can control which customers appear when choosing a partner on a sales order.

  • sale_portal_debranding

    Removes Odoo branding from the "Connect your software" pop-up on the customer sale portal page, replacing the Odoo-specific wording with neutral text and dropping the "Get your Odoo" block.

  • sale_pricelist_display_surcharge

    Lets you always show a price surcharge (negative discount) to customers on sales orders, instead of hiding it as standard Odoo does. You enable it per pricelist rule with a new checkbox.

  • sale_pricelist_global_rule

    Lets you create pricelist rules that apply based on the total quantity of a product or product category across all lines of a sales order, not just per line. A button on the sales order recalculates prices and discounts using these global rules.

  • sale_product_matrix_secondary_unit

    Lets you choose a secondary unit of measure directly inside the product matrix configurator when adding products to a sales order, so grid quantities are entered and stored in that secondary unit.

  • Sale Product Multi AddOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_product_multi_add

    Adds an "Add multiple products" button on draft or sent quotations so salespeople can pick several products at once, set a quantity for each, and create all the order lines in one go.

  • Sale Product PackOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_product_pack

    Sell product packs on sales orders: when you add a pack product, its components are automatically added as separate lines, with prices and discounts handled according to the pack configuration.

  • Sales product setOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_product_set

    Lets sales users insert a predefined product set (list of products and quantities) into a quotation through a wizard, creating separate order lines. Adds a discount per set line and an option to sync product set archiving with the partner.

  • sale_project_copy_tasks

    Adds a new service tracking option on products that copies the tasks of a project template into the project of a sales order. When a sales order is confirmed, the project is created (if needed) and the template tasks are duplicated into it.

  • sale_project_task_recurrency

    Lets you set up recurring tasks directly on a product form, so that when the product is sold, the generated project task repeats automatically according to the interval, unit and end rule you chose.

  • Sale Purchase Force VendorOdoo 14, 15, 16, 17, 18, 19
    sale_purchase_force_vendor

    Lets you pick a specific vendor on each sale order line when the product is bought through a route, so the generated purchase order goes to that vendor. A company setting can restrict the choice to vendors already linked to the product.

  • sale_purchase_stock_auto_confirm

    Adds a company setting that automatically confirms purchase orders created from sales orders when using MTO or Dropship rules, so users no longer have to validate those purchase orders manually.

  • sale_quotation_builder

    Design rich quotation templates with website building blocks, and let Odoo automatically fill quotations with the matching product descriptions and template content.

  • Sale Quotation NumerationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_quotation_number

    Lets you give quotations their own numbering (starting with SQ) instead of sharing the sales order sequence. When a quotation is confirmed, it keeps its quotation number in the Origin field and receives a new sales order number.

  • Sale Report MarginOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_report_margin

    Adds a purchase price (cost) column to the Sales analysis report, so users can see the cost of the products sold alongside sales figures.

  • Sale Report SalesmanOdoo 15, 16, 17, 18, 19
    sale_report_salesman

    Gives salespeople access to the Sales Reporting menu, so users in the Salesperson group can open sales reports without needing extra permissions.

  • sale_require_po_doc

    Lets you flag customers who must provide a purchase order or sales documentation before their sale orders can be confirmed, and blocks confirmation when those requirements are missing.

  • Sell resource bookingsOdoo 12, 13, 15, 16, 17, 18, 19
    sale_resource_booking

    Link products and sales orders to resource bookings. Selling a product that has a booking type automatically creates pending bookings, and a booking can only be confirmed once its sale order is confirmed.

  • Sale shipping info helperOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_shipping_info_helper

    Adds six read-only amount fields on sale orders that split the order total into shipping and item amounts, so shipping costs can be shown separately in reports or e-commerce.

  • Sale Start End DatesOdoo 12, 14, 15, 16, 17, 18, 19
    sale_start_end_dates

    Adds Start Date, End Date and Number of Days on sale order lines, with default dates on the sale order. These dates are required for products flagged as needing dates and are copied to invoice lines.

  • Sale Stock Available Info PopupOdoo 12, 13, 15, 16, 17, 19
    sale_stock_available_info_popup

    Adds an 'Available to promise' quantity to the stock information popover shown on sale order lines, so salespeople see how much of a product can actually be promised for the line's scheduled date.

  • Sale Stock Delivery AddressOdoo 12, 13, 14, 15, 18, 19
    sale_stock_delivery_address

    Set a different delivery address on each sales order line, so one order can ship to several addresses. The system then splits the deliveries and uses the stock location linked to each address.

  • Sale Stock Delivery StateOdoo 16, 17, 18, 19
    sale_stock_delivery_state

    This glue module changes how the delivery status of a sales order is calculated when stock is installed, and hides the delivery status field from the sales order form and list views.

  • sale_stock_partner_delivery_window

    Sales orders now respect the customer's delivery schedule preference: expected delivery dates are automatically moved to the next valid slot, and a warning appears if the requested date does not fit.

  • sale_stock_partner_warehouse

    Lets you set a preferred warehouse on a customer or contact, and automatically proposes that warehouse on new draft sales orders for that customer.

  • sale_stock_picking_backorder_policy

    Adds a Backorder Policy field on customers and sales orders, so the chosen policy is automatically carried over to the delivery orders created from a sale.

  • Sale Stock Picking BlockingOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_picking_blocking

    Lets you block the creation of deliveries for a sales order and record the reason, so no stock is reserved or moved until someone releases the block.

  • sale_stock_picking_invoice_link

    Links deliveries (stock pickings) to the invoices created from sales orders, so you can see which delivery each invoice line relates to. It works automatically once installed.

  • Sale Stock Picking NoteOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_picking_note

    Adds two note fields to customers, sales orders and delivery orders: an internal picking note and a customer comment that is printed on the delivery slip.

  • sale_stock_picking_reservation_policy

    Lets you set a stock reservation policy on customers and sales orders, so deliveries reserve stock either directly or only when the full line quantity is available.

  • Sale Stock Product PackOdoo 13, 16, 17, 18, 19
    sale_stock_product_pack

    Makes product packs that are storable products work correctly in sales and stock, so the delivered quantity of a pack is calculated from its components and can be invoiced properly.

  • sale_stock_reference_by_line

    Adds a stock reference field on each sale order line so that stock moves generated from a sale order can be grouped per line instead of per order. On its own it changes little; it is a base for other modules.

  • Sale Stock Secondary UnitOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_secondary_unit

    When a sale order is confirmed, the secondary unit and quantity chosen on the sale order line are copied onto the related stock moves, so warehouse documents show the same secondary unit information as the sale.

  • Sale Sub StateOdoo 12, 14, 15, 16, 17, 18, 19
    sale_substate

    Adds a secondary status (substate) to quotations and sales orders, so you can track finer steps like "Waiting for legal documents" or "In delivering" on top of the standard Quotation/Sale status.

  • Sale Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_tier_validation

    Adds an approval workflow to sales orders and quotations: orders can require one or more validation tiers before they can be confirmed, and printing can be blocked until approval.

  • sale_timesheet_invoice_link

    Link timesheet lines to customer invoices directly from the invoice or the timesheet list, and get a warning on invoices when related timesheets are still not invoiced.

  • sale_timesheet_line_exclude

    Adds a "Non-billable" checkbox on timesheet entries so you can keep a specific timesheet line out of the linked Sale Order, useful for By Task billing.

  • sale_timesheet_timeline

    Plan start and end dates plus assignees on service lines of a sales order, then carry that planning over to the task created when the order is confirmed. A timeline view and the customer portal show the planning.

  • Sale Transaction Form LinkOdoo 14, 16, 18, 19
    sale_transaction_form_link

    Adds a smart button on the Sale Order form showing how many payment transactions are linked to the order, and lets you open them directly from there.

  • Sale Validity Auto-CancelOdoo 13, 14, 15, 16, 17, 18, 19
    sale_validity_auto_cancel

    Automatically cancels expired quotations after a configurable grace period. You set the number of days in Sales settings and can exclude specific customers from auto-cancellation.

  • Sale - Product variantsOdoo 13, 16, 17, 18, 19
    sale_variant_configurator

    This module lets you add products to a sales order by choosing a product template and its attributes, and the actual product variant is created automatically when the order is confirmed or when a line is added to a confirmed order.

  • Sale WishlistOdoo 12, 13, 14, 15, 16, 18, 19
    sale_wishlist

    Adds a "Wishlist" type to product sets, so you can save lists of products for a customer and see how many wishlists each contact has.

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.