OdooWiki OCA HUB

PoS Order - Change Policy

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

This module improves the 'Change' feature in Odoo Point of Sale, when a customer pays more that the amount of the PoS Order:

By default, a "Change" line is added on the receipt:

from an accounting point of view, it adds a second payment line in 'Cash' method with a negative amount corresponding to the surplus:

In some countries and for some payment methods, this is not the right way to proceed.

This module adds extra "Change Policy" option to manage differently the giving of change.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

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).

When a customer pays more than the amount due in the Point of Sale, Odoo normally gives the difference back as cash. This module adds a "Change Policy" setting on each payment method so you can decide what happens instead.

On the payment method form (Point of Sale configuration), two new fields appear after the journal: "Change Policy" with the choices "Cash" (the default) and "Exceptional Profit Product", and "Change Product". If you pick "Exceptional Profit Product", the "Change Product" field becomes mandatory and Odoo refuses to save the payment method without it. The product list is limited to services that are available in the Point of Sale.

During payment, if there is change and the payment method uses the "Exceptional Profit Product" policy, the system automatically adds one line of the chosen product to the order, priced at the change amount, before the order is validated. If that product is not available in the current Point of Sale, an error popup asks you to make it available and reload the session.

The payment screen label also changes: it shows "Change" for the cash policy and "Customer Loss" for the exceptional profit policy. The setting is loaded into the Point of Sale session together with the payment methods.

Depends on

point_of_sale
Models and fields (1)
  • pos.payment.method · extends an existing modelchange_policy, change_product_id

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: 1 confirmed, 8 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 16.0

Exceptional Profit Product

  • Create a dedicated 'No change' Product. The type of the product should be 'Service' and the product should available in PoS. Generally, no VAT is applied on such product.
  • Go to the payment method form.
  • set 'Change Option' as 'Exceptional Profit Product'
  • set the new product in the 'Change Product field'

Exceptional Profit Product

A dedicated warning will be displayed:

By default, a new sale order line is added on the receipt:

So, from an accounting point of view, it adds a new line that will impact a profit and loss account:

No verified information in OCA: Installation.

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.