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
- MRP Components OperationsOdoo 14, 17mrp_component_operation
Lets you handle the raw components of a manufacturing order directly: replace a component by picking it from a route, move it to another location, or scrap it, all from a button on the manufacturing order.
- MRP Component Operation Scrap ReasonOdoo 14, 17mrp_component_operation_scrap_reason
When scrapping components during a manufacturing operation, users must now choose a scrap reason code. The list of reasons offered is filtered by the product's category.
- MRP Planned Order MatrixOdoo 12, 13, 14, 15, 16, 17mrp_planned_order_matrix
Create fixed planned orders for several products at once using a grid (matrix) view, filling quantities per period and validating them into real planned orders.
- MRP Product Lot SequenceOdoo 17mrp_product_lot_sequence
When manufacturing a product that uses a product-specific lot sequence, Odoo now generates the lot or serial number from that sequence instead of the standard numbering.
- MRP Production Generator By Date IntervalOdoo 15, 17, 19mrp_production_generator_by_date_interval
Create many manufacturing orders at once for a chosen date range, all scheduled at the same time of day, from a single wizard.
- Production - Manual Quant AssignmentOdoo 12, 14, 15, 16, 17mrp_production_quant_manual_assign
Lets you pick exactly which stock lots or packages are consumed for a manufacturing order's components, and mark them as consumed now.
- MRP Production Serial MatrixOdoo 14, 15, 16, 17mrp_production_serial_matrix
Lets you assign the exact component serial numbers and lots consumed for each finished serial number of a manufacturing order, in a grid, and then validate the MO automatically.
- mrp_production_serial_matrix_import_xlsx
Lets you download an Excel template of the serial/lot matrix of a manufacturing order, fill it in outside Odoo, and upload it back to fill the whole matrix automatically.
- mrp_production_serial_matrix_queue_job
Validating a Serial Matrix on a manufacturing order is sent to the background job queue instead of being processed immediately, so Odoo stays responsive while serial numbers are processed.
- mrp_production_serial_matrix_subcontracting
Adds a Serial Numbers Matrix button on subcontracting receipt transfers so users can fill in component serial/lot numbers directly, and posts a completion or error message on the receipt.
- Mrp subcontracting bom dual useOdoo 14, 16, 17mrp_subcontracting_bom_dual_use
Lets you reuse a subcontracting bill of materials for your own regular manufacturing orders by ticking a new option on the BoM.
- Mute Notification User AutosubscribeOdoo 17, 19mute_notification_user_autosubscribe
Lets administrators define, per model, which users or groups should not receive chatter notifications when they are automatically subscribed through the user_id field. Muted users are subscribed with a special 'Mute' subtype instead of the normal…
- Partner Company GroupOdoo 12, 13, 14, 15, 16, 17, 19partner_company_group
This module is a glue/aggregation module that brings together the company group features already provided by its dependencies, so the company group field and its search filters are available in contacts, opportunities, sales orders and invoices.
- Partner contact sale info propagationOdoo 12, 13, 15, 16, 17, 19partner_contact_sale_info_propagation
When a company's Salesperson is changed, this module automatically updates the same Salesperson on its contacts that have no Salesperson or still have the company's previous one.
- Partner Data VIES PopulatorOdoo 13, 14, 15, 17partner_data_vies_populator
When you type a European VAT number on a company partner, this module automatically fills in the company name, street, city, zip and country using the official VIES webservice.
- Partner Display Name Line BreakOdoo 16, 17partner_display_name_line_break
This module makes partner names appear on two separate lines in printed reports, splitting the company name from the contact name. It only affects report output, not the names shown on screen.
- Partner last name uppercaseOdoo 16, 17partner_lastname_uppercase
Adds an option to automatically write the last names of individual contacts in capital letters. It also provides a one-time action to uppercase all existing last names.
- Partner Restrict Payment AcquirerOdoo 13, 14, 15, 17partner_restrict_payment_acquirer
Restrict which online payment providers a specific customer can use. On the customer form you pick the allowed providers, and only those appear for that customer during online payment.
- Partner Salesperson PropagateOdoo 16, 17partner_salesperson_propagate
When you change the salesperson on a company contact, Odoo automatically applies the same salesperson to all its child contacts.
- Partner SocialmediaOdoo 12, 17partner_socialmedia
Adds a Social Media tab to contact forms so you can store a contact's profile links for Facebook, Twitter, LinkedIn, Instagram, TikTok and more.
- partner_stage_only_confirmed
When this module is installed, partner fields on forms only show confirmed partners by default. You can turn this filtering off per screen or globally with a system setting.
- Partner UTM SourceOdoo 17, 19partner_utm_source
Adds a UTM Source field to contacts so you can record where each contact came from and group contacts by that source.
- PDF HelperOdoo 14, 15, 16, 17pdf_helper
This technical module provides reusable helpers to read XML files embedded inside PDFs and to attach XML files to PDFs. It adds no menus or screens; other modules use it to exchange electronic documents.
- Portal Invitation by WebsiteOdoo 17, 19portal_invitation_by_website
When inviting contacts as portal users, you can pick a website for the invitation. The signup email then uses that website's name and domain instead of the company's.
- Portal Sale Confirm Require LoginOdoo 17, 19portal_sale_confirm_require_login
Adds an option to force customers to log in before opening a quotation or sale order from a portal link, and blocks signing, accepting or paying until their contact details (phone, VAT, address, country) are complete.
- POS cash in-out reasonOdoo 12, 14, 15, 16, 17pos_cash_move_reason
Lets you record cash put into or taken out of a Point of Sale session with a predefined reason, and automatically posts the matching accounting entry to the right income or expense account.
- pos_category_vertical_display
Shows the Point of Sale product categories in a vertical, scrollable strip instead of the default horizontal layout, making it easier to browse categories on the POS screen.
- POS Config PhoneOdoo 17pos_config_phone
Lets you set a specific phone number for each Point of Sale, which is printed on the receipt instead of the company's default phone number.
- POS Customer Age WarningOdoo 17pos_customer_age_warning
In the Point of Sale, when a customer is selected, their age is calculated from their birth date and compared to an age limit set in the POS settings. If the customer is at or below that age, their name is shown in red and an alert pops up.
- POS Customer Display MonitorOdoo 17pos_customer_display_monitor
Lets Point of Sale users choose which monitor shows the customer display, and remembers that choice per Point of Sale so the display reopens on the same screen.
- pos_customer_history_color
In the Point of Sale, products a selected customer has already bought in the past are shown in purple, both in the product list and on the order lines, so cashiers can spot repeat purchases at a glance.
- PoS Hide Cost and MarginOdoo 15, 17pos_hide_cost_price_and_margin
This module adds settings to the Point of Sale that let you hide product cost and margin information from everyone, including managers, in the product info popup.
- POS Lot SelectionOdoo 15, 16, 17pos_lot_selection
In the Point of Sale, when a cashier sells a tracked product and must enter a lot or serial number, Odoo now suggests the existing lots that still have stock, so the right number can be picked from a list instead of typed from memory.
- pos_open_cashbox_after_payment
Automatically opens the cash drawer after every payment in the Point of Sale, even for card or other non-cash payments, so cashiers can store the receipt in the drawer.
- POS with Operating UnitsOdoo 14, 17pos_operating_unit
Assign operating units to Point of Sale configurations so that users only see the POS configs, sessions, orders, order lines and payments that belong to their allowed operating units.
- Pos AttachmentOdoo 17pos_order_attachment
Lets cashiers attach files (photos, PDFs, etc.) to Point of Sale orders directly from the POS screen, and lets back-office users see and filter those attachments on the order form.
- Pos Order CopyOdoo 17pos_order_copy
Lets Point of Sale users duplicate an existing order directly from the POS screen, creating a new draft order with the same products and details so it can be adjusted and paid.
- pos_order_line_customer_history
Adds a History button in the Point of Sale that shows a customer's past purchased products and lets cashiers add those products to the current order with one click.
- pos_order_line_show_product_info
Adds an information icon to each Point of Sale order line so cashiers can open the product info popup directly from the cart.
- Pos Split InvoiceOdoo 17pos_order_split_invoice
Lets a Point of Sale order be split between two customers: the customer pays part of the price at the till and a second partner is invoiced for the remaining share, which Odoo creates automatically as a separate invoice.
- Pos Partner Address RequiredOdoo 17pos_partner_address_required
In the Point of Sale, when a cashier creates or edits a customer, the street, city and zip code fields must be filled in before the customer can be saved.
- POS Partner FirstnameOdoo 12, 14, 16, 17pos_partner_firstname
In the Point of Sale customer form, you can now edit a customer's first name and last name separately, and mark a customer as a company. The full display name is built automatically from those parts.
- pos_partner_firstname_required
In the Point of Sale, when creating or editing a customer who is a person, the first name and last name become mandatory. If either is missing, a popup blocks saving until both are filled in.
- pos_partner_ref
Adds the customer reference field to the Point of Sale customer screen, so cashiers can view and edit a customer's reference directly in the POS and search customers by it.
- POS Partner Sale WarningsOdoo 16, 17pos_partner_sale_warning
Shows sales warnings for customers directly in the Point of Sale when a cashier selects a partner, and can block the selection if the warning is set to block sales.
- Pos Partner Second LastnameOdoo 17pos_partner_second_lastname
Adds a "Second Lastname" field to the customer form in the Point of Sale, so cashiers can capture and edit a customer's second surname directly at the till.
- Pos Partner Vat RequiredOdoo 17pos_partner_vat_required
In the Point of Sale, the customer form now requires a Tax ID (VAT) before a new or edited customer can be saved, showing an error popup if it is left empty.
- Pos Partner Vat ValidOdoo 17pos_partner_vat_valid
When a cashier creates or edits a customer in the Point of Sale, the Tax ID (VAT) is checked against the selected country before the customer is saved. If the number does not match, an error popup appears and the change is not saved.
- Point Of Sale - Change PaymentsOdoo 12, 14, 15, 16, 17pos_payment_change
Lets a cashier correct the payment lines of a paid Point of Sale order while its session is still open, either by updating the payments directly or by refunding and re-selling the order.
- PoS Payment DescriptionOdoo 16, 17pos_payment_description
Adds a 'Payments' column to the Point of Sale orders list showing how each order was paid (payment method or journal and amount), and lets you search orders by that payment text.
- pos_product_info_location
Shows, inside the Point of Sale product information popup, the list of internal stock locations where the product is available and the quantity in each one, hiding locations with no stock.
- POS - Product TemplateOdoo 12, 14, 15, 17pos_product_template
In the Point of Sale screen, products that have several variants are shown once, as a single card with the template name and the number of variants, instead of one card per variant. Tapping that card opens a popup where the cashier picks the attributes and…
- Pos receipt gift cardOdoo 17pos_receipt_gift_card
Shows gift card codes and their balances on POS receipts when a gift card is used as payment, including on reprinted receipts.
- POS Receipt Hide PriceOdoo 14, 15, 16, 17pos_receipt_hide_price
Adds a Hide Price button in the Point of Sale so cashiers can print or email a receipt without showing any prices, totals, taxes, discounts or payment amounts.
- POS RMAOdoo 17pos_rma
Create return merchandise authorizations (RMAs) directly from the Point of Sale screen, with quantity and reason validation, and track them from the POS order form.
- Point of Sale Print Sales OrdersOdoo 16, 17pos_sale_order_print
Lets Point of Sale users print configured sales order reports directly from the POS order management screen, choosing which report to use from a popup.
- POS Screen Elements Custom SizeOdoo 16, 17pos_screen_element_custom_size
Lets you change the size of product tiles, product names and price labels on the Point of Sale screen from the POS settings, without any coding.
- Pos Show ClockOdoo 14, 17pos_show_clock
Shows the current time on the Point of Sale screen so cashiers can see it without leaving Odoo. The clock updates every second and appears in the top navigation bar.
- Point of Sale Stock Available OnlineOdoo 16, 17pos_stock_available_online
Show live available stock quantities on Point of Sale product tiles, per warehouse, and update them automatically whenever stock changes.
- pos_user_restrict_stripe_bypass_user
Lets cashiers who are limited to their assigned points of sale still pay with Stripe in the Point of Sale, without being blocked by the point-of-sale user restriction.