OCA/pos
OCA community repository with 199 Odoo modules confirmed in the OdooWiki catalogue (versions 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0). Reviewed on 2026-11-03.
Open on GitHubConfirmed modules per version
Modules in the repository
- Point Of Sale - InvoicingOdoo 12pos_invoicing
Prevents users from cancelling, paying or reconciling Point of Sale invoices while the PoS session is still open, because the payment is already recorded in the session.
- pos_journal_image
Lets you attach a picture to each payment journal used in the Point of Sale, and shows that picture on the payment screen so cashiers can recognise the payment method at a glance.
- 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 Loyalty ExcludeOdoo 16pos_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 PaymentOdoo 16pos_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 Mail ReceiptOdoo 12pos_mail_receipt
Lets cashiers email a Point of Sale receipt as a PDF instead of printing it. The customer's email is used automatically when known, otherwise the cashier is asked to type one.
- 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_margin_account_invoice_margin
This module makes sure that invoices generated from Point of Sale orders carry the purchase cost of each product, so the margin shown on those invoices is correct.
- pos_margin_accounting_role
Restricts the margin information added by the Point of Sale margin module so that only users with accounting access rights can see it on Point of Sale orders.
- PoS Order Margin StoredOdoo 16pos_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.
- Point Of Sale - Meal VoucherOdoo 12, 16pos_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.
- Point of Sale - MembershipOdoo 16pos_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_multi_ean
In the Point of Sale, cashiers can find and add a product to the order by scanning any of its extra barcodes (EAN codes), not just the main one.
- pos_multiple_control
Extends Point of Sale session closing so every payment journal marked for control must have a matching counted balance before the session can be validated, with a cash-count wizard and an automatic difference solver.
- POS No Cash Bank StatementOdoo 14pos_no_cash_bank_statement
Adds a "Generate Bank Statement" option to non-cash POS payment methods, so closing a POS session creates a bank statement and payment journal entries for those methods too.
- 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 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 Count StoreOdoo 12pos_order_count_store
Stores the number of Point of Sale orders per customer directly on the contact record, so you can filter, group and analyse POS orders in list and pivot views.
- 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_no_unlink
Prevents deleting Point of Sale order lines that belong to confirmed or invoiced orders, so sales history and certification data stay intact.
- Point of Sale - Note FieldOdoo 12pos_order_line_note
Stores the note typed on each Point of Sale order line in the database, so notes are kept and no warning appears in the logs.
- 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 Frontend Orders ManagementOdoo 12, 13, 14pos_order_mgmt
Lets cashiers work with past Point of Sale orders directly from the POS screen: copy an old order into a new one or create a refund from it, with two new options in the POS configuration.
- Point of Sale - New LineOdoo 16pos_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 Picking LinkOdoo 12pos_order_picking_link
Adds a smart button on transfer (stock picking) forms that shows the Point of Sale orders linked to that transfer, so users can jump straight from a delivery to the POS orders behind it.
- pos_order_product_search
Adds three new search fields to the Point of Sale Orders list: Product, Product Barcode and Product Reference, so users can find POS orders by what was sold.
- POS Order Remove LineOdoo 12, 13, 14, 16, 18pos_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.
- Point of Sale Re-orderOdoo 16pos_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.
- Point of Sale Order ReturnOdoo 12, 14pos_order_return
Adds controlled returns to Point of Sale: you can refund a whole order or only some lines, and Odoo blocks returning more than what was originally sold.
- pos_order_return_traceability
Adds return traceability to the Point of Sale frontend, letting cashiers return products from past orders while checking that quantities and lines are valid before payment.
- 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_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.
- Sale Financial Risk in POSOdoo 16pos_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 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.
- 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.
- 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 - Is CompanyOdoo 16pos_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_lang
Lets Point of Sale users see and change a customer's language directly from the customer details screen in the POS, so the chosen language is saved on the customer record.
- 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 - Forbid New Customer CreationOdoo 12, 16pos_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_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 Order - Change PolicyOdoo 16pos_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).