Найти тему
БИТ:ERP

Каскадное распределение производственных затрат в 1С:ERP

Оглавление

На одном из проектов мы реализовали интересный кейс по учету производственных затрат. В какой-то части его требования покрываются типовой функциональностью 1C:ERP, но "дьявол", как всегда, кроется в деталях. Данный кейс реализовывался под конкретного заказчика, но в результате мы получили взаимоувязанную и продуманную модель учета производственных затрат.

Подписывайтесь на наш телеграмм канал https://t.me/bit_erp там вы найдете актуальные новости, анонсы опыт и истории от команды БИТ:ERP.

Исходные данные

Процесс производства на заводе детского питания состоит из трех переделов:

  • Смешивание ингредиентов - здесь выпускается первый полуфабрикат.
  • Подготовка смеси - здесь потребляется первый полуфабрикат и выпускается второй.
  • Упаковка - здесь потребляется второй полуфабрикат и выпускается готовая продукция.

Все затраты завода учитываются на пятидесяти кост-центрах, каждый из которых это либо вспомогательное подразделение (например, столовая, отдел кадров завода или участок обеспечения водой), либо производственные линии, либо учетные сущности, использующиеся для перераспределения (например, зарплата производственного персонала сначала сливается на общий HR Pool, а далее распределяется на производственные линии, на которых они были задействованы в текущем месяце).

В результате распределений расходы всех кост-центров должны слиться в себестоимость готовой продукции в разрезе аналитик:

  • Сырье
  • Упаковочные материалы
  • Энергия
  • Прямые трудозатраты
  • Common charges
  • Прочие прямые
  • Прочие косвенные
  • Ремонты и обслуживание
  • Амортизация

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

  • Количество работников
  • Объем выпуска
  • Потребление вторичных ресурсов
  • Часы сотрудников
  • Машиночасы
  • Комбинация последних трех показателей

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

В чем же специфика?

Описанная задача на первый взгляд выглядит обычно для любого производственного предприятия и должна покрываться типовым функционалом. Попробуем разобраться в показателях для распределения.

Вторичные ресурсы как часть НСИ

Под вторичными ресурсами понимается потребление газа, пара, энергии и машиночасов при производстве. Чтобы понять, как это устроено надо разобраться с организационной структурой и производственной НСИ. Дело в том, что на заводе есть два отдела:

  1. Application team - отвечает за рецептуру, новую продукцию, пропорции потребления материалов, то есть за bill of materials.
  2. Industrial perfomance team - отвечает за производственные линии и оборудование, определяет пропускную способность линий, количество человек персонала и потребление вторичных ресурсов на один час работы линии, без привязки к продукции.

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

В действительности, они еще используются в производственном планировании, но это другая история.

Если говорить про типовую 1С:ERP, то ресурсные спецификации или bill of resourses, описывающие одновременно и рецептуру, и технологию не подходят. Таким образом, начав с показателей для распределения затрат, мы пришли к нестыковке в организации производственной НСИ.

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

Калькуляция вторичных ресурсов

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

Пример первичных расходов вспомогательного подразделения
Пример первичных расходов вспомогательного подразделения

Как распределить затраты обеспечивающих подразделений на этапы? Можно распределить затраты каждого поставляющего ресурс подразделения на этапы пропорционально потреблению этого ресурса. Но не все так просто.

Дело в том, что если показатель состоит из комбинации ресурсов, то количество, как показатель для распределения не подойдет. Здесь требуется сумма ресурсов, то есть нужная стоимостная оценка каждого ресурса. Другими словами, нужно рассчитать стоимость одного киловатта энергии, одного кубометра газа и т.д., и использовать эти данные для распределения. А обеспечивающие подразделения нужно разделить на два класса: затраты одних формируют себестоимость ресурса, а затраты других - распределяются по стоимости ресурсов, но в их себестоимость не входят.

Машиночасы и трудочасы

Данные показатели определяют количество машинного и человеческого ресурса, потреблённого каждым этапом и калькулируются аналогично другим вторичным ресурсам. На каждом этапе фиксируются данные об остановках линии и фактическое время работы линии над этапом. При этом, одни затраты образуют себестоимость машиночаса (например, амортизация оборудования и ремонты), а другие просто распределяются пропорционально машиночасам. Благодаря стоимостной оценке один час работы линии может быть дороже или дешевле часа другой линии, что так же важно для распределения.

Каскадное распределение

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

Количество работников - это основной показатель распределения между кост-центрами
Количество работников - это основной показатель распределения между кост-центрами

Например, расходы столовой Canteen распределяются по всем подразделением пропорционально количеству сотрудников. В том числе на подразделение Air conditioning распределяется две доли.

Распределение с Air conditioning на другие кост-центры
Распределение с Air conditioning на другие кост-центры

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

Встречный выпуск

Примечательно, что помимо столовой есть еще отдел кадров HR managment, который так же отдает свои затраты всем подразделениям пропорционально количеству сотрудников. Данная схема выглядит логично - столовая кормит всех, кадры тоже обслуживают всех.

Расходы всех подразделений должны как-то рассчитаться и в конечном итоге "осесть" на производственных кост-центрах, где они уже распределяются на этапы.

Отчеты

Для анализа первичных затрат и результатов распределения потребуется два отчета.

Первичные затраты

Это аналог типового отчета Прочие расходы, но с дополнениями.

Отчет по первичным затратам
Отчет по первичным затратам

На снимке экрана уже знакомый Air conditioning со своими первичными затратами и распределенными с других подразделений. Распределенные затраты появляются после расчета себестоимости. Колонка с конечным остатком сигнализирует, что все затраты включены в себестоимость продукции. По вспомогательным колонкам нетрудно определить, например, что из "столовой" на текущий кост-центр пришло 2 доли из 381. В отчете можно перейти к "столовой" и увидеть итоговую сумму, эта сумму будет соответствовать 381 долям. Таким образом, в данном отчете можно проанализировать первичные затраты и проследить ход распределения на другие кост-центры.

Себестоимости продукции

Этот отчет позволяет проанализировать себестоимость за один месяц. При детальном анализе нам показалось, что концепция этого отчета крайне удобна и логична.

-6

На верхнем уровне несколько группировок и колонки. В колонках - различные типы затрат. Рассмотрим группировки:

  • FG PROD - это произведенная готовая продукция. Не важно, находится ли она в кладовой, или продана. Это весь полезный выход из производства за один месяц.
  • SFG INV OP - это начальный остаток полуфабрикатов. Все суммы по этой группировке отрицательные. Таким образом, задел из прошлого месяца уменьшает затраты текущего месяца.
  • SFG INV EN - это конечный остаток полуфабрикатов. Это переходящий остаток НЗП на следующий месяц. В следующем месяце он попадет в группировку SFG INV OP с минусом.

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

  • Если взять все первичные затраты за один месяц, то итоговая сумма совпадет с этим отчетом (за исключением материалов).
  • Так же очень легко проверить, как распределилась амортизация - надо взять амортизацию из первичного отчета и сравнить с колонкой этого отчета.
В группировке по продукции отображаются все материалы и полуфабрикаты
В группировке по продукции отображаются все материалы и полуфабрикаты

На следующем уровне отчета - группировка по продукции, которая содержит данные о затратах на каждом переделе. Строки с пустым полуфабрикатом (HALB) означают затраты последнего передела. Строки с полуфабрикатом показывают количество самого полуфабриката, и какие затраты вошли в продукцию в составе этого полуфабриката.

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

Классификация по типам затрат в колонках отчета очень важна, поскольку она соответствует структуре финального P&L отчета. Поэтому в системе предусмотрено соответствие для классификации затрат. Например, вся амортизация завода должна отображаться в колонке Depreciation, даже амортизация столовой. При этом зарплата повара должна попадать в колонку Other indirect costs. Когда затраты столовой и некоторых других подразделений приходят на производственный кост-центр, то они включаются в себестоимость машиночаса. Поэтому в отчете мы видим одной строкой - машиночасы производственной линии, а в колонках - различные компоненты. В данном случае амортизация столовой сидит в колонке Амортизация машиночаса, а заплата повара - в колонке Other indirect costs машиночаса.

Зарплата производственного персонала, несмотря на оплату по окладу, идет отдельной строкой и отображается в колонке Labor.

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

Наш вариант реализации

Описанный концепт, несмотря на сложность, показался нам супер органичным и взаимоувязанным. На этом можно было бы закончить, но я опишу наш вариант реализации на 1C:ERP 2.5.8.

Во-первых, мы решили, что кост-центрами в терминах 1С будут подразделения, а не ОВЗ или что-то еще. Во-вторых, мы не стали использовать механизм ОВЗ, который появился в этой версии. Решили использовать максимально стабильный и понятный функционал, а именно - выпуск и распределение работ.

Себестоимость работ, как и товаров, хорошо рассчитывается расчетом себестоимости, даже со встречным выпуском проблем не возникло. Так же в случае выпуска и распределения работ понятно откуда брать данные для отчетов (отчеты все равно нужно было разрабатывать самим, а по ОВЗ отчеты вообще отсутствовали).

Таким образом, что мы сделали:

  • Каждый месяц каждое подразделение выпускает свою работу, например если линия упаковки суммарно по всем этапам работала 100 часов, то будет выпущено 100 часов работ.
  • Первичные затраты включаются в себестоимость этих работ.
  • Сами работы распределяются по нужным показателям на другие работы и/или этапы.

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

Существенным минусом этого решения является необходимость запускать расчет себестоимости минимум три раза:

  • в первую итерацию рассчитываются вторичные ресурсы
  • во вторую итерацию рассчитываются расходы на ремонт, в качестве базы распределения требуются вторичные ресурсы
  • в третью итерацию рассчитываются Common charges, здесь для базы распределения нужны еще и данные по ремонтам.

Материал подготовил:
Алексей Тачеев, Product Owner, БИТ:ERP.

Что вы думаете об этом кейсе и какой вариант реализации предложили бы вы? Пишите в комментариях. Поддержите нас лайками, если материал статьи оказался полезным для вас.

Не пропустите другие практические кейсы - подпишитесь на наш telegram-канал BIT:ERP.