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

  • pos_escpos_status

    Restores printer status detection for POS terminals using the ESC/POS driver, so the Point of Sale screen shows the correct connected/disconnected state of the receipt printer.

  • pos_financial_risk

    In the Point of Sale, when a customer has reached their credit limit, payment methods marked as credit-limit restricted are blocked and shown as unavailable, so cashiers can only use allowed payment methods.

  • pos_global_discount_in_line

    Adds a setting in Point of Sale to apply the global discount directly on each order line instead of adding a discount product. When enabled, the discount percentage is written on every line.

  • pos_hide_banknote_button

    Removes the quick cash banknote buttons (+10, +20, +50) from the Point of Sale payment screen, so cashiers only see the remaining payment options.

  • pos_hide_empty_category

    In the Point of Sale screen, product categories that contain no products are no longer shown, so cashiers only see categories they can actually sell from.

  • pos_hide_partner_info

    Hides customer contact details (address, email, phone, mobile) in the Point of Sale customer list and customer edit form, so cashiers only see the customer's name.

  • pos_hr_access_right

    This module lets each cashier in a Point of Sale session have their own access rights for actions like payments, discounts, price changes, negative quantities, multiple orders and deleting orders, instead of using the logged-in user's rights.

  • pos_loyalty_exclude

    Exclude specific products from earning or redeeming loyalty rewards in the Point of Sale. Products marked as excluded are ignored when calculating discounts and rewards.

  • pos_loyalty_redeem_payment

    Lets Point of Sale cashiers redeem gift cards and vouchers as a payment method, not just as a discount. You configure which payment methods can redeem each gift card program.

  • pos_margin_stored

    Stores the margin and margin percentage on Point of Sale orders and order lines, so these values are saved in the database and can be used for searching and statistics.

  • pos_meal_voucher

    Lets you accept meal vouchers (paper or electronic) as a payment method in the Point of Sale, tracking which products are eligible and warning when the voucher amount exceeds the eligible or maximum allowed amount.

  • pos_membership

    Shows each customer's membership status directly in the Point of Sale screen and blocks payment when a membership product is sold without an invoice.

  • pos_membership_extension

    Restrict which products can be sold in the Point of Sale based on the customer's membership categories. Products can be limited to specific membership categories, and the POS blocks sales to customers who don't qualify.

  • pos_minimize_menu

    Lets you choose which buttons stay visible in the Point of Sale main menu, so the ticket area gets more room. All other buttons move behind a 'More...' button.

  • pos_order_new_line

    Adds a "New Line" button to the Point of Sale screen so the cashier can force the next scanned or selected product to be added as a separate order line instead of being merged with an existing line.

  • POS Order Remove LineOdoo 12, 13, 14, 16, 18
    pos_order_remove_line

    Adds an optional trash button on each Point of Sale order line so cashiers can delete a line directly from the POS screen, with an optional confirmation warning before deletion.

  • pos_order_reorder

    Adds a Re-order button in the Point of Sale ticket screen that creates a new order copying the products, quantities, prices, discounts, customer, pricelist and fiscal position of a selected paid order.

  • pos_order_to_sale_order_delivery

    Lets cashiers add a shipping method when creating a sales order from the Point of Sale, and copies the chosen carrier and its cost onto the resulting sales order.

  • pos_order_to_sale_order_report

    After a Point of Sale order creates a sales order, Odoo can automatically download a chosen PDF report. You pick that report in the Point of Sale settings.

  • pos_order_to_sale_order_sale_financial_risk

    When a Point of Sale order is turned into a sales order, Odoo now checks the customer's credit and sales risk limits and warns or blocks the cashier, just like in the backend.

  • pos_partner_alternative_pricelist_load_background

    When a customer is selected in the Point of Sale, the price lists linked as alternatives to that customer's price list are also loaded in the background, so their prices are ready to use.

  • pos_partner_is_company

    Adds a Company checkbox to the customer edit screen in the Point of Sale, so cashiers can mark a customer as a company or an individual directly from the POS.

  • pos_partner_load_new_data

    When the customer list is opened in the Point of Sale, Odoo automatically refreshes customer data in the background, so newly created or modified customers appear without restarting the session.

  • pos_partner_location_abstract

    Adds map-based location tools to the Point of Sale customer form, letting cashiers view and edit a customer's latitude and longitude and open a map popup to pick a location. It is an abstract base module meant to be extended by real map providers.

  • pos_partner_location_google_map

    Lets Point of Sale users pick a customer's address on a Google map and fills in the address fields automatically. It also shows a Google Maps link as the customer's QR code URL when Google is the chosen map provider.

  • pos_partner_no_create

    Removes the ability to create new customers from the Point of Sale screen, so cashiers can only select existing customers.

  • pos_partner_pricelist_load_background

    When a customer is selected in the Point of Sale, their assigned pricelist is loaded automatically in the background and becomes available for the order, even if it was not part of the pricelists loaded at POS start-up.

  • pos_payment_method_change_policy

    Lets you choose, per payment method in Point of Sale, how change is handled when a customer pays more than the order total: either give cash back as usual, or record the surplus as an extra product line (an exceptional profit).

  • pos_payment_method_image

    Lets you add a picture to each Point of Sale payment method, and shows that picture on the payment screen in the Point of Sale. If no picture is set, a default icon is shown based on the payment type.

  • pos_payment_restriction

    Adds a Point of Sale setting that makes payment line amounts read-only on the payment screen, so cashiers cannot change the amount entered for a payment.

  • pos_payment_show_order

    Shows the current order details directly on the Point of Sale payment screen, so cashiers can review what the customer is buying without leaving the checkout screen.

  • POS Payment TerminalOdoo 12, 13, 14, 16, 18
    pos_payment_terminal

    Connect Odoo Point of Sale to a generic card or check payment terminal through the IoT proxy, so cashiers can send the amount to the terminal and get the result back automatically.

  • pos_payment_usability

    Adds a large Validate button to the Point of Sale payment screen so cashiers can confirm a payment more easily, especially on touch screens.

  • pos_picking_delayed

    This module lets you delay the creation of stock transfers (pickings) for Point of Sale orders, so the order is saved instantly and the transfer is generated later in the background. It is useful when printing the receipt must happen quickly.

  • pos_picking_load

    Lets cashiers load an existing stock picking (e.g. a prepared online order) directly into the Point of Sale, adjust the products, and pay for the real delivered goods. The original picking is then cancelled and linked to the new PoS order.

  • pos_place

    Lets you define sales places (e.g. market stalls, shops) and tag each Point of Sale order and its invoice with the place where the sale happened, then filter and group orders, invoices and reports by place.

  • POS PMS linkOdoo 14, 16
    pos_pms_link

    This module lets Point of Sale cashiers look up hotel PMS reservations, add their services to a POS order, and pay for them directly from the POS screen. It also adds options to control cash in/out and session closing.

  • pos_price_to_weight

    Adds a new barcode type in Point of Sale that reads a price from the barcode and automatically computes the quantity to add, based on the product's unit price. Useful for selling products priced by weight or volume.

  • pos_pricelist_technical

    Hides technical pricelists in the Point of Sale so cashiers can only choose real customer pricelists. Technical pricelists used to compute other pricelists are no longer selectable on orders or customer screens.

  • pos_product_cost_security

    This module makes the Point of Sale work smoothly for cashiers who are not allowed to see product costs. It quietly bypasses the cost-field restriction only while the Point of Sale loads its data.

  • PoS Product Display Default CodeOdoo 14, 15, 16, 18, 19
    pos_product_display_default_code

    Adds an option in the Point of Sale settings to show each product's internal reference next to its name. When enabled, the reference appears in the product list, on order lines and on the receipt.

  • pos_product_label

    Adds a "Print Labels" button to the Point of Sale screen so cashiers can print product labels for the products in the current order, choosing quantities and label format.

  • pos_product_mergeable_line

    Adds a 'Mergeable Line' checkbox on products. When unchecked, that product's order lines in the Point of Sale will never be merged with another line, so each movement stays separate.

  • pos_product_packaging_container_deposit

    In the Point of Sale, when a product sold in a returnable container is scanned, the matching container deposit product is automatically added to the order and its quantity follows the sold quantity.

  • pos_product_packaging_multi_barcode

    Lets cashiers in the Point of Sale scan any of the several barcodes defined on a product packaging, not just the main one. When a packaging has multiple barcodes, all of them are recognised at the till.

  • pos_product_pricelist_alternative

    In the Point of Sale, product prices can now be automatically taken from alternative price lists when the reference price list rule allows it, always choosing the lowest available price.

  • pos_product_quick_info

    Adds an info button to each product tile in the Point of Sale screen so cashiers can view product details without adding the item to the cart. The feature can be turned on or off per point of sale in the settings.

  • pos_receipt_hide_info

    Lets you hide the cashier name, company email and company phone from the Point of Sale receipt. Each option is a checkbox in the POS settings and is enabled by default.

  • pos_receipt_replace_user_by_trigram

    Lets you print a short 3-letter code (trigram) instead of the cashier's full name on Point of Sale receipts, and adds a Trigram field on users.

  • pos_receipt_replace_user_by_trigram_hr

    Adds a trigram field to employees so the Point of Sale can show a short code instead of the cashier's name on receipts. It is a technical link module that installs automatically.

  • pos_receipt_usability

    Improves the Point of Sale receipt screen by moving the validation button next to the notice area, making it easier for cashiers to see and use.

  • pos_receipt_vat_detail

    Adds a tax breakdown table to the Point of Sale receipt, showing the base amount and the tax amount for each VAT rate, plus totals. Useful when customers need a detailed receipt for expense claims or accounting.

  • POS report Session SummaryOdoo 12, 13, 14, 15, 16, 18
    pos_report_session_summary

    Adds a printable PDF Session Summary report for Point of Sale sessions, showing session details, cash statement balances and differences, statement lines and cash payments.

  • pos_require_product_quantity

    Adds a setting to require that every product line in a Point of Sale order has a quantity greater than zero. If any line has quantity 0, a popup blocks payment until it is fixed.

  • pos_reset_search

    In the Point of Sale, clicking a product with the mouse now clears the product search box, so beginners can search, narrow the list and pick a product without retraining.

  • pos_restaurant_multi_company

    This module lets you assign restaurant floors, tables and printers to a specific company in Odoo Point of Sale Restaurant. Users only see the floors, tables and printers that belong to their allowed companies.

  • pos_restaurant_receipt_usability

    In the Point of Sale Restaurant, after cashing part of a split bill, the receipt screen now offers a "Continue to Cash In" button that takes the cashier back to the split screen so the remaining guests can pay, instead of only being able to start a new order.

  • pos_restaurant_split_order_usability

    In the Restaurant Point of Sale split screen, this module shows the lines that were already paid on the original order, so staff can see what was already settled before splitting the bill.

  • pos_sale_product_config_no_variant

    Shows the attribute values chosen in the Point of Sale product configurator on the POS order line, so cashiers and back-office users can see exactly which options were selected for a product.

  • POS Session Pay invoiceOdoo 12, 13, 14, 16, 18
    pos_session_pay_invoice

    Lets cashiers pay supplier invoices, collect payments for customer invoices and handle customer refunds directly from an open Point of Sale session, using the session's payment methods.

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.