OdooWiki OCA HUB

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_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_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_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_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, 18
    shopfloor_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_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_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, 18
    shopfloor_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, 18
    shopfloor_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_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_messagebird

    Adds Messagebird as an SMS provider in Odoo, so users can configure an API key and send SMS through messagebird.com.

  • sms_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, 16
    sms_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 16
    sms_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

    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, 18
    stay

    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, 18
    stay_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, 18
    stay_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.

  • stock_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, 18
    stock_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.

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

  • stock_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_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, 18
    stock_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_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, 18
    stock_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, 16
    stock_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, 19
    stock_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, 19
    stock_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, 19
    stock_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, 16
    stock_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_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, 18
    stock_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, 18
    stock_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_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.

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

    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_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, 19
    stock_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, 18
    stock_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, 16
    stock_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, 19
    stock_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, 16
    stock_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, 18
    stock_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_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.

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.