OCA modules for Odoo 17
There are 1,994 OCA community modules confirmed in Odoo 17.0: for each one, the branch, the module directory and the installable manifest have been checked on GitHub. Odoo 16 has 3,166. Open any module to see what it does, its availability in the other versions and its sources.
Confirmed modules per version
Repositories with the most modules in Odoo 17
See also
Modules for Odoo 17
- PayrollOdoo 13, 14, 15, 16, 17, 18, 19payroll
Manage employee payroll in Odoo: define salary structures and rules, generate payslips individually or in batches, compute worked days and leaves, and print payslip and contribution reports.
- Payroll AccountingOdoo 13, 14, 15, 16, 17, 18payroll_account
Links payroll to accounting: when a payslip is confirmed, Odoo automatically creates and posts the corresponding journal entry, using the salary journal and accounts defined on contracts and salary rules.
- Payroll Contract AdvantagesOdoo 14, 16, 17, 18payroll_contract_advantages
Lets payroll users define reusable advantage templates (with code, default value and allowed minimum/maximum) and attach a list of advantages with amounts to each employee contract, so salary rules can use them in payslip calculations.
- Payroll Public HolidaysOdoo 14, 17, 18payroll_hr_public_holidays
Adds public holidays as a worked-days line on payslips, so salary rules can use public holiday days and hours in payroll computation.
- PDF HelperOdoo 14, 15, 16, 17pdf_helper
This technical module provides reusable helpers to read XML files embedded inside PDFs and to attach XML files to PDFs. It adds no menus or screens; other modules use it to exchange electronic documents.
- Portal Accounting Personal Data OnlyOdoo 15, 16, 17, 18, 19portal_account_personal_data_only
Restricts portal users so they only see their own invoices and invoice lines, instead of every document of the organizations they follow. It replaces Odoo's default portal accounting access rules with stricter personal ones.
- Portal Invitation by WebsiteOdoo 17, 19portal_invitation_by_website
When inviting contacts as portal users, you can pick a website for the invitation. The signup email then uses that website's name and domain instead of the company's.
- Remove Odoo Branding from WebsiteOdoo 12, 13, 14, 15, 16, 17, 18portal_odoo_debranding
Removes Odoo branding from portal pages by hiding the Odoo promotion block and the hidden sidebar element on customer portal screens.
- Portal Sale Confirm Require LoginOdoo 17, 19portal_sale_confirm_require_login
Adds an option to force customers to log in before opening a quotation or sale order from a portal link, and blocks signing, accepting or paying until their contact details (phone, VAT, address, country) are complete.
- Portal Sale Personal Data OnlyOdoo 12, 13, 14, 15, 16, 17, 18, 19portal_sale_personal_data_only
Restricts portal users so they only see their own quotations, sales orders, invoices and invoice lines, instead of all documents of their organization.
- POS Analytic ConfigOdoo 12, 13, 14, 15, 16, 17, 18, 19pos_analytic_by_config
Lets you set analytic distribution rules that apply only to a specific Point of Sale configuration, so POS orders and their invoices get the right analytic accounts automatically.
- Cash Control ExtensionOdoo 17, 18pos_cash_control_extension
Extends the Point of Sale cash control so the opening cash amount is recorded and posted as a message, and the closing screen shows the expected cash based on the opening balance plus cash movements.
- POS cash in-out reasonOdoo 12, 14, 15, 16, 17pos_cash_move_reason
Lets you record cash put into or taken out of a Point of Sale session with a predefined reason, and automatically posts the matching accounting entry to the right income or expense account.
- Point Of Sale Category Multi CompanyOdoo 16, 17, 18pos_category_multicompany
Adds a Company field to Point of Sale categories so each category can belong to a specific company. Users only see categories of their allowed companies, keeping multi-company POS data separated.
- pos_category_vertical_display
Shows the Point of Sale product categories in a vertical, scrollable strip instead of the default horizontal layout, making it easier to browse categories on the POS screen.
- POS Config PhoneOdoo 17pos_config_phone
Lets you set a specific phone number for each Point of Sale, which is printed on the receipt instead of the company's default phone number.
- POS Customer Age WarningOdoo 17pos_customer_age_warning
In the Point of Sale, when a customer is selected, their age is calculated from their birth date and compared to an age limit set in the POS settings. If the customer is at or below that age, their name is shown in red and an alert pops up.
- POS Customer Display MonitorOdoo 17pos_customer_display_monitor
Lets Point of Sale users choose which monitor shows the customer display, and remembers that choice per Point of Sale so the display reopens on the same screen.
- pos_customer_history_color
In the Point of Sale, products a selected customer has already bought in the past are shown in purple, both in the product list and on the order lines, so cashiers can spot repeat purchases at a glance.
- POS Early Receipt PrintingOdoo 17, 18pos_early_receipt_printing
Adds an "Early Receipt Printing" option to Point of Sale settings so shops (not restaurants) can print a bill before payment. When enabled, a Bill button appears in the POS screen.
- PoS Hide Cost and MarginOdoo 15, 17pos_hide_cost_price_and_margin
This module adds settings to the Point of Sale that let you hide product cost and margin information from everyone, including managers, in the product info popup.
- POS Lot BarcodeOdoo 15, 16, 17, 18pos_lot_barcode
In the Point of Sale, cashiers can scan a lot or serial number barcode to add the matching product to the order, and scan it again to fill the lot/serial number popup instead of typing it.
- POS Lot SelectionOdoo 15, 16, 17pos_lot_selection
In the Point of Sale, when a cashier sells a tracked product and must enter a lot or serial number, Odoo now suggests the existing lots that still have stock, so the right number can be picked from a list instead of typed from memory.
- PoS Order MarginOdoo 12, 13, 14, 16, 17, 18pos_margin
Shows the profit margin and margin rate of each product line and of the whole order directly in the Point of Sale screen, and adds margin information to the POS order list and report.
- pos_open_cashbox_after_payment
Automatically opens the cash drawer after every payment in the Point of Sale, even for card or other non-cash payments, so cashiers can store the receipt in the drawer.
- POS with Operating UnitsOdoo 14, 17pos_operating_unit
Assign operating units to Point of Sale configurations so that users only see the POS configs, sessions, orders, order lines and payments that belong to their allowed operating units.
- Pos AttachmentOdoo 17pos_order_attachment
Lets cashiers attach files (photos, PDFs, etc.) to Point of Sale orders directly from the POS screen, and lets back-office users see and filter those attachments on the order form.
- Pos Order CopyOdoo 17pos_order_copy
Lets Point of Sale users duplicate an existing order directly from the POS screen, creating a new draft order with the same products and details so it can be adjusted and paid.
- pos_order_line_customer_history
Adds a History button in the Point of Sale that shows a customer's past purchased products and lets cashiers add those products to the current order with one click.
- pos_order_line_show_product_info
Adds an information icon to each Point of Sale order line so cashiers can open the product info popup directly from the cart.
- Pos Split InvoiceOdoo 17pos_order_split_invoice
Lets a Point of Sale order be split between two customers: the customer pays part of the price at the till and a second partner is invoiced for the remaining share, which Odoo creates automatically as a separate invoice.
- PoS Order To Sale OrderOdoo 12, 13, 14, 16, 17, 18pos_order_to_sale_order
Lets cashiers turn the current Point of Sale order into a real sale order (draft, confirmed, delivered or invoiced) and then clears the POS screen. Useful for shops that take orders on a simple screen and invoice customers later.
- Pos Partner Address RequiredOdoo 17pos_partner_address_required
In the Point of Sale, when a cashier creates or edits a customer, the street, city and zip code fields must be filled in before the customer can be saved.
- Point of Sale - Partner contact birthdateOdoo 14, 16, 17, 18, 19pos_partner_birthdate
Shows the customer's birthdate in the Point of Sale customer list and lets cashiers search customers by that date.
- POS Partner FirstnameOdoo 12, 14, 16, 17pos_partner_firstname
In the Point of Sale customer form, you can now edit a customer's first name and last name separately, and mark a customer as a company. The full display name is built automatically from those parts.
- pos_partner_firstname_required
In the Point of Sale, when creating or editing a customer who is a person, the first name and last name become mandatory. If either is missing, a popup blocks saving until both are filled in.
- pos_partner_ref
Adds the customer reference field to the Point of Sale customer screen, so cashiers can view and edit a customer's reference directly in the POS and search customers by it.
- POS Partner Sale WarningsOdoo 16, 17pos_partner_sale_warning
Shows sales warnings for customers directly in the Point of Sale when a cashier selects a partner, and can block the selection if the warning is set to block sales.
- Pos Partner Second LastnameOdoo 17pos_partner_second_lastname
Adds a "Second Lastname" field to the customer form in the Point of Sale, so cashiers can capture and edit a customer's second surname directly at the till.
- Pos Partner Vat RequiredOdoo 17pos_partner_vat_required
In the Point of Sale, the customer form now requires a Tax ID (VAT) before a new or edited customer can be saved, showing an error popup if it is left empty.
- Pos Partner Vat ValidOdoo 17pos_partner_vat_valid
When a cashier creates or edits a customer in the Point of Sale, the Tax ID (VAT) is checked against the selected country before the customer is saved. If the number does not match, an error popup appears and the change is not saved.
- Point Of Sale - Change PaymentsOdoo 12, 14, 15, 16, 17pos_payment_change
Lets a cashier correct the payment lines of a paid Point of Sale order while its session is still open, either by updating the payments directly or by refunding and re-selling the order.
- PoS Payment DescriptionOdoo 16, 17pos_payment_description
Adds a 'Payments' column to the Point of Sale orders list showing how each order was paid (payment method or journal and amount), and lets you search orders by that payment text.
- PoS Payment Method CashDroOdoo 12, 14, 16, 17, 18pos_payment_method_cashdro
Lets Point of Sale users take payments through a Cashdro cash terminal. You configure the terminal on a payment method, and the cash amount is filled in automatically from the machine.
- Pos Lot ExpiryOdoo 17, 18pos_product_expiry
In the Point of Sale, when a cashier enters a lot number for a product that tracks expiration dates, Odoo checks the lot's expiry date and blocks the sale if the lot is expired or unknown.
- pos_product_info_location
Shows, inside the Point of Sale product information popup, the list of internal stock locations where the product is available and the quantity in each one, hiding locations with no stock.
- PoS Product multi barcodeOdoo 14, 16, 17, 18pos_product_multi_barcode
Lets cashiers in the Point of Sale find and scan a product using any of its extra barcodes, not just the main one. The extra barcodes are also searchable by name in the PoS product search.
- POS - Product TemplateOdoo 12, 14, 15, 17pos_product_template
In the Point of Sale screen, products that have several variants are shown once, as a single card with the template name and the number of variants, instead of one card per variant. Tapping that card opens a popup where the cashier picks the attributes and…
- Pos receipt gift cardOdoo 17pos_receipt_gift_card
Shows gift card codes and their balances on POS receipts when a gift card is used as payment, including on reprinted receipts.
- POS Receipt Hide PriceOdoo 14, 15, 16, 17pos_receipt_hide_price
Adds a Hide Price button in the Point of Sale so cashiers can print or email a receipt without showing any prices, totals, taxes, discounts or payment amounts.
- POS RMAOdoo 17pos_rma
Create return merchandise authorizations (RMAs) directly from the Point of Sale screen, with quantity and reason validation, and track them from the POS order form.
- Point of Sale Print Sales OrdersOdoo 16, 17pos_sale_order_print
Lets Point of Sale users print configured sales order reports directly from the POS order management screen, choosing which report to use from a popup.
- POS Screen Elements Custom SizeOdoo 16, 17pos_screen_element_custom_size
Lets you change the size of product tiles, product names and price labels on the Point of Sale screen from the POS settings, without any coding.
- POS Session SequenceOdoo 17, 18, 19pos_session_sequence
Lets you choose which numbering sequence is used for POS session references, per point of sale. When a session is opened, its reference is generated from that sequence.
- Pos Show ClockOdoo 14, 17pos_show_clock
Shows the current time on the Point of Sale screen so cashiers can see it without leaving Odoo. The clock updates every second and appears in the top navigation bar.
- Point of Sale Stock Available OnlineOdoo 16, 17pos_stock_available_online
Show live available stock quantities on Point of Sale product tiles, per warehouse, and update them automatically whenever stock changes.
- pos_user_restrict_stripe_bypass_user
Lets cashiers who are limited to their assigned points of sale still pay with Stripe in the Point of Sale, without being blocked by the point-of-sale user restriction.
- Point of Sale - Restrict usersOdoo 12, 13, 14, 15, 17, 18pos_user_restriction
Lets you assign specific users to specific points of sale so those users only see and work with their own POS, sessions, orders and reports.
- Printer ZPL IIOdoo 12, 13, 14, 15, 16, 17, 18, 19printer_zpl2
Lets you design ZPL II labels (text, barcodes, shapes, images) for any Odoo model and print them on Zebra printers, with a preview via the Labelary service and an import tool for existing ZPL code.
- Data Privacy and ProtectionOdoo 12, 13, 14, 15, 16, 17, 18privacy
Adds a Privacy area in Odoo where you can record data processing activities, naming who controls and processes personal data, and which partners are affected. Access is controlled by two new user groups.