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 AutocreateOdoo 16rma_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 CustomerOdoo 16rma_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, 18rma_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 LocationOdoo 16rma_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, 18rma_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.
- Return Merchandise Authorization Management - Link with MRP KitsOdoo 12, 13, 14, 15, 16, 18rma_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, 18rma_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, 19sale_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, 19sale_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, 19sale_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 CategoryOdoo 16, 18sale_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, 19sale_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, 19sale_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 EngineOdoo 16, 18sale_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 CategoryOdoo 16, 18sale_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 ProductOdoo 16, 18sale_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.
- Sales Commissions Agent RestrictOdoo 14, 16sale_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 MarginOdoo 16sale_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 CriteriaOdoo 14, 15, 16sale_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 DiscountOdoo 14, 16sale_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 DomainOdoo 14, 16sale_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.
- Company Currency in Sale OrdersOdoo 14, 16, 18, 19sale_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 ReversalOdoo 16, 18sale_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.
- Add dms field for saleOdoo 16sale_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 PrebookOdoo 14, 16sale_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 DiscountOdoo 16sale_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, 19sale_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 BaseOdoo 16sale_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 PaymentOdoo 16, 18sale_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 PickingOdoo 16, 18sale_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, 16sale_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, 18sale_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 SaxonOdoo 14, 15, 16sale_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, 19sale_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, 19sale_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.
- Loyalty multi product criteria in saleOdoo 16, 18sale_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 Product ExcludeOdoo 16sale_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 GiftOdoo 16, 18sale_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.
- Loyalty Order InfoOdoo 16, 18sale_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 SuggestionsOdoo 16, 18sale_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 GiftOdoo 16, 18sale_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 ProductOdoo 16, 18sale_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 PartnerOdoo 16, 18sale_loyalty_partner
Lets you assign a partner (contact/company) to a loyalty program and then group sales analysis by that partner.
- Sale Margin Delivered DropshippingOdoo 16, 18sale_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 - Sale Margin SecurityOdoo 16, 18sale_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, 18sale_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 UpdateOdoo 16sale_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, 19sale_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 CurrencyOdoo 15, 16sale_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 widgetsOdoo 16sale_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 Order Sequence by Operating UnitOdoo 13, 16sale_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, 19sale_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 OrderOdoo 16, 18sale_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.