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.0Prevents 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
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-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/pos.
terminal Installation and usage
No verified informationInstallation 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.
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.