Skip to Content

How to Confirm Invoices in Odoo Community (and Why Draft Invoices Don't Count at Tax Time)

July 13, 2026 by
Silicon Streets

This post is part of our guide to using Odoo Community's Invoicing module as a CRA-ready record-keeping system. Read the full guide here.

The problem with Draft invoices

In Odoo Community, every invoice starts life in Draft status. That is by design — it gives you a chance to review and edit before committing a record to your books.

The problem comes when invoices stay in Draft. A Draft invoice in Odoo does not create a journal entry. It does not appear in your revenue totals. It does not show up in your tax report. For all practical purposes, it does not exist yet — which means if your accountant runs a report on your fiscal year, or CRA asks for your income records, those Draft invoices are invisible.

This is the point that matters at tax time: every invoice you issue or receive should be confirmed — not left in Draft status. Getting into the habit of confirming invoices the moment they are finalized is one of the simplest and highest-impact habits you can build in Odoo.

What "Confirmed" actually means in Odoo Community

When you confirm an invoice in Odoo Community, three things happen:

  1. The status changes from Draft to Posted. The invoice is now locked — you cannot edit the amounts, date, or tax lines without first resetting it to Draft (which creates a clear audit trail).
  2. A journal entry is created. This is what actually records the transaction in your books and makes it visible in revenue and expense reports.
  3. The invoice is assigned a sequential number. Odoo stamps a permanent reference number (e.g., INV/2026/0042) that links the invoice to your records permanently.

Until all three of those things happen, the invoice is a draft document — not a financial record.

How to confirm a single invoice

Navigation: Invoicing → Customers → Invoices (for sales invoices) or Invoicing → Vendors → Bills (for purchase bills)

  1. Open the invoice you want to confirm.
  2. At the top of the form, you will see a status bar: Draft → Posted → In Payment → Paid. New invoices always open in Draft.
  3. Review the invoice: customer name, invoice date, line items, quantities, unit prices, and — critically — the Taxes column on each line. Make sure the correct tax rate (HST, GST, or GST+PST depending on your province) is applied before confirming.
  4. When everything looks correct, click the Confirm button in the top-left area of the form.
  5. The status bar advances to Posted. The invoice number is now assigned and the record is locked.

The invoice now exists in your books.

How to find invoices stuck in Draft

Before tax season, it is worth doing a full audit to make sure nothing has been left unconfirmed.

Navigation: Invoicing → Customers → Invoices

  1. In the invoice list view, click Filters (the dropdown above the list).
  2. Select Draft to filter the list to unconfirmed invoices only.
  3. Review each one. For each invoice that should be finalized: open it, verify the details, and confirm it.
  4. Repeat the same audit under Invoicing → Vendors → Bills to catch any unconfirmed purchase bills.

If you have a long list of stuck drafts, work through them chronologically — oldest first — so your journal entries post in the correct order.

A note on resetting and editing confirmed invoices

Once an invoice is Posted, Odoo locks it. If you discover an error (wrong amount, wrong tax rate, wrong customer), you have two options:

  • Reset to Draft (button appears on the Posted invoice): This unlocks the record so you can edit it. The original journal entry is reversed automatically when you re-confirm. This creates an audit trail — the reversal is visible in the journal entries.
  • Issue a credit note: For invoices that have already been sent to a customer and paid, issuing a credit note is the cleaner approach. It keeps the original invoice intact and records the correction separately.

Either way, do not delete invoices. CRA expects a complete, unbroken invoice number sequence. Gaps raise questions.

Quick checklist before closing your books

  • Filter Customers → Invoices by Draft — list should be empty (or contain only genuinely in-progress invoices)
  • Filter Vendors → Bills by Draft — same check
  • Confirm any legitimate unposted invoices
  • For any drafts that should not be posted (cancelled jobs, test records), use the Cancel button rather than deleting

Accuracy note

The navigation paths above reflect Odoo Community's Invoicing module. If your instance has been customized or you are running an older version, menu labels may differ slightly. This post does not constitute accounting or tax advice — confirm specifics with your accountant or consult CRA directly for guidance on your situation.


If you want to see how Odoo Community's Invoicing module works before committing, our 14-day trial gives you a live instance — no credit card required.

Start your free 14-day trial →

How to Use Odoo Community's Invoicing Module as a Tax-Season Record-Keeping System
A practical guide for Canadian small business owners on getting real tax-audit value from Odoo Community — and being honest about what Enterprise adds