Website Builder

Create your stunning Website, that is Responsive & SEO friendly

Easy • No credit card required • Instant access


The chart Accounting workflow for invoicing and payment shows the financial workflow followed by each invoice. In general, when you use all of Odoo's functionality, invoices do not need to be entered manually. Draft invoices are generated automatically from other documents such as Purchase Orders.

account flow

Accounting workflow for invoicing and payment

Draft Invoice

The system generates invoice proposals which are initially set to the Draft state. While these invoices remain unconfirmed, they have no accounting impact within the system. There is nothing to stop users creating their own draft invoices if they want to.

You can create draft customer invoice manually using the menu Accounting > Customers > Customer Invoices.

The information that is needed for invoicing is automatically taken from the Partner form (such as payment conditions and the invoice address) or from the Product (such as the account to be used) or from a combination of the two (such as applicable Taxes and the Price of the product).

There are several advantages in working with draft invoices:

  • You have got an intermediate validation state before the invoice is approved. This is useful when your accountants are not the people creating the initial invoice, but are still required to approve it before the invoice is entered into the accounts.
  • It enables you to create invoices in advance, without approving them at the same time. You are also able to list all of the invoices awaiting approval.

Open or Pro Forma Invoices

You can approve (or validate) an invoice in the Open or Pro-forma state. A pro forma invoice does not have an invoice number yet, nor accounting entries. It is commonly used as a preliminary invoice or for customs purposes. It is more formal than a draft invoice and a pro forma invoice can later be converted to an open invoice.

Pro-forma in Invoice

Go to menu Settings > Configuration > Accounting in eInvoicing & Payments section tick Allow pro-forma invoices. Then the Pro-forma will be shown in Invoice form.

An open invoice has a unique invoice number. The invoice is sent to the customer and is marked on the system as awaiting payment.

Reconciliation and Payments

In Odoo, an invoice is considered to be paid when its accounting entries have been reconciled with the payment entries. If there has not been a reconciliation, an invoice can remain in the Open state until you have entered the payment.

To avoid surprises, it is important to understand the idea of reconciliation and its link with invoice payment.

You will find the Paid/Reconciled checkbox on an invoice. It is checked if the Journal Entry of the invoice has been totally reconciled with one or several Journal Entries of payment.

Reconciliation links entries in an account that cancel each other out – they are reconciled to each other (sum of credits = sum of debits). This is generally applied to payments against corresponding invoices.

Without the reconciliation process, Odoo would be incapable of marking invoices that have been paid. Suppose that you have got the following situation for the Smith and Offspring customer:

  • Invoice 145: 50.
  • Invoice 167: 120.
  • Invoice 184: 70.

If you receive a payment of 120, Odoo will delay reconciliation because there is a choice of invoices to pay. It could either reconcile the payment against invoices 145 and 184 or against invoice 167.

At regular intervals, and independent of the invoices, an automatic import procedure or a manual accounts procedure can be used to bring in bank statements. These comprise all of the payments of suppliers and customers and general transactions, such as between accounts.

When an account is validated, the corresponding accounting entries are automatically generated by Odoo.

Invoices are marked as Paid when accounting entries on the invoice have been reconciled with accounting entries about their payment.

This reconciliation transaction can be carried out at various places in the process, depending on your preference:

  • At data entry for the accounting statement.
  • Manually from the account records.
  • Automatically using Odoo's intelligent reconciliation.

You can create the accounting records directly, without using the invoice and account statements. To do this, use the rapid data entry form in a journal. Some accountants prefer this approach because they are used to thinking in terms of accounting records rather than in terms of invoices and payments.

You should really use the forms designed for invoices and bank statements rather than manual data entry records, however. These are simpler and are managed within an error-controlling system.

Records-based Accounting System

All the accounting transactions in Odoo are based on records, whether they are created by an invoice or created directly.

So, customer reminders are generated quickly from the list of unreconciled entries in the trade receivables account for that partner. In a single reminder, you will find the whole set of unpaid invoices as well as unreconciled payments, such as advance payments.

Similarly, financial statements such as the general ledger, account balance, aged balance (or chronological balance) and the various journals are all based on accounting entries. It does not matter if you generated the entry from an invoice form or directly in the invoice journal. It is the same for the tax declaration and other statutory financial statements.

When using integrated accounting, you should still go through the standard billing process because some modules are directly dependent on invoice documents. For example, a sales order can be configured to wait for payment of the invoice before triggering a delivery. In such a case, Odoo automatically generates a draft invoice to send to the client. 


Odoo has more than 4,500 open source business apps.

Launch Odoo and make your company a better place.