OdooWiki OCA HUB

Point Of Sale - Invoicing

pos_invoicing folder_open OCA/pos open_in_new
Point of Sale License: AGPL-3

This module extend the Point of Sale Odoo module, regarding invoicing.

This module prevent to make some mistakes in Odoo Point of Sale regarding invoices generated via Point of Sale.

Without this module

When an invoice generated from Point of Sale is confirmed it is in a 'open' state, until the session is closed, and the entries are generated. At this step, invoice will be marked as 'paid' and the related accounting moves will be reconcilied. So, as long as the session is not closed, any user can:

  • cancel the invoice;
  • register a payment;
  • reconcile the invoice with an existing payment;

All that action should be prohibited because the payment exists.

With that module

All those actions will not be possible anymore.

Note that the changes only impact the opened invoice coming from point of sale, before the session is closed.

Technically

  • add a pos_pending_payment field on the account.invoice to mark the items that shouldn't be paid.

This field is checked when the invoice is created from point of sale, and is unchecked, when the session is closed.

auto_awesome What this module does

AI-generated from the code · Odoo 12.0

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.

When a customer invoice is created from the Point of Sale, it stays open until the session is closed. During that time, this module blocks actions that would conflict with the payment already taken at the till.

  • A new flag "PoS - Pending Payment" is shown on the customer invoice form, right after the reference field. It is set automatically on invoices generated from a Point of Sale order.
  • While this flag is on, the invoice cannot be cancelled: Odoo shows an error naming the invoice(s).
  • While this flag is on, a payment linked to such an invoice cannot be posted: Odoo shows an error naming the payment(s).
  • The outstanding credits/debts information is hidden for these invoices, so they do not appear as available for reconciliation.
  • When the Point of Sale session is closed, the flag is automatically cleared on all invoices of the session's orders, and the invoices become normal again.
  • When an invoice is created from a Point of Sale order, the module also checks that the invoice total and tax amounts match the order amounts, and raises an error if they differ.

The module touches account.invoice, account.payment, pos.order and pos.session.

Depends on

point_of_sale
Models and fields (4)
  • pos.order · extends an existing model
  • pos.session · extends an existing model
  • account.invoice · extends an existing modelpos_pending_payment (PoS - Pending Payment)
  • account.payment · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 12.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

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

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.