This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

Accounting Entries

Various methods can be used to create accounting entries. You have already seen how an invoice creates its own entries, for example.

This section deals with

  • управление банковскими выписками,

  • управление наличностью,

  • manual journal entries.

Here we will show you how to enter financial transactions. In OpenERP, you can handle bank statements and also a cash register. Use different journals for these two kinds of transaction. According to the journal type selected, you will have a different screen.For more information about creating journals, refer to the Configuring Accounts from A to Z chapter.

Managing Bank Statements

OpenERP provides a visual tool for managing bank statements that simplifies data entry into accounts. As soon as a statement is validated, the corresponding accounting entries are automatically generated by OpenERP. So non-accounting people can enter financial transactions without having to worry about things such as credit, debit and counterparts.

To enter a bank statement, go to the menu Accounting ‣ Bank and Cash ‣ Bank Statements. A data entry form for bank statements then opens as shown in figure Data Entry Form for a Bank Statement.


Data Entry Form for a Bank Statement

The statement reference Name and the Date are automatically suggested by OpenERP. The Name will be filled with the statement number at confirmation of the bank statement. You can configure your own reference by managing sequences in the Settings ‣ Technical ‣ Sequences & Identifiers ‣ Sequences menu.

Then select the correct Journal. Ideally, when you are configuring your company, you would create at least one journal for each bank account and one journal for petty cash in your company. So select the journal corresponding to the bank account whose statement you are handling.

The currency that you are using for the statement line is that of the selected journal. If you are entering statement lines for an account in American Dollars (USD), the amounts must be entered in USD . The currency is automatically converted into the company's main currency when you confirm the entry, using the rates in effect at the date of entry. (This means that you would need valid currency conversion rates to be created first. Go to Accounting ‣ Configuration ‣ Miscellaneous ‣ Currencies menu.)

OpenERP automatically completes the initial balance based on the closing balance of the preceding statement. You can modify this value and force another value. This lets you enter statements in the order of your choice. Also if you have lost a page of your statement, you can enter the following ones immediately and you are not forced to wait for a duplicate from the bank.

So, complete the closing balance which corresponds to the new value in the account displayed on your bank statement. This amount will be used to control the operations before approving the statement.

Затем вы должны внести все строки выписки каждая строка соответствует банковской операции.

Enter the transaction line. You have two ways of entering financial transactions: manually or through the Import Invoices button.

Manual Entry

When you type the Partner name, OpenERP automatically proposes the corresponding centralisation account. The total amount due for the customer or supplier is pre-completed (Amount). This gives you a simple indication of the effective payment. You must then enter the amount that appears on your statement line: a negative sign for a withdrawal and a positive sign for a cash payment or deposit.

Import Invoices

Click the Import Invoices button, then click Add to select the invoices for which your payment will have to be reconciled. Click select to confirm your selection; the statement line will automatically be added with the corresponding reconciliation.


Reconciliation from Data Entry of the Bank Statement



Other methods of reconciliation are possible: from accounting entries, when saving the payment directly on an invoice, or using the automatic reconciliation tool.

Вы можете проводить как полную, так и частичную сверку.

Если вы видите расхождение между платежом и счетом к сверке, вы можете внести разницу во второй части формы -- Списание (Write-off). Вам надо указать счет для корректировки. Основные причины, объясняющие расхождение, обычно таковы:

  • profit or loss,

  • разница обменных курсов,

  • discounts given for fast payment.

When the reconciliation is complete - that is, the payment is equal to the sum of the due payments and the adjustments - you can close the reconciliation form.

The reconciliation operation is optional – you could very well do it later or not do it at all. However, reconciliation has got two significant effects:

  • отмечает, что счета были оплачены,

  • preventing the payment and invoice amounts from appearing on customer reminder letters. Unless you have reconciled them, a customer will see the invoice and payment amounts on his reminder letter (which will not alter the balance due since they will just cancel each other out).

Finally, once you have entered the complete bank statement, you can validate it. OpenERP then automatically generates the corresponding accounting entries if the calculated balance equals the final balance, indicated in the Closing Balance field. The reconciled invoices are marked as paid at that point.

You can also enter general accounting entries, for example, banking costs. In such cases, you can enter the amounts directly in the corresponding general accounts.

A user with advanced accounting skills can enter accounting entries directly into the bank journal from Accounting ‣ Journal Entries ‣ Journal Items. The result is the same, but the operation is more complex because you must know the accounts to use and must have mastered the ideas of credit and debit.

Управление наличностью

To manage cash, you can use the menu Accounting ‣ Bank and Cash ‣ Cash Registers. At the start of the day you set the opening amount of cash in the entry (Opening Balance). Then click on button Open CashBox, after you can start making entries from the Cash Transactions tab.


Cash Control

You have to go menu Accounting ‣ Configuration ‣ Journals ‣ Journals and open the cash journal , then go to the Cash Register tab of form and select option Opening With Last Losing Balance and Cash Control.

Because if you do not select that options , than you will find Opening Cash Control field 0.00 of Cash Register form. So first you have to configure Journal.


Defining the Cash Register

All the transactions throughout the day are then entered in this statement. When you close the cashbox, generally at the end of the day, enter the amounts on the Cash Control tab, in the Closing Balance section. Then confirm the statement to close the day's cash statement and automatically generate the corresponding accounting entries. Note that the Calculated Balance and the CashBox Balance need to be equal before you can close the cashbox.


Confirming the Statement

Accounting entries are only generated when the cash statement is confirmed. So if the total statement has not been approved (that is to say during the day, in the case of petty cash), partner payments will not have been deducted from their corresponding account.

Manual Entry in a Journal

Invoices and statements produce accounting entries in different journals. But you could also create entries directly in a journal (line by line) without using the dedicated journal views. This functionality is often used for miscellaneous entries.

To make manual entries, go to the following menu Accounting ‣ Journal Entries ‣ Journal Items. In the Journal field from the filter, select the journal in which you want to post. When you select a journal in this filter, you do not have to fill in the journal when posting new entries.

Let us give the example of a purchase invoice. Note, however, that these entries are usually generated automatically by OpenERP.

Click the Create button. Fill these fields manually in the following order:

  • Reference: reference from the invoice or entry,

  • Effective date: effective date of the entry, will be preset with today's date

  • Period: financial period, will be preset with the current period

  • Partner: partner concerned,

  • Account: general account (e.g. purchase account Products Purchase ),

  • Name: description of the invoice line (e.g. PC2 ),

  • Debit: here you type the debit amount.

  • Journal: here you select the journal in which you want to post.

  • Credit: here you type the credit amount, e.g. 1196 .

Press the Enter key on your keyboard to validate the first line. The next draft move number is assigned to your accounting entry. Your line is then colored red and takes the Unbalanced state. When a line is in the draft state, it is not yet reflected in the accounts. OpenERP will not validate that line until the balancing entry is made (so the credit amounts must balance the debit amounts for that set of entries).

OpenERP now proposes the balancing accounting line to be filled in. If the account used (in this case account 600000 ) includes taxes by default OpenERP automatically proposes taxes associated with the amount entered. At this stage you can modify and validate this second line of the account, or replace it with other information such as a second purchase line.

When you have entered all of the data from your lines, OpenERP automatically proposes counterpart entries to you, based on the credit entries.


Completing a Balancing Entry

When an accounting entry is matched, OpenERP moves it to the Valid state automatically and prepares to enter the next data. Do not forget to definitely post the valid entries by clicking the Action button and selecting Post Journal Entries.

If you want to add some other balancing lines you can enter the number of the entry on the new line that you are entering. In such a case the whole line stays Draft until the whole set balances to zero.

Reconciliation Process

Операция сверки состоит в сопоставлении проводок на различных счетах для указания, что они связаны. Обычно сверка используется для:

  • matching invoice entries to payments, so that invoices are marked as paid and customers do not get payment reminder letters for those entries (reconciliation in a customer account),

  • сопоставления депозитов и предъявление банковских чеков с соответствующим им платежами,

  • сопоставления счетов и кредитных нот для взаимной отмены.

Сверка должна проводиться на списке бухгалтерских проводок бухгалтером, так чтобы сумма по кредиту равнялась сумме по кредиту для сопоставляемых проводок.

Reconciliation in OpenERP can only be carried out in accounts that have been configured as reconcilable (the Reconcile field).


Do not confuse account reconciliation and bank statement reconciliation

It is important not to confuse the reconciliation of accounting entries with bank statement reconciliation. Account reconciliation consists of linking account entries with each other, while statement reconciliation consists of verifying that your bank statement corresponds to the entries of that account in your accounting system.

There are different methods of reconciling entries. You have already seen the reconciliation of entries while doing data entry in an account. Automatic and manual reconciliations are described here.

Automatic Reconciliation

For automatic reconciliation, you will be asking OpenERP to search for entries to reconcile in a series of accounts. OpenERP tries to find entries for each partner where the amounts correspond.

Depending on the level of complexity that you choose (= power) when you start running the tool, the software could reconcile from two to nine entries at the same time. For example, if you select level 5, OpenERP will reconcile, for instance, three invoices and two payments if the total amounts correspond. Note that you can also choose a maximum write-off amount, if you allow payment differences to be posted.


Form for Automatic Reconciliation

To start the reconciliation tool, click Accounting ‣ Periodical Processing ‣ Reconciliation ‣ Automatic Reconciliation.

При этом откроется форма, в которую необходимо внести следующую информацию:

  • Add Accounts to Reconcile : you can select one, several or all reconcilable accounts,

  • the Reconciliation Power (from 2 to 4 ),

  • checkbox Allow write off to determine whether you will allow for payment differences.

  • информация, необходимая для коррекции (информация для Движение списания (Write-Off Move)).



You can reconcile any account, but the most common accounts are:

  • всю Дебиторская задолженность -- счета ваших клиентов типа Дебитор,

  • всю Кредиторскую задолженность -- счета ваших поставщиков типа Кредитор.

The write-off option enables you to reconcile entries even if their amounts are not exactly equivalent. For example, OpenERP permits foreign customers whose accounts are in different currencies to have a difference of up to, say, 0.50 units of currency and put the difference in a write- off account.


Limit Write-off Adjustments

You should not make the adjustment limits too large. Companies that introduced substantial automatic write-off adjustments have found that all employee expense reimbursements below the limit were written off automatically!

Manual Reconciliation

For manual reconciliation, open the entries for reconciling an account through the menu Accounting ‣ Periodical Processing ‣ Reconciliation ‣ Manual Reconciliation.

You can also call up manual reconciliation from any screen that shows accounting entries.

Select entries that you want to reconcile. OpenERP indicates the sum of debits and credits for the selected entries. When these are equal you can click the Reconcile Entries button to reconcile the entries.


Example Real Case of Using Reconciliation

Suppose that you are entering customer order details. You wonder what is outstanding on the customer account (that is the list of unpaid invoices and unreconciled payments). To review it from the order form, navigate to the Partner record and select the view Receivables and Payables. OpenERP opens a history of unreconciled accounting entries on screen.

After running the Reconcile Entries wizard, these lines can no longer be selected and will not appear when the entries are listed again. If there is a difference between the two entries, OpenERP suggests you to make an adjustment. This "write-off" is a compensating entry that enables a complete reconciliation. You must therefore specify the journal and the account to be used for the write-off.

Например, если вы хотите сверить следующие проводки:

Entries for reconciliation

Дата (Date)

Ссылка (Ref.)


Счет (Account)

Дебет (Debit)

Кредит (Credit)

12 May 11


Автомобильные услуги (Car hire)




25 May 11


Страховка автомобиля (Car insurance)




31 May 11


Счета №№ 23, 44 (Invoices n° 23, 44)




On reconciliation, OpenERP shows a difference of 0.50. At this stage you have two possibilities:

  • do not reconcile, and the customer receives a request for 0.50,

  • сверить и назначить коррекцию в 0.50, которую вы поместите на счет учета прибылей и убытков.

OpenERP generates the following entry automatically:

Write-off account

Дата (Date)

Ссылка (Ref.)


Счет (Account)

Дебет (Debit)

Кредит (Credit)

Дата (Date)

Ссылка (Ref.)


Счет (Account)

Дебет (Debit)

Кредит (Credit)

03 Jun 11


Коррекция: Прибыли и убытки (Adjustment: profits and losses)




03 Jun 11


Коррекция: Прибыли и убытки (Adjustment: profits and losses)




Два счета и платеж будут отмечены как сверенные с учетом первой строки коррекции. Затем два счета будут автоматически отмечены как оплаченные.

Payment Management

OpenERP gives you forms to prepare, validate and execute payment orders. This enables you to manage issues such as:

  1. Платеж производится по нескольким датам оплаты.

  2. Даты автоматических платежей.

  3. Разделение подготовки платежа и одобрения платежа в вашей компании.

  4. Подготовка поручений на несколько платежей в течение недели, затем создание платежного файла в конце недели.

  5. Создание файла для электронных платежей, который может быть отправлен в банк для исполнения.

  6. Splitting payments depending on the balances available in your various bank accounts.

How to Manage your Payment Orders?

To use the tool for managing payments you must first install the module account_payment, or Go to menu Settings ‣ Configuration ‣ Accounting in eInvoicing & Payments section tick Manage payment orders. Supplier Payments are part of the core OpenERP system.

The system lets you enter a series of payments to be carried out from your various bank accounts. Once the different payments have been registered, you can validate the payment orders. During validation you can modify and approve the payment orders, sending the order to the bank for electronic funds transfer.

For example, if you have to pay a supplier's invoice for a large amount you can split the payments amongst several bank accounts according to their available balance. To do this, you can prepare several draft orders and validate them once you are satisfied that the split is correct.

This process can also be regularly scheduled. In some companies, a payment order is kept in Draft state and payments are added to the draft list each day. At the end of the week, the accountant reviews and confirms all the waiting payment orders.

Once the payment order is confirmed, there is still a validation step for an accountant to carry out. You could imagine that these orders would be prepared by an accounts clerk, and then approved by a manager to go ahead with payment.


Рабочий цикл платежа

An OpenERP workflow is associated with each payment order. Select a payment order, and if you are in the developer mode Click on Debug View# and then select print workflow to print the payment order workflow.

Вы можете интегрировать более сложные правила рабочего цикла для управления платежными поручениями путем адаптации рабочего цикла. Например, в некоторых компаниях платежи должны быть одобрены менеджером при определенных состояниях финансовых потоков или с ограничением по сумме.


Payments Workflow

In small businesses it is usually the same person who enters the payment orders and who validates them. In this case you should just click the two buttons, one after the other, to confirm the payment.

Prepare and Transfer Orders

To enter a payment order, use the menu Accounting ‣ Payment ‣ Payment Orders.


Entering a Payment Order

OpenERP then proposes a reference number for your payment order.

You then have to choose a payment mode from the various methods available to your company. These have to be configured when you set up the accounting system using the menu Accounting ‣ Configuration ‣ Miscellaneous ‣ Payment Mode. Some examples are:

  • Банковские чеки,

  • Банковский перевод,

  • Visa card on a bank account,

  • Наличные.

Then, you set the Preferred date for payment:

  • Due date : each operation will be effected at the invoice deadline date,

  • Directly : the operations will be effected when the orders are validated,

  • Fixed date : you must specify an effective payment date in the Scheduled date if fixed field that follows.

The date is particularly important for the preparation of electronic transfers, because banking interfaces enable you to select a future execution date for each operation. So to configure your OpenERP, most simply you can choose to pay all invoices automatically by their deadline.

You must then select the invoices to pay. They can be entered manually in the field Payment Line, but it is easier to add them automatically. For that, click Select Invoices to Pay and OpenERP will then propose lines with payment deadlines. For each deadline you can see:

  • the invoice Payment Date,

  • the reference Invoice Ref.,

  • срок оплаты счета,

  • the amount to be paid in the partner's default currency.

You can then accept the payment proposed by OpenERP, or select the entries that you will pay or not pay on that order. OpenERP gives you all the necessary information to make a payment decision for each line item:

  • счет бухгалтерского учета,

  • банковский счет поставщика,

  • сумма, которая будет оплачена,

  • сумма к оплате,

  • поставщик,

  • общая сумма задолженности перед поставщиком,

  • срок оплаты,

  • дату создания.

You can modify the first three fields on each line: the account, the supplier's bank account and the amount that will be paid. This arrangement is very practical because it gives you complete visibility of all the company's trade payables. You can pay only a part of an invoice, for example, and in preparing your next payment order OpenERP automatically suggests payment of the remainder owed.

When the payment has been prepared correctly, click Confirm Payments. The payment then changes to the Confirmed state and a new button appears that can be used to start the payment process.

You can print the payment order to send it to the bank by clicking the Print ‣ Payment Order at the top of the screen.