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

See the new Odoo user documentation.

See the new Odoo technical documentation.

Понимание двойной записи управления запасами

Для понимания этой концепции применительно к управлению запасами, рассмотрим какими перемещениями запасов сопровождаются следующие операции:

  • Получение ТМЦ от проставщика,

  • Отгрузка заказчику,

  • Инвентаризация утраченных ТМЦ,

  • Производственная деятельность.

Структура мест хранения запасов показана на картинке Структура расположений хранения сразу после установки OpenERP. Предполагается полное отсутствие запасов, текущих или планируемых операций.

Если вы закажете 30 велосипедов (bicycles) от поставщика, OpenERP после получения продукции совершит следующие действия:

Stock Move operation from Suppliers to Stock

Место хранения

ТМЦ

Расположения у контрагентов > Поставщики > Поставщики (Partner Locations > Suppliers > Suppliers)

-30 велосипедов

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

+30 велосипедов

Если вы отправите 2 велосипеда клиенту в Европе, для поставки вы получите следующие транзакции:

Stock Move operation from Stock to European Customers

Место хранения

ТМЦ

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

-2 велосипеда

Места хранения партнера / Клиенты / Европейские заказчики

+2 велосипеда

Когда две операции завершены, вы получите следующее состояние запасов в каждом расположении:

Resulting stock situation

Место хранения

ТМЦ

Расположения у контрагентов > Поставщики > Поставщики (Partner Locations > Suppliers > Suppliers)

-30 велосипедов

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

+28 велосипедов

Места хранения партнера / Клиенты / Европейские заказчики

+2 велосипеда

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

Расположения у контрагентов (клиентов и поставщиков) не размещены в иерархической структуре вашей компании, так что их содержимое не рассматривается как часть ваших собственных запасов. Таким образом, если вы посмотрите на физические расположения внутри вашей компании, эти два велосипеда более не находятся в вашей компании. Они не находятся в ваших собственных физических запасах, но видеть их в запасах ваших клиентов очень полезно, так как это помогает вам проводить подробный анализ управления запасами.

Примечание

Регистры учета

В управлении запасами трудно предотвратить различие между данными в системе и действительными количествами в запасах. Управление запасами при помощи двойной записи дает в два раза больше возможностей найти ошибки. Если вы забудете две единицы в запасах, эта ошибка будет автоматически обнаружена в расположении участника.

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

В бухгалтерском учете все документы вызывают бухгалтерские проводки, которые составляют основу управленческого учета. При создании счета или внесении выписок со счета, например, в результате действий появляются бухгалтерские записи на счетах. Так же происходит и в управлении запасами в OpenERP. Все операции с запасами осуществляются как простые перемещения запасов. Если вы отгружаете продукты, или изготавливаете их, или проводите операции инвентаризации запасов, каждый раз производится перемещение запасов.

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

В OpenERP, с применяемым системой управлением запасами при помощи двойной записи, для такой инвентаризации вы будете использовать перемещения запасов. Это помогает управлять отслеживанием запасов. Если на складе физически имеется 26 велосипедов, а OpenERP в системе показывает 28, вам нужно будет уменьшить количество в OpenERP до 26. Это уменьшение на 2 единицы товара рассматривается как потеря либо разрушение продуктов и коррекция производится при помощи следующих операций:

Inventory operation to adjust stock

Место хранения

ТМЦ

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

-2 велосипеда

Виртуальные места хранения / Потери при инвентаризации

+2 велосипеда

После пересмотра, состояния запасов становится следующим:

Real and counterpart stocks when operations are completed

Место хранения

ТМЦ

Расположения у контрагентов > Поставщики > Поставщики (Partner Locations > Suppliers > Suppliers)

-30 велосипедов

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

+26 велосипедов

Места хранения партнера / Клиенты / Европейские заказчики

+2 велосипеда

Виртуальные места хранения / Потери при инвентаризации

+2 велосипеда

Данный пример показывает одно из огромных преимуществ такого подхода в терминах анализа производительности. По прошествии нескольких месяцев вы можете просто производить оценку запасов в расположении Виртуальные расположения > Потери инвентаризации (Virtual Locations > Inventory Loss), чтобы узнать величину потерь запасов компании за данный период.

Теперь посмотрим каким образом производственные операции структурированы в OpenERP. Для производства велосипеда нужны рама и колеса. Это означает, что реальные запасы будут уменьшены на два колеса и одну раму и увеличены на один готовый велосипед. Потребление / производство формализовано в виде перемещения ТМЦ из состава физических запасов и обратно. Операции с запасами будут такими:

Stock situation resulting from manufacture

Место хранения

ТМЦ

Этап

Виртуальные расположения > Производство по умолчанию (Virtual Locations > Default Production)

+2 колеса

Потребление комплектующих

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

-2 колеса

Потребление комплектующих

Виртуальные расположения > Производство по умолчанию (Virtual Locations > Default Production)

+1 рама

Потребление комплектующих

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

-1 рама

Потребление комплектующих

Виртуальные расположения > Производство по умолчанию (Virtual Locations > Default Production)

-1 велосипед

Производство готовой продукции

Физические расположения > Tiny SPRL > Запасы (Physical Locations > Tiny SPRL > Stock)

+1 велосипед

Производство готовой продукции

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

Примечание

Оценка созданной стоимости (Assessing created value)

Вы могли уже заметить полезный эффект данного подхода: если вы проведете оценку запасов в Расположении производства по умолчанию (Default Production), вы получите значение стоимости, созданной вашей компанией (как отрицательную величину). Оценка запасов в любом расположении вычисляется умножением количества продуктов в запасах на их стоимость. В этом случае стоимость сырья вычитается из стоимости готовой продукции.