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:

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:

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:

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.