OdooWiki OCA HUB

Migrating from Odoo 17 to Odoo 18: which OCA modules are available

Of the 1,994 OCA modules confirmed in Odoo 17.0, 1,579 (79 %) are also confirmed in Odoo 18.0. The other 415 do not have a confirmed 18.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1,531 modules are in Odoo 18.0 without being in 17.0.

1,994
in Odoo 17
1,579
also in Odoo 18
415
pending in Odoo 18
79 %
already migrated

See also

Odoo 17 modules not yet confirmed in Odoo 18

  • procurement_purchase_requisition_generation

    Lets you choose, per product, whether replenishment creates a draft purchase order or a call for tenders (blanket order). When set to tenders, Odoo automatically groups the need into a draft purchase requisition instead of an RFQ.

  • procurement_purchase_requisition_generation_dropshipping

    Links purchase agreements (requisitions) to dropshipping: purchase orders generated from a requisition keep the sale order link, use the requisition's operation type and deliver to the customer's shipping address.

  • product_attribute_auto_add

    Automatically adds new product attribute values to all product templates that already use that attribute, saving manual work. You can switch this off per attribute or exclude individual products.

  • product_attribute_company_favorite

    Mark product attributes and attribute values as favorites per company, so only favorite ones appear in the attribute dropdown on product templates.

  • product_average_price_invoice

    Shows two average prices on each product — an average purchase price from vendor bills and an average sale price from customer invoices — with a button to recompute them and a link to see the invoices behind the figure.

  • Product Category Code UniqueOdoo 14, 15, 16, 17
    product_category_code_unique

    Makes the code field on product categories unique and automatically fills it with a generated sequence number when left empty, so every category always has a distinct code.

  • Product Category DescriptionOdoo 13, 14, 16, 17
    product_category_description

    Adds a free-text description field to product categories, so users can record extra notes or details about each category directly in Odoo.

  • product_document_domain

    Makes the Documents smart button on products show the documents of the product template as well as the variant, and adds new search filters to the product documents list.

  • product_logistics_uom_total_weight

    Shows the total weight of the stock on hand for each product, calculated from its quantity and unit weight, in product list and kanban views.

  • product_multi_code

    Lets you store several internal references (codes) for the same product, instead of only one. The first code in the list is shown as the product's main Internal Reference.

  • product_pricelist_operating_unit

    Adds an Operating Unit to product pricelists, suggests the user's default unit when creating one, and limits which pricelists each user can see based on their allowed operating units.

  • product_restrict_payment_acquirer

    Restrict which online payment providers customers can use at checkout based on the products in their sales order. You set allowed providers per product and choose whether the first product or all products decide the list.

  • product_supplierinfo_code

    Shows the product code used by the main supplier directly on the product, so buyers can see and search it without opening the supplier list.

  • Product Supplierinfo for CustomersOdoo 12, 13, 14, 15, 16, 17
    product_supplierinfo_for_customer

    Lets you store customer-specific product names, codes and prices directly on the product form, and use those customer prices in pricelists.

  • Product Supplierinfo for Customer SaleOdoo 12, 13, 14, 15, 16, 17
    product_supplierinfo_for_customer_sale

    Shows the customer-specific product code on every sale order line and uses it in the line description, and proposes the minimum quantity defined for that customer when a product is selected.

  • product_uom_measure_type

    Adds a "Type of Measure" field to Units of Measure categories and units, and shows the resulting type on products. It is a technical module that prepares data for other modules rather than adding a screen of its own.

  • project_analytic_code

    Lets you see and search projects by their analytic account code. The code is shown in front of the project name and can be used as a filter or grouping in project lists.

  • Project RiskOdoo 12, 13, 16, 17
    project_risk

    Track and manage project risks in Odoo using the MOR method: record each risk with probability, impact, an automatic rating, a status, an owner and planned responses, and see a risk counter on the project.

  • project_timesheet_billable_per_line

    Mark individual timesheet lines as billable and turn them into sales orders in one click, grouped by analytic account, customer and employee.

  • purchase_advance_payment_line

    Add advance payment lines directly on purchase orders and send them through payment orders. Users can create a payment line from the purchase order, see ongoing payment lines, and the amount is checked against the order residual.

  • purchase_billing_address

    Lets you choose a specific invoice address on a purchase order, separate from the vendor address, and uses it when the vendor bill is created.

  • purchase_mass_mail

    Adds a "Send email to selected purchases" action on purchase orders so you can email many requests for quotation or purchase orders at once using the standard purchase template.

  • Purchase MergeOdoo 15, 16, 17
    purchase_merge

    Lets purchasing users combine several draft purchase orders from the same supplier into one, moving all lines to a chosen destination order and cancelling the emptied ones.

  • purchase_mrp_distribution

    Lets you buy one product that is later split into several different components, deciding the exact quantities of each component directly on the stock transfer. A new "Distribution" bill of materials type and a distribute button on transfers make this possible.

  • Purchase Order Line Deep SortOdoo 12, 13, 14, 15, 16, 17, 19
    purchase_order_line_deep_sort

    Automatically sorts the product lines of a purchase order by a chosen criterion (name, product, reference, planned date, price or quantity), either ascending or descending. A default sort can be set for the whole company, and each order can override it.

  • purchase_order_line_import_sheet_file

    Adds an "Import Lines" button to requests for quotation so users can upload a spreadsheet and create one purchase order line per row, instead of typing lines manually.

  • purchase_order_report_grouped_by_vendor

    Adds a printable PDF report that groups the selected purchase orders by vendor, showing each vendor's orders and lines with a total per vendor.

  • Purchase Order Weight and VolumeOdoo 14, 15, 16, 17, 19
    purchase_order_weight_volume

    Shows the weight and volume of each purchase order line and the total weight and volume of the whole order, both on screen and on the printed quotation and purchase order.

  • purchase_reception_threshold

    Lets you set an allowed quantity difference (a percentage) for purchase receipts, so that when the received quantity is close enough to the ordered quantity, Odoo skips the backorder and closes the receipt automatically.

  • purchase_reorder_control

    Prevents reordering rules from being created or kept for products marked as not purchaseable, and automatically archives existing rules when a product is set to 'not purchaseable'.

  • purchase_report_hide_line

    Lets you hide selected purchase order lines from the printed Purchase Order report, either manually per line or automatically based on a company-wide default rule.

  • purchase_report_payment_term

    Adds the payment term note to the printed Purchase Order and Request for Quotation PDFs, right after the order notes.

  • Purchase Request AnalyticOdoo 12, 13, 14, 15, 17
    purchase_request_analytic

    Adds an analytic distribution field to purchase requests, used as the default for new request lines and copied to all lines when set.

  • purchase_requisition_multiple_vendor

    Lets you pick several vendors at once in the 'Create Alternative' wizard of a purchase requisition, so Odoo creates one alternative purchase order per vendor in a single step.

  • purchase_requisition_order_remaining_qty

    Adds a new agreement type option that lets purchase agreements (requisitions) automatically use only the remaining quantity when creating requests for quotation, avoiding ordering more than agreed.

  • purchase_start_end_dates

    Adds Start Date, End Date and Number of Days on purchase order lines for products that require dates, and copies them to the vendor bill lines. Purchase orders can also define default start and end dates for new lines.

  • purchase_transport_mode

    Define transport modes with rules that purchase orders must satisfy, assign a default transport mode to vendors, and see warnings on purchase orders when the rules are not met.

  • purchase_v12_control_menu

    Adds a Control menu under Purchase with two shortcuts: a list of incoming products you are waiting to receive, and a list of vendor bills. It restores the handy purchase control accesses that existed in Odoo v12.

  • Purchase - Product variantsOdoo 13, 16, 17, 19
    purchase_variant_configurator

    Lets you configure product variants directly on purchase order lines and automatically creates the missing variant when the order is confirmed.

  • quality_control_oca_timesheet

    Adds a Timesheets tab to quality control inspections so users can log time spent on each inspection and see the total hours, both on the inspection form and in the inspection list.

  • Rental BaseOdoo 12, 14, 16, 17
    rental_base

    Adds a dedicated Rentals area to Odoo where you can create rental quotations and orders, flag products as rentable, and update rental periods on confirmed orders.

  • Repair PickingOdoo 14, 17
    repair_picking

    Configure how repairs are handled in each warehouse: one step, two steps (pick components then repair) or three steps (also store removed components), with automatic internal transfers for adding and recycling components.

  • repair_quotation_manual_sync

    Repair orders no longer update their quotation automatically: each part carries an Invoiceable flag, and a banner on the quotation offers a Synchronize Lines button to push the changes when you decide.

  • repair_restrict_lot

    Adds a Lot/Serial Number field to the parts lines of a repair order, so users can specify which lot or serial number must be consumed for each component.

  • repair_stock_move_menu

    Adds a 'Repair Stock Moves' menu under Inventory reporting that lists all stock moves linked to repair orders, with filters to separate consumed parts from repaired products.

  • repair_substate

    Adds a secondary status (substate) to repair orders, so you can track finer progress inside each repair stage and filter or group repair orders by it.

  • Report AsyncOdoo 12, 13, 14, 15, 16, 17, 19
    report_async

    Adds a Report Center where users can run reports immediately or in the background, saving the generated files for later download and optionally emailing a link when the report is ready.

  • report_printed_flag

    Lets administrators choose which PDF reports mark records as printed, and keeps an audit log of who printed which report on which document. Models that use the provided mixin gain a printed flag, a list of printed report names and a button to view their…

  • res_partner_product_pricelist_operating_unit

    Keeps a customer's assigned pricelist consistent with the Operating Units the customer belongs to, blocking pricelists from unauthorized units and filtering the choices shown on the partner form.

  • Sales commissionsOdoo 12, 13, 14, 15, 16, 17
    sale_commission

    Adds sales commissions to sales orders: each order line can have agents with a commission, the total commission is shown on the order, and the agents are carried over to the invoice.

  • sale_commission_pricelist

    Lets you assign a sales commission to each pricelist rule, so the commission paid to sales agents is automatically taken from the pricelist rule that applies to the sale order line.

  • sale_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_exception_holidays_public

    Adds an optional sales exception that warns or blocks a sales order when its delivery/commitment date falls on a public holiday for the shipping address.

  • sale_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_order_line_multi_warehouse

    Split a sale order line across several warehouses so the delivery is created as separate pickings per warehouse. A company setting enables the feature, and each line shows how much quantity is assigned to each warehouse.

  • sale_order_partner_no_autofollow

    Adds a setting in Odoo Sales settings to stop the customer from being added automatically as a follower on sales orders. When enabled, customers no longer receive notifications about the order's messages.

  • 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_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_operating_unit

    Automatically fills the Operating Unit on a sales order from the customer's Operating Unit when the customer belongs to exactly one Operating Unit and no sales team is set.

  • sale_partner_pricelist

    Lets you define which pricelists a customer is allowed to use, and restricts the pricelist choice on their sales orders to that list. The feature is switched on per company in Sales settings.

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.