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

  • purchase_request_substate

    Adds sub-states to purchase requests, letting you track extra steps like 'To Verify' or 'Checked' inside the normal approval states and send an email when a request is verified.

  • purchase_request_to_requisition

    Lets you turn purchase request lines into a purchase agreement (bid) directly from Odoo, either creating a new draft agreement or adding quantities to an existing one, and tracks the bid status back on the request.

  • purchase_requisition_line_description

    Shows a product description on purchase requisition lines, filled automatically from the product's purchase description in the vendor's language, and prints it on the Purchase Requisition report.

  • Purchase Requisition Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18
    purchase_requisition_tier_validation

    Adds an approval workflow to Purchase Agreements (purchase requisitions): agreements in draft must be reviewed and validated by assigned reviewers before they can be confirmed.

  • purchase_sale_link_by_origin

    This module links purchase orders and sales orders by the purchase order's Origin field, in addition to the standard line-based link. Users see related sales orders on a purchase order and related purchase orders on a sales order even when the link would…

  • purchase_sale_lot_intercompany

    When a company buys from a sister company, this module copies the lot/serial number chosen on the purchase order line onto the matching sale order line, so the supplier must deliver exactly that lot.

  • purchase_sale_note_intercompany

    When a purchase order is automatically turned into a sale order between two companies, the note written on each purchase order line is now copied onto the matching sale order line.

  • purchase_sale_stock_inter_company

    Extends inter-company purchase-to-sale automation so that when a delivery is confirmed, the matching receipt in the other company is validated automatically, keeping lot/serial numbers and quantities in sync. Adds company-level settings for a default sale…

  • Purchase Stock AnalyticOdoo 13, 14, 15, 16, 17, 18
    purchase_stock_analytic

    Copies the analytic distribution entered on a purchase order line to the related stock moves, so the same analytic accounts are used for both purchasing and inventory movements.

  • purchase_stock_cost_update

    Lets purchasing managers correct the stock valuation of received goods when the purchase price changes, directly from the purchase order. It shows which lines differ and applies the new cost to the valuation layers.

  • purchase_stock_line_sequence

    Keeps the order of purchase order lines and their stock moves in sync, and blocks changing the move order from the transfer screen.

  • purchase_stock_manual_currency

    When a purchase order uses a manually entered currency rate, this module makes sure that rate is also used for the stock moves created from that order, so the cost recorded in inventory matches the purchase order.

  • purchase_stock_operating_unit

    Keeps the operating unit consistent between purchase orders and the warehouse they deliver to, and copies it onto the resulting stock receipt. Users get automatic matching and a clear error if the two differ.

  • Purchase Stock Picking Return InvoicingOdoo 12, 13, 14, 15, 16, 17, 18
    purchase_stock_picking_return_invoicing

    Adds refund handling to purchase orders: see returned and refunded quantities per line, create a vendor refund from the PO, and track refunds separately from bills.

  • purchase_stock_product_replenish_supplier

    When you use the Replenish wizard on a product, Odoo now pre-fills the supplier with the product's main vendor, even if no supplier was set on the orderpoint.

  • purchase_stock_reception_status

    Automatically installs a compatibility layer so that the OCA purchase reception status logic is used on purchase orders instead of Odoo's native one, and hides the duplicate native status fields.

  • Purchase Stock Secondary UnitOdoo 13, 14, 15, 17, 18
    purchase_stock_secondary_unit

    When a purchase order is confirmed, the secondary unit quantity entered on the purchase order line is copied onto the related stock moves, so warehouse staff see the same secondary unit figures on receipts.

  • Purchase Sub StateOdoo 13, 14, 15, 18
    purchase_substate

    Adds a second-level status (substate) to purchase orders and requests for quotation, so you can track extra steps like "Waiting for legal documents" or "In receipt" on top of the standard status.

  • Purchase Supplier RankOdoo 13, 16, 18
    purchase_supplier_rank

    When a purchase order is created, the supplier's rank is increased automatically, so vendor ranking reflects orders and not only vendor bills.

  • purchase_uninvoiced_amount_force_invoiced_line

    When a purchase order line is marked as force invoiced or already fully invoiced, its uninvoiced amount is automatically set to zero. This keeps the uninvoiced amount column consistent with the invoice status.

  • Purchase UnreconciledOdoo 16, 17, 18
    purchase_unreconciled

    Shows which purchase orders still have unreconciled journal items and lets accountants reconcile them in one click, with an optional automatic write-off and tolerance warning.

  • Purchase Warn MessageOdoo 13, 15, 16, 17, 18
    purchase_warn_message

    Shows a warning banner on purchase orders when the vendor has a purchase warning set, so buyers see the message before confirming the order.

  • purchase_warn_option

    Lets you pick a ready-made warning option on vendors and products, which automatically fills in the purchase warning message shown on purchase orders.

  • Purchase Work AcceptanceOdoo 12, 13, 14, 15, 16, 18
    purchase_work_acceptance

    Create Work Acceptance records to control what quantity and price of a purchase order can be received and billed. Receipts and vendor bills must match an accepted Work Acceptance before they can be validated.

  • purchase_work_acceptance_evaluation

    Lets you score the quality of a vendor's work on each Work Acceptance, using evaluation criteria you define yourself, and analyse the results in a dedicated report.

  • purchase_work_acceptance_invoice_plan

    Create Work Acceptances directly from a purchase order's invoice plan, one installment at a time. The chosen installment controls the quantities proposed on the Work Acceptance instead of the invoice plan itself.

  • purchase_work_acceptance_late_fines

    Adds late delivery fines to work acceptances: Odoo computes how many days late a receipt is, multiplies it by a daily rate, and lets you create a customer invoice or vendor refund for that amount.

  • PydanticOdoo 13, 14, 15, 16, 17, 18
    pydantic

    This module is a technical utility that helps developers convert Odoo records into Pydantic data models, ensuring correct handling of dates, empty values, and related record identifiers.

  • quality_control_mrp_oca

    Automatically creates quality control inspections when a manufacturing order is finished, and adds a shortcut on the production order to see all its inspections.

  • quality_control_product_manufacturer

    Adds a Manufacturer tab to quality control inspections showing the manufacturer and manufacturer code of the inspected product, and lets users search inspections by manufacturer.

  • Quality control - Stock (OCA)Odoo 13, 14, 15, 16, 17, 18
    quality_control_stock_oca

    Automatically creates quality control inspections from stock transfers and lots, and adds shortcut buttons on pickings and lots to see how many inspections were created, done, passed or failed.

  • Job Queue BatchOdoo 12, 14, 16, 18
    queue_job_batch

    Group background jobs into batches so you can follow their progress, see how many finished or failed, and get notified in the systray when a batch is done.

  • Scheduled Actions as Queue JobsOdoo 12, 13, 14, 15, 16, 17, 18
    queue_job_cron

    Lets you run any scheduled action (cron) through the queue job system instead of directly, with its own channel and an option to skip overlapping runs.

  • Queue Job Cron JobrunnerOdoo 14, 15, 16, 17, 18
    queue_job_cron_jobrunner

    Lets Odoo process background jobs (queue jobs) through scheduled actions instead of a dedicated job runner, which is useful on hosting platforms where the normal runner cannot run.

  • queue_job_profiler

    Lets administrators turn on performance profiling for specific queue job functions, so that when those jobs run, Odoo records a detailed performance profile that can be opened from the job record.

  • repair_analytic

    Lets you attach analytic accounts to repair orders and automatically posts analytic journal entries when a repair is completed, based on the parts added, removed or recycled.

  • repair_analytic_timesheet

    Adds a project setting that lets timesheet costs be spread across a repair order's analytic accounts when the repair is completed, and shows the repair order on the timesheet analysis report.

  • repair_order_group

    Group several repair orders together so they share the same customer, are confirmed or cancelled at the same time, and can be quoted on a single sales order.

  • repair_order_group_services

    When you create a quotation from a group of repair orders, this module makes sure the service lines from every repair in the group are included, without duplicating them.

  • repair_order_line_sequence

    Lets you reorder the parts and operations lines inside a repair order by dragging them up or down, so the repair steps appear in the order you want.

  • repair_order_product_by_lot

    Lets you pick the product on a repair order by entering or scanning its Lot/Serial number first. The Lot/Serial field is always shown on the repair order form and automatically fills in the matching product.

  • repair_order_template

    Create reusable repair order templates that pre-fill the product to repair, warranty status, tags, notes and spare parts when you start a new repair order.

  • Repair picking after doneOdoo 14, 16, 17, 18
    repair_picking_after_done

    After a repair order is marked as done, you can transfer the repaired product to another location with a stock transfer, either manually from the repair order or automatically if enabled in settings.

  • Repair Quality ControlOdoo 16, 17, 18
    repair_quality_control

    Link quality control inspections to repair orders. Inspections can be created manually or automatically when a repair is confirmed or completed, based on company settings and product-level trigger rules.

  • Repair RefurbishOdoo 12, 13, 14, 15, 16, 17, 18
    repair_refurbish

    Lets you turn a repaired product into a refurbished product. On a repair order you can flag it for refurbishing, pick the refurbished product and lot, and Odoo automatically records a stock move of the refurbished item when the repair is completed.

  • repair_scheduled_date_calendar_view

    Adds a calendar view of repair orders based on their scheduled date, and lets you set a planned duration (in hours) for each repair order, with a company-wide default.

  • Repair StockOdoo 14, 16, 17, 18
    repair_stock

    Adds a Transfers smart button to repair orders that shows all stock transfers linked to the repair, and links stock moves back to the repair order that created them.

  • Repair TimesheetOdoo 17, 18
    repair_timesheet

    Adds a Timesheets tab to repair orders so users can log hours worked on each repair, and shows the total hours on the repair form and in the repair order list.

  • Repair TypeOdoo 14, 15, 16, 17, 18
    repair_type

    Lets you set default source locations for adding, removing and recycling parts on repair operation types, so repair orders automatically pick the right stock locations.

  • repair_type_product_destination

    Adds a Product Destination Location field to repair orders, automatically filled from the Default Product Destination Location configured on the repair operation type.

  • report_display_name_in_footer

    Adds the document name to the footer of PDF reports, next to the page number, so you can tell which document each printed page belongs to.

  • report_footer_html

    Adds an "Extra Footer" HTML field to each report configuration, letting you show custom rich-text content in the footer of PDF and HTML reports.

  • Report LabelsOdoo 12, 14, 16, 18
    report_label

    Lets you print self-adhesive labels for records of any Odoo model, using configurable label sheets and your own label design. You set it up as a server action and print from a wizard.

  • Report layout configurationOdoo 13, 14, 17, 18
    report_layout_config

    Lets you replace the whole header and footer of your Odoo reports with your own images, and adds two ready-made report layouts that use those images.

  • report_pdf_form

    Lets you use a fillable PDF file as an Odoo report, automatically filling its form fields with values taken from the Odoo records you print.

  • report_pdf_zip_download

    Adds a "Download as ZIP" option to PDF reports in Odoo. When enabled and multiple records are selected, each record's PDF is generated and bundled into a single ZIP file instead of separate downloads.

  • report_py3o_fusion_server

    Lets Odoo send py3o reports to an external Fusion server for conversion instead of using local LibreOffice, and adds reusable PDF export option sets (PDF/A, watermarks, passwords, forms).

  • Qweb Report With Operating UnitOdoo 12, 13, 14, 15, 16, 17, 18
    report_qweb_operating_unit

    Lets you give each operating unit its own logo, tagline, address/details block and footer, so printed reports show the operating unit's identity instead of the company's.

  • report_qweb_pdf_cover

    Add front and back cover pages to QWeb PDF reports. For each report you can upload a cover PDF, choose whether it appears as a separate page or overlaps the first/last page of the report.

  • Qweb PDF reports signerOdoo 12, 13, 14, 16, 17, 18
    report_qweb_signer

    Sign Qweb PDF reports with a PKCS#12 digital certificate. Configure a certificate and signing rules per report, and optionally save the signed PDF as an attachment.

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.