OdooWiki OCA HUB

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

Of the 1,532 OCA modules confirmed in Odoo 19.0, 75 (5 %) are also confirmed in Odoo 20.0. The other 1,457 do not have a confirmed 20.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 1 modules are in Odoo 20.0 without being in 19.0.

1,532
in Odoo 19
75
also in Odoo 20
1,457
pending in Odoo 20
5 %
already migrated

See also

Odoo 19 modules not yet confirmed in Odoo 20

  • Project timelineOdoo 12, 13, 14, 15, 16, 17, 18, 19
    project_timeline

    Adds a timeline (Gantt-style) view to projects and tasks, so you can see planned work on a calendar-like chart. Tasks get planned start and end dates, with automatic defaults and a check that the end date cannot be before the start date.

  • Project Timeline - TimesheetOdoo 12, 13, 14, 15, 16, 17, 18, 19
    project_timeline_hr_timesheet

    Adds a progress bar to the Project Timeline view so you can see how much of each task is done based on its timesheets, plus the hours still remaining.

  • project_timesheet_holidays_dynamic_description

    When time off generates timesheet entries, this module adds the leave description to the timesheet line description, so you can see why the hours were logged. It can be switched on or off per company in the Timesheets settings.

  • Project TypesOdoo 15, 16, 17, 18, 19
    project_type

    This module lets you create and manage a hierarchy of project and task types, then assign a type to each project and task. You can also filter and group projects and tasks by type.

  • Project VersionOdoo 16, 17, 18, 19
    project_version

    Lets you create named versions for a project and assign each task to one version, so you can group and report work by version.

  • Purchase Advance PaymentOdoo 14, 15, 16, 17, 18, 19
    purchase_advance_payment

    Lets you pay a supplier in advance directly from a purchase order or request for quotation, before any bill is received. The order then shows how much is still due and whether it is fully, partially or not paid.

  • Purchase and Invoice Allowed ProductOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_allowed_product

    Adds an option on vendors, purchase orders and supplier invoices to only allow choosing products that the vendor actually supplies. The setting defaults from the vendor and can be changed per document.

  • Purchase AnalyticOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_analytic

    Adds an analytic distribution field directly on purchase orders, so you can assign analytic accounts to a whole order at once and have every order line inherit the same distribution.

  • purchase_analytic_required

    Makes the analytic distribution mandatory on the Purchase Order form, so users cannot save a purchase order without filling in the analytic account.

  • purchase_auto_bill_on_receipt

    Automatically creates and posts Vendor Bills when purchase receipts are validated, and Credit Notes for purchase returns. You can turn this on or off per company, per vendor, or per purchase order.

  • purchase_create_bill_button

    Adds a "Create Bill" button directly on the purchase order form so users can generate a vendor bill from a confirmed purchase order without leaving the screen.

  • Purchase Default Terms ConditionsOdoo 12, 14, 15, 16, 17, 18, 19
    purchase_default_terms_conditions

    Lets you store default purchase terms and conditions on the company or on each supplier, and automatically fills the Terms and Conditions box of new request for quotations and purchase orders.

  • Purchase Delivery Split DateOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_delivery_split_date

    When you confirm a Purchase Order, Odoo creates one separate Incoming Shipment for each different expected date on the order lines, instead of grouping everything into a single receipt.

  • Purchase DepositOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_deposit

    Lets you register a deposit (down payment) on a confirmed purchase order and generate the corresponding draft vendor bill, either as a percentage or a fixed amount.

  • Purchase ExceptionOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_exception

    Lets you define custom exception rules on purchase orders and order lines, see which orders are blocked, and fix or ignore them before confirming. Blocked orders can be filtered and reviewed in bulk.

  • Purchase Force InvoicedOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_force_invoiced

    Lets authorized users mark a locked purchase order as fully billed, even if some ordered or delivered quantities were never invoiced. This removes those orders from the waiting bills list.

  • Purchase Invoice MethodOdoo 14, 15, 16, 17, 18, 19
    purchase_invoice_method

    Lets you choose on each purchase order whether billing is based on ordered quantities or received quantities, so you can create a bill even before the goods arrive.

  • purchase_landed_cost

    Lets you record extra purchase costs (freight, customs, insurance) on a separate 'Costs distributions' screen and spread them over the received goods, updating product costs.

  • Purchase Product Last Price InfoOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_last_price_info

    Shows the last confirmed purchase information for each product: supplier, purchase date and unit price. The data appears on the product form and in product lists, so buyers can quickly see what was last paid.

  • Purchase Line ReassignOdoo 15, 18, 19
    purchase_line_reassign

    Lets you move selected purchase order lines from one purchase order to another using a small wizard, without retyping them.

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

    This module simplifies the purchase workflow by removing the 'Request for Quotation' concept, so users only see 'Purchase Order' with states 'Draft' and 'Sent' instead of 'RFQ' and 'RFQ sent'.

  • Purchase Order ApprovedOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_approved

    Adds an extra 'Approved' stage to purchase orders before they become real Purchase Orders, so a second person can validate them. You can also send an approved order back to draft or release it to create the incoming shipments.

  • Purchase Order ArchiveOdoo 12, 13, 14, 16, 17, 18, 19
    purchase_order_archive

    This module lets you archive purchase orders that are Locked or Cancelled, hiding them from the normal purchase orders list. Archived orders show a red 'Archived' ribbon and can be found again with a dedicated search filter.

  • Purchase Order General DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_general_discount

    Adds a general discount percentage on purchase orders that is copied to every order line, and lets you set a default discount per supplier and choose which line discount field receives it.

  • purchase_order_import

    Lets buyers upload a supplier's quotation (XML or PDF) to automatically refresh an existing request for quotation, and upload a supplier's order response to acknowledge, confirm, cancel or amend the purchase order.

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

    When adding a product to a purchase order line, Odoo now fills the line description with the product's purchase description only, instead of combining it with the product name.

  • Purchase Order Line MenuOdoo 13, 14, 15, 16, 17, 18, 19
    purchase_order_line_menu

    Adds a dedicated "Purchase Order Lines" menu under Purchase, where you can browse, filter, group and pivot all purchase order lines in one list, instead of opening each order.

  • purchase_order_line_price_unit_digits

    Restores the classic number of decimals for the unit price on purchase order lines, so prices are shown and rounded with the same precision as product prices instead of the default setting.

  • Purchase Order Line SequenceOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_line_sequence

    Adds a visible line number to purchase order lines, shows it on purchase orders, quotations and vendor bills, and copies the same number onto the related stock moves.

  • Purchase order line stock availableOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_line_stock_available

    Shows the forecasted (virtual) stock of each product directly on the purchase order lines, so buyers can see availability while ordering.

  • Purchase Order OwnerOdoo 16, 18, 19
    purchase_order_owner

    Adds an "Assign Owner" field on purchase orders and quotations. When the order is confirmed, that owner is automatically copied onto the incoming stock receipt, so the goods are recorded as belonging to that contact.

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

    Automatically hides the Taxes column on the Purchase Order PDF sent to vendors when every line uses the same taxes, keeping the document cleaner. You can force the column to always appear per tax group.

  • purchase_order_report_xlsx

    Adds a 'Purchase Order XLSX' export option on purchase orders, producing a spreadsheet with one row per order line (vendor, dates, product, quantity, unit price, discount, taxes and subtotal).

  • Purchase Order Secondary UnitOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_secondary_unit

    Buy products from vendors using a secondary unit of measure (for example a box instead of a single piece) directly on purchase orders and vendor pricelists, with quantities and prices converted automatically.

  • Purchase Order Supplierinfo UpdateOdoo 13, 15, 16, 17, 18, 19
    purchase_order_supplierinfo_update

    Automatically updates the supplier's price and discount on the product's vendor record when a purchase order is confirmed or its lines are changed, so future purchases suggest the latest agreed price.

  • Purchase Order TypeOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_order_type

    Lets you define purchase order types (such as Regular, Blanket, Contract or Planned) and assign them to vendors and purchase orders, with optional payment terms, incoterms and their own numbering sequence.

  • Purchase Order UBLOdoo 12, 13, 14, 16, 18, 19
    purchase_order_ubl

    When you print a purchase order or request for quotation (RFQ) PDF, this module automatically embeds a UBL XML file inside the PDF. The XML follows the UBL 2.1/2.0 standard so suppliers can import it into their own systems.

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

  • Default purchase incoterm per partnerOdoo 14, 15, 16, 17, 18, 19
    purchase_partner_incoterm

    Lets you set a default Incoterm, Incoterm address and Incoterm location on a supplier, which are then filled in automatically on new purchase orders for that supplier.

  • Purchase Product Template TagsOdoo 14, 15, 16, 17, 18, 19
    purchase_product_template_tags

    Adds a Tags menu inside the Purchase app's configuration, giving quick access to the existing product tag list from the purchasing area.

  • Purchase Reception StatusOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_reception_status

    Adds a Receipt Status indicator to purchase orders showing whether nothing, part, or all of the ordered quantities have been received, plus filters and grouping to find orders by that status.

  • purchase_reception_status_line

    Adds a reception status to each purchase order line (Nothing, Partially, Fully or Over Received) and uses it to compute the reception status of the whole purchase order, with an option to force a line as fully received.

  • purchase_report_shipping_address

    Lets you store a translatable warehouse address on each warehouse and print it on purchase orders and requests for quotation, replacing the standard warehouse address block when filled in.

  • Purchase RequestOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_request

    Lets users create purchase requests for materials or services, follow them through approval, and turn them into requests for quotation or purchase orders while tracking how much has been ordered and received.

  • Purchase Request Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_request_tier_validation

    Adds a multi-level approval workflow to Purchase Requests: requests must be reviewed and validated by assigned reviewers before they can be confirmed.

  • Purchase Request TypeOdoo 14, 16, 18, 19
    purchase_request_type

    Lets you classify purchase requests by a configurable type (for example Regular, Contract or Reduce Step), each with its own numbering sequence and optional operation type, and to skip the request-for-quotation step for certain types.

  • purchase_rfq_number

    Gives purchase quotations their own RFQ numbering sequence, separate from confirmed purchase orders. When a quotation is confirmed, its RFQ number is kept for reference and the order receives a new PO number.

  • Inter Company Module for Purchase to Sale OrderOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_sale_inter_company

    When a company buys from another company in the same database, this module automatically creates the matching sales order in the supplier company, keeping both sides linked and in sync.

  • Purchase Order securityOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_security

    Adds purchase teams and two new access levels so buyers only see the purchase orders and vendors that belong to them or to their team, while managers keep full visibility.

  • purchase_stock_date_done_revaluation

    When the effective date of an incoming purchase receipt changes, this module recalculates the inventory value of that receipt, as long as the vendor bill has not yet been posted.

  • Purchase Stock PackagingOdoo 16, 17, 18, 19
    purchase_stock_packaging

    When Odoo automatically creates a purchase order line from a stock need, this module keeps the product packaging chosen in the procurement, so the order line uses the packaging's unit of measure and quantity instead of the base unit.

  • purchase_stock_picking_backorder_policy

    Lets you set a backorder policy on a vendor and on each purchase order, so the receipt created from the order automatically follows that policy.

  • Purchase Stock Picking Invoice LinkOdoo 13, 14, 15, 16, 17, 18, 19
    purchase_stock_picking_invoice_link

    Links purchase orders, stock deliveries/receipts and vendor bills so you can see which pickings an invoice was based on, and which invoices cover a given receipt or return.

  • Purchase stock price unit syncOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_stock_price_unit_sync

    This module automatically updates the cost price recorded on completed stock moves when you change the unit price or discount on a purchase order line.

  • Purchase TagsOdoo 14, 15, 16, 17, 18, 19
    purchase_tag

    Add tags to purchase orders and filter or group them by tag. Tags can be organized in a hierarchy and are managed from the Purchase configuration menu.

  • Purchase Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_tier_validation

    Adds an approval workflow to purchase orders: orders can require one or more reviews before they can be confirmed, and reviewers see a dedicated filter for the orders waiting for them.

  • Purchase Order Triple DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19
    purchase_triple_discount

    Adds three successive discounts (Disc. 1, Disc. 2, Disc. 3) on purchase order lines and supplier pricelists, replacing the single discount field. The combined discount is calculated automatically and carried through to vendor bills.

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.