OdooWiki OCA HUB

Point of Sale Require Customer

pos_customer_required folder_open OCA/pos open_in_new
Point Of Sale License: AGPL-3

This module was written to extend the functionality of odoo pos and allows you to require a customer for each pos order. In the pos session configuration, you can choose to require the customer for pos orders.

If a customer is not selected, the pos ui will display an error message. In the backend the customer field is required when needed.

Two new options are available:

  • Customer 'Required before starting the order';
  • Customer 'Required before paying';

'Required before starting the order' Option In the frontend PoS, the default screen is the screen to select customers.

  • Users are not allowed to start selling before having selected a customer;
  • Users can not 'deselect a customer', only select an other one;

'Required before paying' Option In the frontend PoS, the user can start selling, but if the user tries to make payment and if a customer is not selected, the pos ui will display an error message.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Lets you force Point of Sale cashiers to select a customer before starting an order or before paying, configurable per point of sale. Anonymous orders are blocked with an error message.

This module adds a "Require Customer" setting to each point of sale, with three choices: Optional, Required before paying, and Required before starting the order.

  • With "Required before starting the order", the Point of Sale opens the customer selection screen as soon as the selling screen appears, and the back button is hidden so the cashier cannot leave without picking a customer. Once a customer is chosen, the cashier can no longer remove it, only replace it with another one.
  • With "Required before paying", the cashier can sell freely, but when trying to validate the payment without a customer, a pop-up warns that an anonymous order cannot be confirmed and offers to select a customer.

The setting is available both on the point of sale configuration form and in the Point of Sale settings screen.

In the back office, the customer field on a point of sale order becomes mandatory whenever the setting is not Optional, and confirming a payment for an order without a customer is refused with an error. A validation check also prevents saving an order without a customer when the strictest option is active. The module touches pos.config, pos.order, pos.make.payment and res.config.settings.

Depends on

point_of_sale
Models and fields (4)
  • pos.order · extends an existing modelrequire_customer
  • pos.config · extends an existing modelrequire_customer
  • pos.make.payment · extends an existing model
  • res.config.settings · extends an existing modelpos_require_customer

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 16.0

To configure this module, you need to:

  • go to point of sale -> configuration -> point of sales
  • select the point of sales you want configure
  • search for the "Require Customer" and choose between the following values:
  • 'Optional'; (this module has no effect on this PoS config)
  • 'Required before paying';
  • 'Required before starting the order';

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.