会计工作流和自动创建发票

The chart Accounting workflow for invoicing and payment shows the financial workflow followed by each invoice.

../../../../_images/account_flow.png

Accounting workflow for invoicing and payment

In general, when you use all of OpenERP’s functionality, invoices do not need to be entered manually. Draft invoices are generated automatically from other documents such as Purchase Orders.

发票草稿

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).

Tip

Draft Invoices

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.

商业或形式发票

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.

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

核销和支付

In OpenERP, 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.

Tip

Payment and Reconciliation

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.

Note

Reconciliation

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, OpenERP 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, OpenERP 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.

Tip

Treatment in Lots

Usually, different transactions are grouped together and handled at the same time rather than invoice by invoice. This is called batch work or lot handling.

You can select several documents in the list of invoices: check the checkboxes of the interesting lines using the web client and click the appropriate shortcut button at the right; or shift-click the lines using the mouse in the GTK client and use the action or print button at the top – these give you the option of a number of possible actions on the selected objects.

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 OpenERP.

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 OpenERP’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.

基于记录的会计系统

All the accounting transactions in OpenERP 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, OpenERP automatically generates a draft invoice to send to the client.