OdooWiki OCA HUB

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

Of the 3,113 OCA modules confirmed in Odoo 18.0, 1,272 (41 %) are also confirmed in Odoo 19.0. The other 1,841 do not have a confirmed 19.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 260 modules are in Odoo 19.0 without being in 18.0.

3,113
in Odoo 18
1,272
also in Odoo 19
1,841
pending in Odoo 19
41 %
already migrated

See also

Odoo 18 modules not yet confirmed in Odoo 19

  • report_text_format_option

    Adds encoding and line-ending options to text reports in Odoo, so generated text files can be saved in a specific character set (e.g. cp932) and use CRLF or CR line breaks.

  • Company CategoriesOdoo 12, 16, 18
    res_company_category

    Adds company categories so you can group and classify companies in a multi-company database. You can assign a category to each company and browse companies by category.

  • Company CodeOdoo 12, 13, 14, 15, 16, 18
    res_company_code

    Adds an optional, unique 'code' to each company. The code is shown before the company name everywhere (including the company switcher) and companies are sorted by code then name.

  • res_company_mastodon_link

    Adds a "Mastodon Account" field to the company form, so each company can store its Mastodon profile URL alongside its other social media links.

  • res_partner_industry_multi_company

    Adds a Company field to partner industries so each industry can belong to a specific company, and automatically filters the list of industries per company.

  • res_partner_linkedin_link

    Adds a LinkedIn Account field to contacts and companies, visible on the contact form, list and kanban views, and shown on the website contact widget when filled in.

  • res_partner_mastodon_link

    Adds a "Mastodon Account" field to contacts and companies in Odoo, so you can store and show each partner's Mastodon profile link in forms, lists, kanban cards and website contact blocks.

  • resource_leaves_geographic

    Lets you tag public holidays and calendar leaves with one or more geographic states, so each employee only sees the local holidays that apply to their address's state.

  • REST LogOdoo 13, 14, 15, 16, 18
    rest_log

    Records every REST API call made to your Odoo into a searchable log, showing what was requested, the result or the error, and a link back to the related record. Old logs are cleaned up automatically.

  • Rma BatchOdoo 18
    rma_batch

    Group several RMAs from the same return event into a single RMA Batch, so shared data (customer, responsible, team, tags, operation, location) stays synchronized and batch actions apply to all linked RMAs at once.

  • rma_batch_sale_auto_detect

    Adds a button on RMA batches that automatically links each RMA to its sale order, and moves the batch to a new 'Manual Treatment' state when some RMAs cannot be matched automatically.

  • rma_inter_company

    When a return (RMA) is created for a sale between two companies of the same group, this module automatically creates the matching RMA in the other company and keeps both linked, so each company manages its own return while the two stay in sync.

  • Rma LotOdoo 16, 17, 18
    rma_lot

    Lets you record the lot or serial number on a return (RMA), and choose which lot/serial is delivered back or used as replacement, with checks that the serial number is actually available.

  • 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 RepairOdoo 16, 17, 18
    rma_repair

    Link RMA (return merchandise authorization) cases to repair orders. Users can create a repair order from an RMA, track it, and only allow return, replacement, or refund once the repair is finished or cancelled.

  • rma_repair_lot

    Automatically carries the lot or serial number from an RMA over to the repair order created from it, so the repaired item keeps its traceability.

  • rma_sale_auto_detect

    Automatically links return requests (RMAs) to the right delivered sales order lines, within a return period you define per operation, and warns you when no matching delivery is found.

  • rma_sale_delivery

    Lets you choose a reception carrier when creating an RMA from a sales order, so returned goods can be shipped back with a specific delivery method.

  • 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.

  • rma_sale_stock_restocking_fee_invoicing

    Lets you charge customers a fixed or percentage restocking fee when they return products through an RMA, and automatically creates the customer invoice for that fee.

  • route_planning

    Plan and manage delivery routes: define geographic areas, build ordered lists of checkpoints (stops) for each route, and let Odoo optimise the visiting order and times automatically. Drivers mark stops as done or report incidents.

  • route_planning_delivery

    Adds a 'Route Planning' delivery method to Odoo so sales orders and deliveries can be linked to a route area, while preventing that carrier from creating real shipments.

  • route_planning_rma

    Adds a route area field to RMA forms, return wizards and RMA creation wizards so that returns and deliveries follow the correct route area. It automatically sets the destination location and updates related pickings.

  • route_planning_rma_delivery

    When a return (RMA) uses a Route Planning carrier, this module shows and requires a Route Area field on the RMA form and on the return/delivery wizards, and clears it automatically for other carrier types.

  • route_planning_rma_sale

    Adds a "Reception route area" field to the RMA creation wizard opened from a sales order, so returned goods can be assigned to a route area and its stock location.

  • route_planning_sale_stock

    This module links sales orders to route areas, so the delivery route and destination location are automatically set from the customer's route area. It also updates pending deliveries when the route area is changed on a sales order.

  • route_planning_stock

    Links delivery routes and checkpoints to stock transfers: each route area gets its own transit location and stock rules, and outgoing transfers are automatically added to a route and validated when the checkpoint is completed.

  • sale_analytic_brand

    Automatically fills the analytic distribution on sale order lines based on the brand selected on the sale order, so accounting analysis follows the brand without manual entry.

  • sale_analytic_distribution_model_warehouse

    Lets you set up analytic distribution rules that depend on the warehouse, so sale order lines automatically get the right analytic account based on the warehouse the sale is shipped from.

  • Attached products in salesOdoo 13, 15, 16, 17, 18
    sale_attached_product

    Define attached products on a product so they are added automatically to sales orders when the main product is present. Attached lines follow the main line quantity and are removed when the main product is removed.

  • sale_auto_remove_zero_quantity_lines

    Adds a company-level setting that automatically deletes sales order lines with zero quantity (and empty note lines) when a sales order is confirmed, leaving a message in the order's chatter.

  • sale_automatic_workflow_auto_assign

    Automatically assigns a sales workflow to new sale orders based on rules you define, and adds a new duplication option to control how workflows are copied when orders are duplicated.

  • sale_automatic_workflow_force_invoiced

    Adds a "Force Invoice" option to sale automatic workflows, so confirmed orders matching a chosen filter are automatically marked as force invoiced.

  • sale_automatic_workflow_periodicity

    Lets you set how often an automatic sales workflow runs, in seconds, and shows when it will run next. You can also limit processing to sales created before the last run.

  • sale_automatic_workflow_stock

    Extend automatic sales workflows with stock options: choose the shipping policy and let Odoo automatically confirm and transfer the delivery pickings for sales orders handled by a workflow.

  • sale_automatic_workflow_stock_job

    Automatically validates stock transfers (deliveries) for sales orders as background jobs, so the automatic sales workflow does not slow down or block the user's screen.

  • Sale Block no StockOdoo 16, 17, 18
    sale_block_no_stock

    Blocks confirming a sales order when storable products are not sufficiently available, showing a wizard to adjust quantities, move lines to a new order, or confirm anyway if allowed.

  • sale_cancel_confirm

    Lets companies ask for an optional free-text reason when cancelling a sales order, and stores that reason, the user and the date on the cancelled order.

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

    This module makes the margin on sales order lines take sales commissions into account, so the margin you see is the real profit after paying agents.

  • sale_commission_oca_product_criteria

    Adds a new "Product criteria" commission type so you can pay different commission rates per product, product variant, product category or all products, applied automatically on sales orders and invoices.

  • sale_commission_oca_product_criteria_semaphore

    Adds a traffic-light (green, yellow, red) criterion to sales commission rules, so different commission percentages can be applied depending on the semaphore status of the invoice line.

  • Sales commissions from salesmanOdoo 12, 13, 14, 15, 16, 17, 18
    sale_commission_salesman

    Automatically adds the salesman as a commission agent on sales orders and customer invoices when no other commission agent is already set, provided the salesman's contact is flagged as an agent with a commission plan.

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

  • sale_customer_order_frequency

    Adds three order-frequency indicators to contacts: average days between orders, days since the last order and days before the next expected order. They are calculated automatically from confirmed sales orders and shown on the contact form and list.

  • Sale Customer RankOdoo 13, 14, 16, 17, 18
    sale_customer_rank

    When a sale order is created, the customer rank of the customer and its parent company is automatically increased, so Odoo recognises them as active customers.

  • Sale Discount Display AmountOdoo 12, 13, 14, 15, 16, 17, 18
    sale_discount_display_amount

    Shows the discount amount (not just the percentage) on sale orders and quotations, both on screen and on the printed/PDF quotation. You can choose whether the discount is shown with or without taxes and whether the report shows the total before discount.

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

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

    Adds a blocking sales exception that prevents confirming a sales order when the customer is not allowed to buy the products that are restricted to specific manufacturing partners.

  • sale_insurance_caser

    Automate the sale of Caser insurance policies for mobile phones and tablets. When a delivery is validated, Odoo sends the policy request to Caser and stores the policy number and price on the sales order line.

  • sale_invoice_delivery_state

    Lets you choose, per customer, whether they should be invoiced after a partial delivery or only after a full delivery, and blocks invoicing until that delivery condition is met.

  • sale_invoice_plan_report

    Adds an Invoice Plan table to the sales order and quotation PDF, showing each installment's name, due date, percentage and amount when the order uses an invoice plan.

  • sale_invoice_product_not_alone

    Adds a checkbox on products to prevent them from being invoiced on their own, so sale orders containing such products are not offered for separate invoicing.

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.