Migrating from Odoo 15 to Odoo 16: which OCA modules are available
Of the 2,091 OCA modules confirmed in Odoo 15.0, 1,466 (70 %) are also confirmed in Odoo 16.0. The other 625 do not have a confirmed 16.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1,700 modules are in Odoo 16.0 without being in 15.0.
- 2,091
- in Odoo 15
- 1,466
- also in Odoo 16
- 625
- pending in Odoo 16
- 70 %
- already migrated
See also
Odoo 15 modules not yet confirmed in Odoo 16
- Code coupon program multiple timesOdoo 13, 15sale_coupon_multiple_code_program
Allows a single sales order to use more than one coupon code promotion program, instead of Odoo's default limit of one code program per order.
- Sale Coupon Multiplier Free ProductOdoo 13, 15sale_coupon_multiplier_free_product
This module lets you set up 'buy X, get Y free' promotions that repeat automatically, such as 3x2 offers, and ensures the free product lines are correctly added, updated, or removed on sales orders.
- Link coupons to order linesOdoo 13, 14, 15sale_coupon_order_line_link
Links each sale order line to the coupon or promotion program that produced it, and shows which lines generated a reward and which lines received it. Adds promotion tracking fields and filters to sales orders and the sales analysis report.
- Pending CouponsOdoo 13, 15sale_coupon_order_pending
Shows salespeople how many coupons a customer still has available and lets them apply one directly from the sales order.
- Coupons SuggestionsOdoo 13, 15sale_coupon_order_suggestion
Shows a gift icon on sales order lines when a promotion is available for the product, letting the salesperson open the promotion wizard directly from the line.
- Sale Coupon PartnerOdoo 13, 14, 15sale_coupon_partner
Lets you link a coupon or promotion program to a specific customer, and then analyse sales by that customer in the Sales Analysis report.
- sale_coupon_promotion_generate_coupon
When a promotion is set to hand out its reward coupon through a different promotion, this module makes the coupon be created in that other promotion instead, and keeps the sales counters and coupon expiry consistent.
- Coupons Selection WizardOdoo 13, 15sale_coupon_selection_wizard
Salespeople can open a wizard from a sales order to see all promotions that fit the order, preview the required products and rewards, and apply the chosen promotion in one click.
- sale_coupon_validity_notification
When a coupon linked to a sales order expires, Odoo automatically posts a note on that order and schedules a warning activity for the salesperson, so they know the coupon must be removed.
- Sale Credit PointsOdoo 15sale_credit_point
Give customers a credit point balance and block sales orders that exceed it. Points are automatically deducted when an order is confirmed and refunded when it is cancelled.
- Create event quotations from opportunitiesOdoo 13, 15, 17, 19sale_crm_event_reservation
Lets salespeople create an event quotation directly from an opportunity with one button, either by registering attendees in a scheduled event or reserving seats for an upcoming one. Also adds reserved seats to the event category reports.
- Sale Custom RoundingOdoo 15, 18sale_custom_rounding
Lets you choose a specific tax rounding method on each sale order, overriding the company default, and carries that choice through to the generated invoice.
- Product brand in sale elaboration reportOdoo 15, 18, 19sale_elaboration_brand
Adds the product brand to the sale elaboration report, so users can see which brand each elaborated product belongs to directly in the report list.
- Sale Elaboration MarginOdoo 13, 15, 18sale_elaboration_margin
Adds elaboration cost, price and margin information to sale order lines, so users can see the margin generated by the elaboration products linked to a sale line.
- Weighing assistant elaborationsOdoo 15, 18sale_elaboration_weighing
Adds elaboration information to the weighing assistant: a new quick-start button to weigh elaborated moves, an elaboration note badge on the weighing cards, and filters to show only elaborated or not elaborated moves.
- sale_expense_cost_reinvoice
When an expense product is set to be re-invoiced at cost, this module puts the full expense amount as the cost on the related sales order line, so margin calculations reflect the real expense cost.
- sale_expense_manual_reinvoice
Lets you choose, per expense product, whether expenses are re-invoiced automatically or only after a manager reviews them. A new "Expenses to Reinvoice" menu lists pending expenses so a manager can reinvoice or discard them.
- sale_financial_risk_confirm_action
Adds an 'Update and continue' button to the risk-exceeded warning so users can confirm a sale order despite the customer's credit risk, after applying the configured field changes.
- Sale Force Whole InvoiceabilityOdoo 12, 13, 15, 17sale_force_whole_invoiceability
Sales managers can force all lines of a confirmed sales order to be invoiceable, regardless of the invoice policy or delivered quantities, before any invoice has been created.
- Sale Invoice No MailOdoo 13, 14, 15sale_invoice_no_mail
Stops Odoo from automatically emailing customers when invoices are created from a sale order using the 'Create Invoice' wizard.
- Lead Time Range - SaleOdoo 15sale_lead_time_range
This module lets you set customer lead times on products and sales order lines using days, weeks, months, or years instead of only days. Odoo automatically converts your chosen unit into the standard number of days used for delivery scheduling.
- Sale Line Returned Qty MrpOdoo 13, 14, 15, 18sale_line_returned_qty_mrp
Automatically corrects the returned quantity shown on sales order lines when the product is a kit (phantom bill of materials), including dropshipped kits.
- Sale Missing TrackingOdoo 15sale_missing_tracking
Warns salespeople when a customer's order is missing a product they usually buy, and lets them record a reason, request an exception, or postpone the warning.
- sale_missing_tracking_tier_validation
Adds an approval workflow to sale missing tracking exceptions, so they must be reviewed and validated by designated people before they can be approved.
- Sale Discount InvoicingOdoo 15sale_order_discount_invoicing
Lets you post the discount on a sale line to a dedicated discount account by splitting the invoice line in two: one line at the original price and one line for the discount.
- Sale Order Line Chained MoveOdoo 13, 14, 15, 18sale_order_line_chained_move
Adds a setting on stock rules to keep one stock move per sale order line instead of merging moves of the same product, and lets you see all chained stock moves directly from a sale order line.
- Sale Order Line Not BillableOdoo 15sale_order_line_not_billable
Adds a 'Billable' checkbox on products so you can mark items that should never be invoiced. Non-billable products are automatically excluded when creating invoices from a sales order.
- sale_order_line_noteOdoo 14, 15, 17, 18, 19sale_order_line_note
Adds a free-text Note field to each sales order line, so users can record extra comments per product line directly on the quotation or sales order.
- Sale Order Partner RestrictOdoo 13, 14, 15sale_order_partner_restrict
Lets you control which customers can be picked on a sales order: all partners, only parent companies, or parents plus their contacts. The setting is configured per company in Sales settings.
- Sale Order Product Recommendation Secondary UnitOdoo 12, 13, 15, 18sale_order_product_recommendation_secondary_unit
Adds a secondary unit of measure column to the product recommendation wizard in sales orders, so users can order recommended products in a second unit (e.g. boxes) alongside the main unit.
- sale_order_report_customer_lead
Adds a Lead Time column to the printed Sale Order and Quotation PDF reports, showing each line's customer lead time in days when it is set.
- sale_order_restrict_cancel_existing_invoice
Prevents users from cancelling a sale order when a confirmed (posted) customer invoice is linked to it, showing a clear error message instead.
- sale_order_type_quotation_number
Lets you assign a specific quotation numbering sequence to each sale order type, so quotations are numbered according to the type of sale. It also adds a button on quotations to update the number when the type changes.
- Sale Order Type Whole Delivered InvoiceabilityOdoo 15, 17, 19sale_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 Whole Delivered InvoiceabilityOdoo 15, 17, 19sale_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 Payment Term SecurityOdoo 13, 15, 17sale_payment_term_security
Restricts who can change the payment terms on a sale order. Users without the payment term management permission see the Payment Terms field as read-only.
- Sale pricelist global ruleOdoo 15, 17, 19sale_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 Procurement Group by Commitment DateOdoo 12, 13, 14, 15sale_procurement_group_by_commitment_date
When a sale order line has a commitment date, confirming the order creates a separate procurement group (and therefore a separate delivery) for each different commitment date, and the planned date of the delivery follows that commitment date.
- Secondary unit in product matrixOdoo 15, 17, 19sale_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 set layoutOdoo 15sale_product_set_layout
Lets you add section titles and notes inside product sets, so when a product set is added to a sale order the sections and notes are carried over into the order lines.
- Sale Purchase Procurement Group by LineOdoo 15, 17sale_purchase_procurement_group_by_line
This hidden glue module makes the purchase order count on a sales order work correctly when both the 'MTO Sale <-> Purchase' and 'Sale Procurement Group by Line' features are installed.
- Sale Purchase Secondary UnitOdoo 15sale_purchase_secondary_unit
When a sale order is confirmed, the secondary unit of measure chosen on the sale line is carried over to the generated purchase order line, so buyers see the same secondary quantity and unit.
- Sale Report Delivered BrandOdoo 13, 14, 15, 18sale_report_delivered_brand
Adds the product brand to the Delivered Sales report, so you can see and filter delivered quantities by brand.
- Sale Report Delivered ElaborationOdoo 13, 15, 18sale_report_delivered_elaboration
Adds an elaboration cost column to the Delivered Sales report, showing the total elaboration cost per product line based on the quantity delivered and the elaboration cost set on the sale order line.
- Sale Report Delivered Partner PriorityOdoo 13, 15, 18sale_report_delivered_partner_priority
Adds the customer's priority to the Delivered Sales report, so you can see and filter delivered quantities by customer priority.
- Sale Report Delivered SemaphoreOdoo 15, 18sale_report_delivered_semaphore
Adds a colour semaphore (green, yellow, red) to the Delivered Sales report, so users can see and group sales lines by their delivery status indicator.
- Sale SemaphoreOdoo 15, 18sale_semaphore
Adds a colour semaphore (green, yellow, red) to sales order lines showing whether the negotiated price respects the discount policy set on the product or its category, and blocks non-managers from confirming or editing lines priced below the accepted limit.
- Sale Stock Delivery AddressOdoo 12, 13, 14, 15, 18, 19sale_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.
- Sales Stock Invoice PlanOdoo 15sale_stock_invoice_plan
Extends the sales invoice plan so that, when stock is installed, invoices created from a plan can be linked to the related stock pickings. It also grants read access to stock scrap records for users of this module.
- Sale Stock Last DateOdoo 12, 13, 15, 18sale_stock_last_date
Shows the date of the last completed outgoing delivery on each sale order line, and lets you filter and group sales analysis by that date.
- Sale Stock Return RequestOdoo 12, 13, 14, 15, 18sale_stock_return_request
Create return requests directly from a sales order and link customer returns to their original sales orders. Track which sales are involved in a return and jump back to them from the return request.
- Sale Stock Warehouse PartnerOdoo 15sale_stock_warehouse_partner
Lets you set a default warehouse on a contact so that new sales orders for that customer automatically use it. The delivery address warehouse takes priority over the customer's warehouse.
- Weighing assistant sales infoOdoo 15, 18sale_stock_weighing
Shows the related sales order on the weighing assistant cards and lets users search weighing operations by sales order.
- Sale Warn OptionOdoo 15, 18sale_warn_option
Lets you pick a ready-made warning message for a customer or a product on sales orders, instead of typing the text each time. The chosen option automatically fills the warning message field.
- Sales Team Invoiced Target DomainOdoo 15, 17sales_team_invoiced_target_domain
Lets you define a custom filter (domain) that controls which customer invoices and refunds are counted in the 'Invoiced' amount shown on Sales Teams.
- CRM documents permissions by teamsOdoo 14, 15, 17sales_team_security_crm
Adds record-level access rules so sales team managers only see CRM leads, activities and sales teams that belong to their own teams (or are unassigned).
- Server environment for JIRA ConnectorOdoo 13, 15server_env_connector_jira
Lets you store the JIRA connector settings (server URL, SSL verification, webhook base URL) in configuration files instead of typing them in Odoo, so each environment (dev, test, production) can have its own JIRA connection.
- server_environment_files_sample
This module is an example configuration file repository used together with the server_environment module. It adds no screens or features by itself; it only provides sample environment configuration files.
- stock_account_no_auto_reconcile
Adds a company setting to control whether Odoo automatically reconciles stock interim accounting entries when validating deliveries or posting invoices. Turning it off avoids reconciliation errors when receiving or invoicing in several partial shipments.
- Stock account moves with Operating UnitOdoo 12, 13, 15stock_account_operating_unit
When a stock move happens between two internal locations that belong to different operating units, this module automatically creates and posts a journal entry so each operating unit keeps its own accounting. It also blocks moves that would mix different…