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

  • rma_lot_autocreate

    Automatically creates a stock lot or serial number when an RMA is confirmed, using a sequence configured per RMA operation, and can set expiration and removal dates on the new lot.

  • rma_procurement_customer

    When you process a return or RMA from a customer delivery, this module automatically carries the customer over to the new stock operations created for the return, replacement or reception.

  • Rma ReasonOdoo 16, 18
    rma_reason

    Lets you define a list of return reasons and pick one on each RMA (return) order, so returns can be categorised. Each company can decide whether choosing a reason is mandatory.

  • rma_repair_follow_lot_location

    Adds a checkbox on RMA operations that decides whether repair orders created from them should keep the repair location in sync with the current location of the lot or serial number.

  • rma_repair_location

    Lets you set a default repair warehouse and repair location on each RMA operation, so repair orders created from that operation automatically use those values.

  • Rma Sale LotOdoo 16, 18
    rma_sale_lot

    When creating a return from a sales order, this module lets you pick the exact lot or serial number that was delivered, so returns are recorded against the right batch and stock stays accurate.

  • rma_sale_mrp

    Allows customers and staff to create RMAs for kit products (phantom BoMs) by returning the whole kit, while Odoo automatically generates separate RMAs for each component and handles refunds based on the kit quantity.

  • Rma Sale ReasonOdoo 16, 18
    rma_sale_reason

    Lets salespeople choose a return reason when creating an RMA from a sales order, both in the backend and in the customer portal. The reason can then filter which return operations are available.

  • Sale Automatic Workflow JobOdoo 12, 13, 14, 15, 16, 18, 19
    sale_automatic_workflow_job

    Runs the automatic sales workflow actions (confirm orders, send confirmation emails, create and validate invoices, mark orders as done) as background queue jobs instead of doing everything at once, so large volumes of orders are processed reliably.

  • Sale Automatic Workflow - Payment ModeOdoo 12, 13, 14, 15, 16, 18, 19
    sale_automatic_workflow_payment_mode

    Links payment modes to automatic sales workflows, so the right workflow is chosen automatically on sales orders. It also makes automatic invoice payment use the payment mode's type, method and journal.

  • Sale ChannelOdoo 16, 18, 19
    sale_channel

    Lets you record which sales channel (e.g. Amazon, eBay) each sales order and invoice comes from, and manage the list of channels in Odoo.

  • sale_channel_category

    Lets you link product categories to sale channels, so a whole category of products can be assigned to a channel at once. Categories inherit the channels of their parent category.

  • Sale Channel PartnerOdoo 16, 18, 19
    sale_channel_partner

    Link contacts to sale channels and store their external identifier on each channel, so you can see which customer account corresponds to which marketplace or shop.

  • Sale Channel ProductOdoo 16, 18, 19
    sale_channel_product

    Adds a sale channel field to product forms so products can be linked to one or more sale channels directly from the product template.

  • sale_channel_search_engine

    Lets you attach a search engine to a sale channel and automatically keeps the products and categories of that channel indexed in the search engine.

  • sale_channel_search_engine_category

    Links product categories to sale channels so they can be exported to a search engine. When a sale channel changes, the related product categories are re-synchronised automatically.

  • sale_channel_search_engine_demo

    Demo module that installs sample data to test exporting products and product categories to an Elasticsearch search engine through a sale channel.

  • sale_channel_search_engine_product

    Shows, on each product form, how many search-engine index entries exist for its variants (done, pending, error) and lets you open that list. Also re-syncs the index when a product is archived or unarchived.

  • sale_commission_agent_restrict

    Restricts what commission agents can see and change in Odoo: they only see their own commission lines and, optionally, only their own customers, and they cannot edit payment terms or agent assignments.

  • sale_commission_margin

    This module changes how the margin on sales order lines is calculated: agent commissions are now subtracted from the margin, so the margin and margin percentage shown on a sales order reflect the real profit after paying commissions.

  • sale_commission_product_criteria

    Adds a new 'Product criteria' commission type where you define commission rules per product, product variant, product category or all products, each with a fixed amount or a percentage.

  • sale_commission_product_criteria_country

    Lets you set commission rules that depend on the customer's country, so the same product can earn a different commission for customers in different countries.

  • sale_commission_product_criteria_discount

    Lets you set sales agent commission rules that depend on the discount given on a sale order line, so agents earn more when they discount less and less when they discount more.

  • sale_commission_product_criteria_domain

    Lets you restrict which commission rules apply to each agent per customer, so the same agent can earn different commissions depending on the customer and product.

  • sale_commission_product_criteria_fiscal_position_type

    Lets you set commission rules that only apply to customers of a certain fiscal position type, so salespeople earn different commissions depending on the customer's tax treatment.

  • sale_company_currency

    Adds a "Total (Company Currency)" column to sale order and quotation lists, and shows the same total on the sale order form, so orders in different currencies can be summed in your company's currency.

  • sale_credit_note_reversal

    Adds a "Revert Credit Note" button on posted customer credit notes so the reversal is created as a customer invoice linked to the sales order.

  • sale_dms_field

    Adds a Documents tab to sales orders so users can attach and manage files directly from the order form using the OCA Document Management System.

  • sale_exception_stock_prebook

    Prevents the automatic release of stock reservations when a sales order has exceptions, so orders with problems keep their reserved stock until the issues are resolved.

  • sale_fixed_triple_discount

    This module adds a warning on sales orders when a line uses both a fixed discount and a percentage discount, and ensures the fixed discount takes priority in the calculation.

  • Sales Fully InvoicedOdoo 15, 16, 19
    sale_fully_invoiced

    Adds a "Posted Invoice Status" field on sales orders that reflects whether the related invoices are actually posted, plus two ready-made filters in the Sales search view to find orders that are fully invoiced and validated, or fully invoiced but not yet…

  • sale_import_base

    This module provides the base to import sale orders into Odoo from JSON data coming from external sales channels. Users can review each import in a 'Sale Import' screen, retry failed imports, and configure how orders, customers and payments are created per…

  • sale_invoice_date_from_picking

    Lets you choose a date field on transfers so that invoices created from sales orders automatically use that date (or the completion date of the last done transfer) as the invoice date.

  • sale_invoice_split_payment

    When invoicing several sales orders at once, Odoo now creates separate invoices for orders that have different payment terms, instead of merging them into one.

  • sale_invoicing_date_from_picking

    When you create invoices from selected stock pickings in the sales invoice wizard, the invoice date you chose in the wizard is applied to the generated invoices.

  • Sale Isolated QuotationOdoo 12, 13, 14, 15, 16
    sale_isolated_quotation

    Separates quotations and sales orders into two distinct documents with their own numbering. Quotations stay simple (Draft/Done) and a 'Convert to Order' button creates the real sales order.

  • Sale Line Refund To Invoice QtyOdoo 13, 14, 15, 16, 18
    sale_line_refund_to_invoice_qty

    This module lets you decide whether quantities refunded in a credit note should be considered as quantities to reinvoice on the related sales order. It adds a flag on credit notes and a company setting to control the default behaviour.

  • sale_line_refund_to_invoice_qty_skip_anglo_saxon

    When you refund a customer invoice, this module automatically locks or unlocks the 'sale qty to reinvoice' field depending on the refund reason you pick, so the two related modules work together without conflicting.

  • Sale Line Returned QtyOdoo 13, 14, 15, 16, 18, 19
    sale_line_returned_qty

    Shows, on each sales order line, how many units have been returned by the customer. The returned quantity is calculated automatically from validated return deliveries and appears once the order is confirmed or completed.

  • Auto Refresh CouponsOdoo 16, 18, 19
    sale_loyalty_auto_refresh

    Automatically applies and refreshes loyalty and promotion rewards on sales orders whenever the order changes, without the user having to click anything. A company-wide setting turns this behaviour on or off.

  • sale_loyalty_criteria_multi_product

    Lets you use multi-product promotion criteria on sales orders, so a promotion only applies when all the required products are actually in the order.

  • sale_loyalty_exclude

    Mark products as excluded from loyalty programs so they do not count towards the minimum amount needed to earn rewards. Excluded products are also hidden from loyalty rule and reward product selections.

  • sale_loyalty_initial_date_validity

    When a sales order is created or edited, Odoo only offers promotions and loyalty programs whose start date has already arrived, so future-dated promotions cannot be applied by mistake.

  • sale_loyalty_multi_gift

    Lets you offer several different free gift products in a single sales promotion, and lets the salesperson choose which gift to give for each gift line when applying the reward on a sale order.

  • sale_loyalty_order_info

    Adds reporting fields to sale orders showing the total reward amount including taxes, the promo codes used, the coupons generated, and the loyalty programs applied.

  • sale_loyalty_order_suggestion

    Shows a gift icon on sales order lines when the product can trigger an available promotion, and opens the promotion wizard to add the missing quantities needed to claim the reward.

  • sale_loyalty_order_suggestion_multi_gift

    Extends the sale order promotion suggestions to also show multi-gift promotions that require a minimum quantity of products, and adjusts order lines when a multi-gift reward is applied.

  • sale_loyalty_order_suggestion_multi_product

    This module makes Odoo suggest promotions whose rules require multiple products directly on the sale order. It also adds a wizard that shows which products and quantities are needed to qualify for the promotion.

  • sale_loyalty_partner

    Lets you assign a partner (contact/company) to a loyalty program and then group sales analysis by that partner.

  • sale_margin_delivered_dropshipping

    Extends the delivered margin calculation on sale order lines so that dropshipped products are included. It is installed automatically when both the delivered margin and dropshipping features are present.

  • sale_margin_delivered_security

    This module automatically restricts the delivered margin fields on sales order lines to users who belong to the product cost security group, so only authorised staff can see purchase price and delivered margin information.

  • Sale margin syncOdoo 12, 13, 14, 15, 16, 18
    sale_margin_sync

    Keeps the cost used for sale margin up to date: when the cost recorded on a stock valuation entry changes, the linked sales order line's cost is updated automatically so margins stay correct.

  • sale_margin_update

    Adds a refresh button on sale orders and order lines that opens a small wizard where you enter a margin percentage and Odoo recalculates the unit price of the products accordingly.

  • Sale MRP BOMOdoo 12, 14, 15, 16, 18, 19
    sale_mrp_bom

    Lets users pick a specific Bill of Materials (BoM) on each sale order line, so the right manufacturing or kit recipe is used for that order. It is useful when a product has several alternative BoMs.

  • sale_multicompany_reporting_currency

    Shows each sales order and quotation total converted into your company's multicompany reporting currency, so you can compare the order currency amount with a single group-wide currency.

  • sale_numeric_step

    Adds (-) and (+) buttons to quantity, packaging quantity and unit price fields on sales orders, making it easier to adjust values on mobile and tablet devices.

  • sale_operating_unit_sequence

    Assign a dedicated sale order numbering sequence to each operating unit, so new sale orders are numbered per operating unit instead of using one shared sequence.

  • Sale Order Amount to InvoiceOdoo 14, 15, 16, 18, 19
    sale_order_amount_to_invoice

    Adds an "Amount To Invoice" figure to quotations and sales orders, showing the untaxed total still waiting to be invoiced. It appears on the order form and as an optional column in the quotation and order lists.

  • sale_order_blanket_order

    Adds blanket (framework) sales orders with a validity period and call-off orders that draw quantities from them, controlling stock reservation, pricing and what happens when the blanket order expires.

  • sale_order_blanket_order_sale_margin

    This module automatically sets the margin and margin percentage to zero on call-off order lines, so that the financial impact is only counted on the original blanket order.

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.