Cancel POS invoices without leaving the register

Fix the wrong payment method, cancel a duplicate invoice, or close out a shift — all in plain, cashier-friendly language, with a live financial preview and a full audit trail, right from Odoo Point of Sale.

The problem

A cashier rings up a sale, an invoice posts, and moments later the mistake surfaces — wrong payment method, a duplicate order, or a customer who changed their mind. Native Odoo forces that correction out of POS and into an accounting workflow that is intimidating for non-accountants, slows down the line, and leaves managers to clean up messy books later.

The solution

This module lets a cashier or manager cancel a POS-generated invoice, or fix its payment method, from inside POS or the back office — with a live preview of the financial impact, a structured reason, a refund-method choice, and a permanent audit log, before anything is confirmed.

Capabilities

Everything a register needs to fix a mistake

Every capability below is implemented in the module.

01

Cancel invoices from inside POS

A dedicated Cancel Invoice button on the order screen opens a guided popup — no trip to accounting required.

02

Fix the payment method without re-ringing

Swap a completed order's payment method in one wizard — no need to reverse and re-enter the whole sale.

03

Instant reconciliation, no duplicate invoices

A payment-method change re-reconciles the receivable line immediately and is guarded so it never spawns a second invoice.

04

Secure cancellation with a full audit trail

Every cancellation is logged with who, when, why, and the resulting credit note, with optional manager approval before it can proceed.

05

Structured cancellation reasons

Configurable reasons (duplicate order, wrong payment, pricing error, and more) give managers real visibility into why invoices get cancelled.

06

Choose how the customer gets refunded

Resolve the customer in the same flow — original payment method, store credit, or an alternative method — recorded on the audit log.

07

Offline cancellation queue

If the register loses connectivity, the cancellation queues locally and syncs automatically on reconnect — safely, with no duplicate reversals.

08

Bulk end-of-shift cancellation

Load every cancellable invoice for a session or date range and close them out together, with a shared reason and a done/failed summary.

09

Live financial-impact preview

See the exact total, tax, and refund amount before confirming — nothing changes the books until the operator says so.

Workflow

How it works

1

Open the order

From POS or the invoice form in the back office, select the invoiced order to correct.

2

Review the preview

See the total, tax, and refund amount before anything is confirmed, with a suggested reason already filled in.

3

Pick a reason and refund

Confirm or change the cancellation reason and choose original payment, store credit, or an alternative method.

4

Confirm

A credit note posts and reconciles automatically, the action is logged, and offline requests sync the moment the register reconnects.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

Yes. When the offline queue is enabled, a cancellation requested while offline is saved locally and automatically retried as soon as the register reconnects, with no risk of creating a duplicate reversal.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

POS Invoice Cancellation

Cancel POS-generated invoices from the register or the back office with structured reasons, refund-method choice, a live financial preview, batch end-of-shift closeout and an offline-safe audit trail.

Buy on Odoo App Store