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
- Shopfloor reception mobileOdoo 14, 16, 18shopfloor_reception_mobile
Adds a mobile reception scenario to the Shopfloor app, letting warehouse staff receive incoming products, scan lots and quantities, and build packs for each logistic unit.
- Shopfloor Reception Packaging DimensionOdoo 14, 16, 18shopfloor_reception_packaging_dimension
Adds an option to the Shopfloor reception scenario that asks warehouse operators to fill in missing packaging dimensions (length, width, height, weight, barcode) before setting the received quantity.
- Shopfloor Reception Packaging Dimension MobileOdoo 14, 16, 18shopfloor_reception_packaging_dimension_mobile
Adds a new screen to the mobile Shopfloor Reception app where warehouse operators can enter the barcode, quantity, length, width, height and weight of a product's packaging while receiving goods.
- shopfloor_reception_product_barcode
Adds an option to the Shopfloor Reception scenario that asks the user to enter a product barcode when the received product has none, and saves it on the product.
- shopfloor_reception_product_barcode_mobile
Adds a barcode-assignment step to the mobile Shopfloor reception screen, so warehouse operators can scan and set a product barcode during reception when the product has none yet.
- shopfloor_reception_putinpack_restriction
In the shopfloor reception screen, this module enforces the package rule configured on the operation type: it blocks putting goods in a package when packages are not allowed, and blocks processing without a package when one is required.
- Shopfloor Reception Refund ReturnOdoo 14, 16shopfloor_reception_refund_return
When a return is created from the Shopfloor reception screens, this module automatically marks the return stock move as 'to refund', so the refund is handled correctly in accounting.
- Shopfloor REST logOdoo 13, 14, 16, 18shopfloor_rest_log
This module adds a shortcut to view REST API logs from the Shopfloor app and lets Shopfloor managers see those logs. It also records the real user and app version for each call.
- Shopfloor Single Product TransferOdoo 14, 16, 18shopfloor_single_product_transfer
Adds a barcode-driven "Single Product Transfer" scenario to the Shopfloor app, letting warehouse operators move one product, lot or package from a source location to a destination location step by step.
- Shopfloor single product transfer mobileOdoo 14, 16, 18shopfloor_single_product_transfer_mobile
Adds a mobile Shopfloor screen for transferring a single product, guiding warehouse workers step by step from scanning a source location or package to setting the quantity and destination.
- Shopfloor WorkstationOdoo 13, 14, 16, 18shopfloor_workstation
Lets you register shopfloor workstations with a barcode, a default printer and a shopfloor profile, so mobile app users can scan a workstation barcode to set their default configuration.
- Shopfloor Workstation MobileOdoo 13, 14, 16, 18shopfloor_workstation_mobile
Adds a Workstation settings screen to the Shopfloor mobile app so operators can scan a workstation barcode and select which workstation they are working at.
- sms_alternative_provider
Lets administrators register several SMS providers and route outgoing text messages to the right one based on the recipient's phone number prefix, instead of always using Odoo's built-in SMS service.
- SMS provider: MessagebirdOdoo 16sms_dummy_provider
Adds a 'Dummy' SMS gateway option so you can test SMS flows without sending real messages. The gateway records each message and returns a state you choose, useful for testing.
- SMS provider: MessagebirdOdoo 16sms_messagebird
Adds Messagebird as an SMS provider in Odoo, so users can configure an API key and send SMS through messagebird.com.
- No automatic deletion of SMSOdoo 14, 16, 18sms_no_automatic_delete
Lets you control how long sent SMS messages are kept before being permanently removed, instead of Odoo deleting them automatically. You set the retention period in days from the Settings screen.
- Sms OVH HTTPOdoo 12, 14, 16sms_ovh_http
Lets Odoo send SMS through your own OVH SMS account instead of Odoo's default provider. You enter your OVH account, API user, password and sender name once, and Odoo uses them for outgoing text messages.
- SMS TwilioOdoo 16sms_twilio
This module lets Odoo send SMS messages through Twilio instead of the default provider. Users configure Twilio credentials in Odoo and can retrieve their Twilio phone numbers.
- SQL Export (delta support)Odoo 16, 18sql_export_delta
Adds a Delta option to SQL exports so each run only outputs rows that are new compared to the previous export, instead of the full query result.
- StayOdoo 14, 16, 18stay
Manage guest stays, room and dormitory assignments, and meals (breakfast, lunch, picnic, dinner, bed nights) with capacity and conflict checks. Includes dashboards, printable journals, fire reports and Excel exports.
- Stay APIOdoo 14, 16, 18stay_api
Adds a REST API so an external web form can create, read, update and cancel stays in Odoo, with automatic guest matching, validation, notifications and a configurable stay type list.
- Stay Report Py3oOdoo 14, 16, 18stay_report_py3o
This module changes the stay reports in Odoo so they are generated with Py3o templates instead of the standard Qweb layout, giving a cleaner printed result.
- stock_account_anglo_saxon_cogs_kit
Lets companies using Anglo-Saxon accounting invoice kit products without having to mark the kit itself as a storable product, so kits can stay consumable and untracked while Cost of Goods Sold is still posted correctly.
- Account Invoice Report Lot Expiry DateOdoo 16, 18stock_account_invoice_report_lot_expiry
Adds an Expiration Date column to the lots table on the customer invoice PDF, so each tracked lot listed on the invoice shows its expiry date.
- stock_account_valuation_discrepancy_adjust
Lets accountants compare the inventory value of products with their accounting value and create journal entries to correct the differences, either one entry per product or a single combined entry.
- Stock Account Valuation ReportOdoo 12, 13, 14, 15, 16, 18stock_account_valuation_report
Compare the stock value and quantity from inventory records with the value and quantity recorded in accounting, product by product, and spot differences. A new report under Inventory / Reporting / Dual Inventory Valuation shows both sides side by side.
- stock_available_exclude_location
Lets you pick locations whose stock should not count as available, so product availability figures ignore those locations and their sub-locations.
- Exclude locations from immediately usable quantityOdoo 14, 16, 18stock_available_immediately_exclude_location
Adds a checkbox on stock locations to exclude them from the "immediately usable" quantity shown for products, so stock sitting in those locations is no longer counted as available right away.
- Stock Available Location Get DomainOdoo 16, 18stock_available_location_get_domain
Technical helper module that lets other Odoo modules reuse the standard stock location domain logic for locations instead of stock quants. It adds no visible screens or menus for end users.
- Stock Available to Promise ReleaseOdoo 13, 14, 16, 18stock_available_to_promise_release
Lets warehouse staff release delivery transfers in a chosen order while still reserving stock fairly, based on the quantity promised to each customer. Adds release and unrelease buttons, priority dates, and available-to-promise quantities on transfers and…
- stock_available_to_promise_release_block
This module lets you block and unblock the release of delivery operations, and can automatically block backorders when goods are not fully available.
- Available to Promise Release - Dynamic RoutingOdoo 13, 14, 16, 18stock_available_to_promise_release_dynamic_routing
Technical glue module that makes the Available to Promise Release and Dynamic Routing warehouse modules work together. It adds no new screens or settings for users.
- Stock Available To Promise Release Exclude LocationOdoo 14, 16, 18stock_available_to_promise_release_exclude_location
Automatically excludes locations marked as excluded from immediately usable stock when Odoo computes available-to-promise quantities for release.
- Stock Available UnreservedOdoo 12, 13, 14, 15, 16, 18stock_available_unreserved
Shows how much stock is on hand but not reserved for any delivery or move, directly on products and product variants. Adds a button and filters to jump to the unreserved stock quantities.
- Stock Average Daily SaleOdoo 14, 16stock_average_daily_sale
Adds an 'Average Daily Sales' report that shows, per product and per ABC class, how much stock leaves the warehouse on average each day, plus a safety stock and a recommended quantity to keep in stock.
- Stock BarcodesOdoo 12, 13, 14, 15, 16, 18stock_barcodes
Adds a barcode scanning screen to Odoo stock operations (receipts, deliveries, internal transfers, relocations and inventory counts) for USB/Bluetooth scanners, without needing the Enterprise barcode app.
- Stock Barcodes Picking BatchOdoo 13, 14, 15, 16stock_barcodes_picking_batch
Scan barcodes to process whole picking batches from one screen. A Scan barcodes button on batch pickings opens a barcode reader that fills products, lots and locations and can validate the batch.
- Stock BrandOdoo 16, 18, 19stock_brand
Adds a Brand field to transfer (stock picking) documents and automatically copies the brand from a confirmed sales order onto its related transfers, so delivery paperwork keeps the same branding.
- Stock Buffer RouteOdoo 13, 14, 15, 16, 18, 19stock_buffer_route
Lets you pick a specific route on a stock buffer so replenishment uses that route instead of the default one. The chosen route is also carried into the Request Procurement wizard.
- Stock Buffer Sales AnalysisOdoo 13, 14, 15, 16, 18, 19stock_buffer_sales_analysis
Adds a "Sold" smart button on stock buffer forms that opens the sales analysis filtered to that buffer's product, showing the quantity sold in the last 365 days.
- Stock Card ReportOdoo 12, 13, 14, 15, 16stock_card_report
Adds a Stock Card report to Inventory Reporting that shows every in/out movement of selected products in a chosen location and date range, with an opening balance and running balance. Users can view it on screen or export it to PDF or Excel.
- Stock Customer DepositOdoo 16, 18stock_customer_deposit
Lets you manage goods your customers store in your warehouse (customer deposits) and sell them back to the same customer, automatically giving a 100% discount on the deposited quantity.
- stock_customer_deposit_elaboration
Automatically picks the right stock route on sales order lines when a customer deposit is used, so the deposit and elaboration flows work together without manual route selection.
- stock_customer_deposit_sale_margin
When you sell products that are already held as customer deposits, this module sets the cost price of those sale order lines to zero, so the margin on the sale is not reduced by a purchase cost.
- Stock Dynamic RoutingOdoo 13, 14, 16, 18stock_dynamic_routing
Lets warehouse managers define dynamic routing rules that automatically split, redirect or re-type stock moves based on the source or destination location, so goods passing through zones like a high-bay or handover area get the right operation type and extra…
- Partner Stock RiskOdoo 12, 13, 14, 16, 18stock_financial_risk
Blocks outgoing stock transfers to customers whose financial risk limit is exceeded, showing a warning wizard before confirming, reserving or validating the transfer.
- Stock full location reservationOdoo 14, 16stock_full_location_reservation
Adds buttons on transfer forms to reserve the entire content of the source location, not just the quantity originally requested, and to undo that extra reservation.
- Goods Received NoteOdoo 16stock_grn
Record goods received from a transporter on a Goods Received Note (GRN) without creating stock moves, and link incoming shipments to that note so they can be identified as received.
- Stock Intercompany Delivery-ReceptionOdoo 14, 15, 16, 18stock_intercompany
When a delivery to a customer is validated and that customer is another company in your database, Odoo automatically creates the matching incoming receipt in that other company. You choose which incoming operation type is used per company in Inventory…
- stock_intercompany_bidirectional
Lets you set up two-way stock transfers between companies in Odoo, choosing which operation types are used for outgoing and incoming moves and how quantities, packages and lot numbers are handled.
- Stock Inventory JustificationOdoo 13, 16, 19stock_inventory_justification
Lets you record reasons (justifications) for inventory adjustments in Odoo. You can create a list of justifications, attach them to inventory counts, and see them on stock moves and quants.
- Inventory Lock DownOdoo 12, 13, 14, 15, 16, 18, 19stock_inventory_lockdown
Prevents stock movements and location changes while an inventory count is in progress. Locations being counted are locked, so users cannot move products in or out of them until the inventory is finished.
- stock_inventory_quantity_history
Keeps a record of the theoretical and real quantities at the moment an inventory adjustment is made, so you can see what the system expected versus what was actually counted.
- stock_inventory_security
Adds a dedicated security group, "Stock: Inventory Adjustments", so inventory adjustments can be given to specific users without making them full stock managers.
- Stock Landed Costs CurrencyOdoo 12, 13, 16, 18stock_landed_costs_currency
Lets users enter landed costs in a foreign currency on a landed cost record; the amount is automatically converted into the company currency for the cost lines.
- Stock landed costs deliveryOdoo 13, 14, 15, 16stock_landed_costs_delivery
Automatically adds the delivery carrier cost as a landed cost line on the purchase order's draft landed cost, and validates that landed cost when the receipt is done.
- Stock landed costs purchase autoOdoo 13, 14, 15, 16, 18, 19stock_landed_costs_purchase_auto
Automatically creates a landed cost record linked to a purchase order when the order is confirmed and its receipt is created, so extra costs like freight or customs can be allocated to the received products.
- Stock landed costs securityOdoo 13, 14, 15, 16stock_landed_costs_security
Adds a dedicated "Landed Costs" application with its own menu and user group, so selected users can create, validate and post landed costs without needing full Inventory manager rights.
- Stock location childrenOdoo 13, 14, 16, 18stock_location_children
Adds a "Children" button on stock location forms that lists every sub-location at any depth, not just the direct ones. Useful when you need to see the full hierarchy of a warehouse location.
- Stock Location Fill StateOdoo 16, 18stock_location_fill_state
Shows whether each stock location is empty, filled, about to be filled, or about to be emptied, directly on the location form, list and search screens.