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

See the new Odoo user documentation.

See the new Odoo technical documentation.

Purchase Analysis through Analytic Accounts

Powerful Statistics

OpenERP enables you to perform analysis of purchases by period (year, month), by state (quotations, orders), supplier, product, category, warehouse and so on. This is made possible through a search view accessed through the menu Reporting ‣ Purchase ‣ Purchase Analysis.


Analysis of Purchases

Это анализ проводится по заказам поставщикам, а не по счетам или по действительно полученному количеству. Для получения анализа по продукту установите модуль product_margin. Подробно работа этого модуля описана в разделе «Управление вашими продажами».

To analyze the received quantities, you can use the statistical reports in Warehouse.

To manage purchases by project, you should use analytic accounts. You can set an analytic account on each line of a supplier order. The analytic costs linked to this purchase will be managed by OpenERP from the goods receipt and confirmation of the supplier invoice.

The hr_timesheet_invoice module lets you re-invoice the analytic costs automatically using parameters in the analytic accounts such as sale pricelist, associated partner company, and maximum amount.

So you can put an invoice order with a defined invoice workflow in place based on the analytic accounts. If you are working Make to Order, the workflow will be:

  1. Заказ клиента (Customer Order),

  2. Procurement Order on supplier,

  3. Получение счета и товаров от поставщика (Receive invoice and goods from the supplier),

  4. Отправка и выставление счета клиенту (Delivery and invoicing to the customer).

When re-invoicing based on costs you would get the following workflow:

  1. Внести условия контракта с клиентом из аналитических счетов (Enter the customer contract conditions from the analytic accounts),

  2. Закупить сырье и записать оказанные услуги в табели (Purchase raw materials and write the services performed into the timesheets),

  3. Получить счет поставщика и продукцию (Receive the supplier invoice and the products),

  4. Выставить счета на затраты клиенту (Invoice these costs to the customer).


Analytic Multi-plans

If you want several analysis plans, you should install the module purchase_analytic_plans. These let you split a line on a supplier purchase order into several accounts and analytic plans.

Sitting at the heart of your company's processes, analytic accounts (or cost accounts) are indispensable tools for managing your operations well. Unlike your financial accounts, they are for more than accountants - they are for general managers and project managers, too.

You need a common way of referring to each user, service, or document to integrate all your company's processes effectively. Such a common basis is provided by analytic accounts (or management accounts, or cost accounts, as they are also called) in OpenERP.

Analytic accounts are often presented as a foundation for strategic enterprise decisions. But because of all the information they pull together, OpenERP's analytic accounts can be a useful management tool, at the center of most system processes.

Для этого существует несколько причин:

  • они отражают все ваши действия по управлению,

  • unlike the general accounts, the structure of the analytic accounts is not regulated by legal obligations, so each company can adapt it to its needs.


Independence from General Accounts

В некоторых прикладных пакетах программного обеспечения аналитические счета организованы как расширение бухгалтерских счетов общего учета -- например, с помощью двух последних цифр кода счета для хранения аналитических счетов.

In OpenERP, analytic accounts are linked to general accounts but are treated totally independently. So you can enter various different analytic operations that have no counterpart in the general financial accounts.

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

Just as in the general accounts, you will find accounting entries in the different analytic accounts. Each analytic entry can be linked to a general account, or not, as you wish. Conversely, an entry in a general account can be linked to one, several, or no corresponding analytic accounts.

You will discover many advantages of this independent representation below. For the more impatient, here are some of those advantages:

  • Вы сможете управлять множеством различных аналитических операций,

  • Вы сможете изменять план аналитических счетов «на лету», в процессе работы, вследствие его независимости,

  • Вы сможете избежать взрывного роста количества счетов общего учета,

  • even those companies that do not use OpenERP's general accounts can use the analytic accounts for management.


Who Benefits from Analytic Accounts?

Unlike general accounts, analytic accounts in OpenERP are not so much an accounting tool for Accounts as a management tool for everyone in the company. (That is why they are also called management accounts.)

Основными пользователями аналитических счетов являются директора, руководители верхнего звена, и руководители проектов.

Аналитические счета представляют собой мощный инструмент, который может быть использован различными способами. Весь фокус в том, чтобы создать свою собственную структуру плана аналитических счетов, который наилучшим образом соответствует потребностям вашей компании.

For this chapter, you should start with a fresh database that includes demo data, with sale and its dependencies installed, and no particular chart of accounts configured.

To Each Enterprise its own Analytic Chart of Accounts

To illustrate analytic accounts clearly, you will follow three use cases, each in one of three different types of company:

  1. Industrial Manufacturing Enterprise.

  2. Law Firm.

  3. IT Services Company.

Case 1: Industrial Manufacturing Enterprise

In industry, you will often find analytic charts of accounts structured into the departments and products that the company itself is built on.

So the objective is to examine the costs, sales and margins by department and by product. The first level of the structure comprises the different departments, and the lower levels represent the product ranges that the company makes and sells.


Analytic Chart of Accounts for an Industrial Manufacturing Company

  1. Отдел маркетинга (Marketing Department)

  2. Коммерческий отдел (Commercial Department)

  3. Административный отдел (Administration Department)

  4. Производство (Production)

    • Продукция Ассортимент 1 (Product Range 1)

    • Подгруппы

    • Продукция Ассортимент 2 (Product Range 2)

In daily use, it is useful to mark the analytic account on each purchase invoice. The analytic account is the one to which the costs of that purchase should be allocated. When the invoice is approved, it will automatically generate the entries for both the general and the corresponding analytic accounts. So, for each entry on the general accounts, there is at least one analytic entry that allocates costs to the department that incurred them.

Here is a possible breakdown of some general accounting entries for the example above, allocated to various analytic accounts:

Breakdown of general and analytic accounting entries (Case 1)

Счета общего учета (General accounts)


Счета аналитики


Название (Title)

Счет (Account)

Дебет (Debit)

Кредит (Credit)


Счет (Account)

Значение (Value)

Закупка сырья (Purchase of Raw Material)




Производство / Ассортимент 1 (Production / Range 1)

-1 500

Субподрядчики (Subcontractors)




Производство / Ассортимент 2 (Production / Range 2)


Возвраты за дефектные материалы (Credit Note for defective materials)





Производство / Ассортимент 1 (Production / Range 1)


Расходы на транспорт (Transport charges)




Производство / Ассортимент 1 (Production / Range 1)


Расходы на сотрудников (Staff costs)




Маркетинг (Marketing)

-2 000


Коммерческий (Commercial)

-3 000



-1 000


Производство / Ассортимент 1 (Production / Range 1)

-2 000


Производство / Ассортимент 2 (Production / Range 2)

-2 000

Общественная информация и реклама (PR)




Маркетинг (Marketing)


Аналитическое представление по подразделениям позволяет вам исследовать затраты, распределенные по подразделениям в компании.

So, the analytic chart of accounts shows the distribution of the company's costs using the example above:

Analytic chart of accounts (Case 1)

Счет (Account)

Итого (Total)

Отдел маркетинга (Marketing Department)

-2 450

Коммерческий отдел (Commercial Department)

-3 000

Административный отдел (Administration Department)

-1 000

Производство (Production)

-6 200

Продукция Ассортимент 1 (Product Range 1)

-3 750

Продукция Ассортимент 2 (Product Range 2)

-2 450

In this example of a hierarchical structure in OpenERP, you can analyze not only the costs of each product range but also the costs of the whole of production. The balance of a summary account ( Production ) is the sum of the balances of the child accounts.

Отчет, который относится и к общему бухгалтерскому учету, и к счетам аналитики, позволяет получить разбиение затрат внутри данного отдела. В таблице ниже приведен анализ подразделения Продукция / Ассортимент 1:

Report merging both general and analytic accounts for a department (Case 1)

Продукция / Ассортимент 1 (Production / Product Range 1)


Счет общего учета (General Account)

Сумма (Amount)

600 -- Сырье (600 -- Raw Materials)

- 1 300

613 -- Транспортные расходы (613 -- Transport charges)

- 450

6201 -- Затраты на сотрудников (6201 -- Staff costs)

-2 000

Итого (Total)

-3 750

Приведенные выше примеры основаны на затратах компании. Аналитическое разбиение может быть так же эффективно для анализа продаж. Оно дает показатель прибыльности (продажи - затраты) для различных подразделений.


Representation by Unique Product Range

Такое аналитическое представление по подразделениям и ассортименту продуктов обычно используется в торговле и промышленности.

Существует вариант не разбивать затраты по отделам продаж и маркетинга, а назначить каждой затрате соответствующий ассортимент продукции. Это даст возможность анализа прибыльности каждого ассортимента продукции.

Choosing one over the other depends on how you look at your marketing effort. Is it a global cost allocated in some general way, or does each product range have responsibility for its own marketing costs?

Case 2: Law Firm

Law firms generally adopt management by case, where each case represents a current client file. All of the expenses and products are then attached to a given file.

A principal preoccupation of law firms is the invoicing of hours worked, and the profitability by case and by employee.

Механизмы, используемые для внесения часов в систему, будут подробно рассмотрены в следующей главе -- «Key Features HR». Как и большинство системных процессов, учет отработанных часов интегрирован в аналитический учет. Каждый раз, когда сотрудник вводит в табель количество часов, это автоматически генерирует проводки соответствующих расходов на стоимость этих часов по аналитическим счетам в соответствующем юридическом деле. Почасовая ставка -- это функция от заработной платы работника.

Таким образом, юридические фирмы будут выбирать аналитическое представление, отражающее управление временем, которое сотрудники работают по различным клиентским делам.


Example Representation of an Analytic Chart of Accounts for a Law Firm

  1. Отсутствия на рабочем месте

    • Оплачиваемые отсутствия

    • Не оплачиваемые отсутствия

  2. Внутренние проекты

    • Административные

    • Прочие

  3. Client Cases

    • Клиент 1

    • Дело 1.1 (Case 1.1)

    • Дело 1.2

    • Клиент 2

    • Дело 2.1 (Case 2.1)

Все расходы и продажи затем прикрепляется к делу. Это позволяет узнать рентабельность по каждому конкретному делу, и, на консолидированном уровне, по каждому клиенту.

Billing for the different cases is a bit unusual. The cases do not match any entry on the general account and nor do they come from purchase or sale invoices. They are represented by the various analytic operations and do not have exact counterparts in the general accounts. They are calculated on the basis of the hourly cost per employee. These entries are automatically created on billing worksheets.

At the end of the month when you pay salaries and benefits, you integrate them into the general accounts but not in the analytic accounts, because they have already been accounted for in billing each account. A report that relates data from the analytic and general accounts then lets you compare the totals, so you can readjust your estimates of hourly cost per employee depending on the time actually worked.

Таблица ниже приводит пример различных аналитических проводок, которые вы можете найти на вашем аналитическом счете:

Analytic entries for the account chart (Case 2)

Название (Title)

Счет (Account)

Сумма (Amount)


Счет общего учета (General Account)

Дебет (Debit)

Кредит (Credit)

Изучение файлов (1 час) (Study the file (1 h))

Дело 1.1 (Case 1.1)



Поиск информации (3 часа) (Search for information (3 h))

Дело 1.1 (Case 1.1)



Консультирование (4 часа) (Consultation (4 h))

Дело 2.1 (Case 2.1)



Плата за услуги (Service charges)

Дело 1.1 (Case 1.1)



705 – Плата за услуги (705 – Billing services)



Канцелярские закупки (Stationery purchase)




601 – Закупка мебели (601 – Furniture purchase)



Стоимость горючего -поездка к клиенту (Fuel Cost -Client trip)

Дело 1.1 (Case 1.1)



613 – Транспорт (613 – Transports)



Зарплата сотрудникам (Staff salaries)


6201 – Зарплата (6201 – Salaries)


3 000

You will see that it allows you to make a detailed study of the profitability of different transactions. In this example, the cost of Case 1.1 is 95.00 (the sum of the analytic costs of studying the files, searching for information and service charges), but has been invoiced for 280.00, which gives you a gross profit of 185.00.

But an interest in analytical accounts is not limited to a simple analysis of the profitability of different cases.

This same data can be used for automatic recharging of the services to the client at the end of the month. To invoice clients, just take the analytic costs in that month and apply a selling price factor to generate the invoice. Invoicing mechanisms for this are explained in greater detail in Deliver Quality Services. If the client requires details of the services used on the case, you can then print the service entries in the analytic account for this case.


Invoicing Analytic Costs

Most software that manages billing enables you to recharge for hours worked. In OpenERP, these services are automatically represented by analytic costs. But many other OpenERP documents can also generate analytic costs, such as credit notes and purchases of goods.

So when you invoice the client at the end of the month, it is possible for you to include all the analytic costs, not just the hours worked. So, for example, you can easily recharge the whole cost of your journeys to the client.

Case 3: IT Services Company

Most IT service companies face the following problems:

  • планирование проектов,

  • выставление счетов, прибыльность и финансовое сопровождение проектов,

  • управление договорами поддержки и сопровождения.

To deal with these problems, you would use an analytic chart of accounts structured by project and by contract. A representation of that is given in the following example:


Example Analytic Representation of a Chart of Accounts for an IT Services Company

  1. Внутренние проекты

    • Административные и коммерческие

    • Исследования и разработка

  2. Клиентские проекты

    • Клиент 1

    • Проект 1.1

    • Проект 1.2

    • Клиент 2

    • Проект 2.1

    • Проект 2.2

  3. Договоры поддержки – 20 час.

    • Потребитель X

    • Потребитель Y

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

But now look at support contracts. These contracts are usually limited to a prepaid number of hours. Each service posted in the analytic accounts shows the remaining available hours of support. For the management of support contracts, you would use the quantities and not the amounts in the analytic entries.

In OpenERP, each analytic line lists the number of units sold or used, as well as what you would usually find there – the amount in currency units (USD or GBP, or whatever other choice you make). So you can sum the quantities sold and used on each analytic account to determine whether any hours of the support contract remain.

To differentiate services from other costs in the analytic account, you use the concept of the analytic journal. Analytic entries are then allocated into the different journals:

  • журнал услуг (service journal),

  • журнал расходов (expense journal),

  • журнал продаж (sales journal),

  • журнал закупок (purchase journal).

So to obtain the detailed breakdown of a support contract, you only have to look at the service journal for the analytic account corresponding to the contract in question.

Finally, the analytic account can be used to forecast future needs. For example, monthly planning of staff on different projects can be seen as an analytic budget limited to the service journal. Accounting entries are expressed in quantities (such as number of hours, and numbers of products), and in amounts in units of currency (USD or GBP perhaps).

So you can set up planning on just the basis of quantities. Analyzing the analytic budget enables you to compare the budget (that is, your plan) to the services actually carried out by month end.


Денежный бюджет

Problems of cash management are amongst the main difficulties encountered by small growing businesses. It is really difficult to predict the amount of cash that will be available when a company is young and rapidly growing.

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

But since you know your selling price for each of the different projects, you can see that it is easy to use the plan in the analytic accounts to more precisely forecast the amounts that you will invoice in the coming months.