Migrating from Odoo 16 to Odoo 17: which OCA modules are available
Of the 3,166 OCA modules confirmed in Odoo 16.0, 1,542 (49 %) are also confirmed in Odoo 17.0. The other 1,624 do not have a confirmed 17.0 version in the catalogue yet: if you use any of them, check its page before planning the migration. In addition, 452 modules are in Odoo 17.0 without being in 16.0.
- 3,166
- in Odoo 16
- 1,542
- also in Odoo 17
- 1,624
- pending in Odoo 17
- 49 %
- already migrated
See also
Odoo 16 modules not yet confirmed in Odoo 17
- Project Stock Product SetOdoo 13, 14, 15, 16project_stock_product_set
Add product sets directly to project tasks that use stock moves. A new "Add set" button on the task form opens a wizard to pick a set and quantity, then creates the related stock moves.
- Project Tag MulticompanyOdoo 16, 18, 19project_tag_multicompany
Lets you assign a company to project tags, so each tag is visible only in that company or shared with all companies when left empty.
- Project Tag SecurityOdoo 16, 18, 19project_tag_security
Restrict each project tag to a chosen list of projects, so tags only appear where they are meant to be used. Tags left without allowed projects stay available everywhere.
- Project Task Code PortalOdoo 16, 18project_task_code_portal
This module lets customers open and search project tasks in the portal using the task's custom code instead of its internal number, and shows a copyable portal link on the task form.
- Description in notificationsOdoo 16project_task_creation_description_notification
When a project task is created, the notification message now includes the task description, so recipients see the context directly in the notification without opening the task.
- Task Description PortalOdoo 16, 18project_task_description_portal
Lets you write a separate description for a task that only portal (customer) users see, instead of the internal task description.
- Project Task LinkOdoo 16project_task_link
Adds a smart button on the project form showing the number of tasks and opening the list of tasks linked to that project.
- Project task parent completion blockingOdoo 16, 18project_task_parent_completion_blocking
Blocks closing a project task while it still has open subtasks, so parents can only be marked done once all their children are finished.
- Project task parent due date autoOdoo 16, 18, 19project_task_parent_due_auto
Automatically updates a parent task's deadline to match the earliest deadline among its child tasks whenever a child's deadline is created or changed.
- Project Task Personal Stage auto FoldOdoo 15, 16, 18, 19project_task_personal_stage_auto_fold
When a project task is moved to a closed (folded) stage, the personal stage of the user who made the change is automatically moved to a matching folded personal stage.
- Project: require Project on TaskOdoo 12, 14, 16project_task_project_required
This module makes the Project field mandatory on tasks, so users cannot save a task without choosing a project. The requirement can be turned on or off per company in Project settings.
- Project Task Pull Request StateOdoo 16, 18, 19project_task_pull_request_state
Adds a Pull Request State field to tasks, showing whether the linked pull request is Draft, Open, Merged or Closed. A default state can be set globally in Project settings or per project.
- Project Task ReportOdoo 12, 13, 14, 16, 18project_task_report
Adds two printable PDF reports for project tasks: a simple task sheet and a fuller version that also includes the task's chatter history. Both are available from the Print menu on tasks.
- Project Task Stage Allow TimesheetOdoo 12, 14, 16project_task_stage_allow_timesheet
Adds an "Allow timesheets" option on project task stages so you can block logging time on tasks that are in stages where timesheets should not be recorded.
- Project Task Stage Change RestrictionOdoo 16, 18project_task_stage_change_restriction
Lets you control who is allowed to move a project task into a specific stage. On each task stage you can require that the user is assigned to the task, is the project manager, or belongs to selected groups.
- Project Update Portal AccessOdoo 16, 18project_update_portal
Portal users who follow a project or one of its updates can now read those project updates from the customer portal, with a dedicated list page and detail page.
- Project Update VisibleOdoo 16project_update_visible
Makes the project field visible on the Project Update form, so users can see which project an update belongs to directly on the same screen.
- Proxy Trusted HopsOdoo 16proxy_trusted_hops
Lets administrators tell Odoo how many reverse proxies sit in front of it, so the real client IP address is used instead of an internal proxy address when several proxies are chained.
- Purchase - Analytic Account GlobalOdoo 12, 13, 14, 15, 16, 18purchase_analytic_global
Lets you set one analytic distribution on a purchase order and automatically copy it to every order line, so you don't have to fill it in line by line.
- Purchase Backorder ReportOdoo 12, 14, 16purchase_backorder
Shows, on purchase orders and in a dedicated list, how much has been received but not yet invoiced (UIGR) and how much is still pending delivery (backorder), with quantities, values and last receipt/bill dates.
- purchase_company_invoice_address
Lets you choose, on each purchase order or request for quotation, which of your own company's invoice addresses the vendor should bill, and prints that address on the order and quotation PDFs.
- Purchase Date Planned ManualOdoo 12, 16purchase_date_planned_manual
Keeps the scheduled date you enter on purchase order lines instead of letting Odoo recalculate it, and warns you when a line is expected to arrive after that date.
- purchase_deposit_company_amount
Lets you enter, on a foreign-currency deposit vendor bill, the company-currency amount you actually paid, so the deposit is booked at the real paid value and the final bill clears the deposit account exactly.
- Purchase order lines with discountsOdoo 12, 13, 14, 15, 16purchase_discount
Add a discount percentage to each purchase order line and to supplier price lists, so you can negotiate prices with suppliers without changing the unit price. The discount also appears on the purchase order PDF and in purchase analysis.
- Purchase Force Invoiced QuantityOdoo 16, 18purchase_force_invoiced_quantity
Adds a manual "Force Invoiced Qty" column on purchase order lines that is deducted from the quantity to invoice, so buyers can reduce or close the remaining billable quantity without changing received quantities.
- Purchase Fully InvoicedOdoo 15, 16purchase_fully_invoiced
Adds a "Posted Billing Status" field on purchase orders that only shows "Fully Billed" when all related bills are actually posted, plus a search filter to find those orders.
- Purchase Fully ReceivedOdoo 15, 16purchase_fully_received
Adds a new "Is Fully Shipped" filter and a hidden indicator on purchase orders, so you can quickly find orders where every line has been fully received.
- purchase_invoice_new_picking_line
When you create a vendor bill from a purchase order, this module also adds invoice lines for products that were received in the order's pickings but were not part of the order itself, so you can pay for misdelivered items.
- purchase_invoice_partial_status
Adds a new 'Partially Invoiced' status to purchase orders, so you can see at a glance when an order has been partly billed but not fully invoiced.
- Purchase invoicing no zero lineOdoo 13, 16purchase_invoicing_no_zero_line
Adds an option on purchase journals to skip invoice lines with zero quantity when a vendor bill is created from a purchase order.
- Purchase landed costs - Alternative optionOdoo 12, 13, 16, 19purchase_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 Line Procurement GroupOdoo 12, 13, 14, 16, 18purchase_line_procurement_group
Keeps purchase order lines and their stock moves separate when they come from different procurement groups, so demands from different sources are not merged into one line.
- Purchase Minimum AmountOdoo 12, 13, 14, 16purchase_minimum_amount
Set a minimum purchase amount per vendor and let Odoo automatically block purchase orders that fall below it, with a clear approval block reason.
- Purchase MTO OwnerOdoo 16purchase_mto_owner
When Odoo automatically creates a request for quotation from a make-to-order stock rule, this module copies the owner (the customer who owns the goods) onto that purchase order, so the purchase is linked to the right owner.
- Purchase Only By PackagingOdoo 16purchase_only_by_packaging
Lets you restrict a product so it can only be bought in whole packagings on purchase orders, and optionally force the ordered quantity up to the next full packaging.
- Purchase Order Approval BlockOdoo 12, 13, 14, 15, 16, 18purchase_order_approval_block
Lets you flag a request for quotation with an approval block reason so it cannot be approved until a manager releases the block. Block reasons are managed in a new configuration menu.
- Purchase Order DownpaymentOdoo 16purchase_order_downpayment
Create supplier down payments directly from a purchase order. Choose a regular payment, a percentage, or a fixed amount, and the payment is created in draft for review.
- purchase_order_duplicate_check
Warns buyers when confirming a purchase order or RFQ that already has pending orders for the same products, showing a confirmation wizard before proceeding. It also shows a 'Pending Orders' field on purchase order lines and can create an activity for the…
- purchase_order_hide_receipt_status
Hides the receipt status field on purchase order forms and lists, so users no longer see this column or indicator when working with purchase orders.
- Purchase Reception StatusOdoo 16purchase_order_line_receipt_status
Adds a Receipt Status column to purchase order lines showing whether each line is Not Received, Partially Received or Fully Received, updated automatically as goods are received.
- Purchase Order No Zero PriceOdoo 15, 16purchase_order_no_zero_price
Prevents purchase order lines from having a zero unit price once the order is confirmed, helping ensure correct stock valuation. If a line has no price, Odoo shows an error and blocks the change.
- Purchase Order OwnerOdoo 16, 18, 19purchase_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.
- Price recalculation in purchases ordersOdoo 14, 15, 16, 18purchase_order_price_recalculation
Adds an 'Update lines info' button on draft and sent purchase orders that recalculates the prices of all order lines based on the currently selected vendor.
- Purchase Order Product Attachment MgmtOdoo 14, 16purchase_order_product_attachment_mgmt
Adds an Attachments button on the purchase order form that opens a list of all files attached to the products and product templates contained in the order lines.
- purchase_order_purchase_manager
Automatically fills the buyer (Purchase Representative) on a purchase order with the purchasing manager defined on the supplier, as long as the order is still a draft or sent.
- Purchase order line hide tax in reportOdoo 16, 18, 19purchase_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 revisionsOdoo 15, 16purchase_order_revision
Lets buyers create a new revision of a cancelled or sent request for quotation/purchase order, keeping the same base reference with a revision suffix and archiving the old versions.
- Purchase Order Supplier ReturnOdoo 16, 18purchase_order_supplier_return
When you return products to a supplier on a purchase order that has a negative quantity, this module automatically marks the stock move as a refund so the received quantity is updated correctly.
- Purchase Order UBLOdoo 12, 13, 14, 16, 18, 19purchase_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 Packaging DefaultOdoo 16purchase_packaging_default
Adds a company setting that automatically fills in a default packaging on purchase order lines, using the first packaging marked for purchase in the product configuration, and rounds the packaging quantity up to whole units.
- purchase_packaging_level_qty
Shows on each purchase order how many transport packages (for example pallets) are needed, based on a packaging level chosen in the Purchase settings.
- purchase_planned_date_container_deposit
Keeps the planned date you set on a purchase order when container deposit lines are created for products with packaging deposits. It is a glue module that combines two other purchase modules.
- Purchase Product PackOdoo 16, 18purchase_product_pack
Buy product packs on purchase orders: when you add a pack product, Odoo automatically creates one purchase line per component, with prices taken from the vendor or the product cost.
- purchase_product_packaging_container_deposit
Automatically adds container deposit lines to purchase orders based on the packaging of the products ordered, and updates those deposit quantities when the related stock moves are completed.
- Quick Purchase orderOdoo 12, 14, 15, 16purchase_quick
Add many products to a purchase order at once from a supplier-specific product list, with quantities and prices filled in automatically.
- Purchase Quick DiscountOdoo 16purchase_quick_discount
Adds a Discount column to the quick purchase product list, showing the supplier discount that will be applied for the selected vendor and quantity.
- purchase_quick_triple_discount
Adds three separate supplier discount columns (Disc.1%, Disc.2%, Disc.3%) to the product list used for quick purchase entry, so buyers can see each discount level before adding products to a request for quotation.
- Purchase Request ExceptionOdoo 14, 15, 16, 18purchase_request_exception
Adds customizable exception rules to purchase requests so blocked requests are flagged, filtered and can be reviewed or ignored before approval.
- Purchase Request TypeOdoo 14, 16, 18, 19purchase_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 ReturnOdoo 16purchase_return
Create purchase return orders to send products back to a vendor and generate the related vendor refund bills. It adds a dedicated Purchase Return Orders menu with its own order form, lines, statuses and printable report.