# Confirmed or paid invoice: the difference

> On virement.tn, a confirmed invoice is not a paid invoice. Understanding the statuses, the validation code and confirmation by the bank.

Source : https://virement.tn/en/blog/confirmed-vs-paid-invoice — last updated : 2026-09-19

In a payment by bank transfer, several moments follow one another: the request, the customer's agreement, the execution of the transfer, its receipt. Confusing them is the source of most delivery and accounting errors. virement.tn distinguishes them explicitly.

## The stages of an invoice

| Stage | What happened | What it proves |
| --- | --- | --- |
| **Issued** | The organization created the invoice | A payment request exists |
| **Confirmed** | The payer gave their consent (validation code), or confirmation was automatic for an already committed customer | The payer **accepts** the invoice |
| **Paid** | The bank confirmed execution of the transfer | The money **has really been sent** |

A confirmed invoice is therefore “awaiting payment”: the customer has committed, but the transfer has not yet been executed.

## Why this distinction protects everyone

- **The merchant** doesn't deliver on a mere promise.
- **The customer** isn't declared the payer of an invoice they haven't settled.
- **The accountant** has a single source of truth: the bank's confirmation.

## The role of the validation code

The validation code — 6 characters, single-use, valid for 24 hours — is found in the payer's space. It **proves their consent** and replaces entering a card number. But it moves no money: it is the transfer, executed afterwards from the bank, that does.

## For an already committed customer

For an already identified customer — recurring subscriber, insured person, tenant on a leasing contract — under a ceiling set by the organization, the invoice can be confirmed automatically, with no code. The principle remains the same: it is **paid** only after bank confirmation.

## What this implies for online sales

If you integrate virement.tn into a store, the rule is simple: **the order is released only when the confirmation webhook is received**, never on the response to the invoice-creation call. The details are in the article on [integrating bank transfer payment on your site](/en/blog/accept-bank-transfer-payments-on-your-website).

## Key takeaways

- **Confirmed** = the customer said yes.
- **Paid** = the bank confirmed the transfer.
- Only the second authorizes delivery and the accounting entry.

The full journey is described on the [how it works](/en/how-it-works) page.

## Frequently asked questions

### What makes an invoice move to “paid”?

Only the bank's confirmation that the transfer was actually executed. Neither the creation of the invoice, nor the validation code, nor a simple declaration by the payer is enough.

### What does the validation code prove?

The payer's consent: it confirms that they accept the invoice. It does not prove that the money has been sent.

### When should you deliver a good or a service?

On receipt of the payment confirmation, not before. That is the signal that should trigger delivery.
