Большинство ошибок, допускаемые при учете в УПП, в той или иной степени исправимы. Если материал списали не с того склада, на котором он был, можно в последующем оформить перемещение, и все «закроется». Гораздо неприятнее ошибки в расчете себестоимости, ведь они часто влияют на правильность принимаемых управленческих решений, в том числе о развитии либо, наоборот, сворачивании некоторых продуктовых линеек. Если из-за ошибки в учете рентабельная продукция была признана убыточной и ее производство свернули, дорогостоящее оборудование отдали в металлолом, а рабочих уволили, наверное, это как минимум не очень хорошо, если не сказать больше.
Какого рода ошибки могут возникнуть при расчете себестоимости? Первый вариант — непопадание каких-либо комплектующих в состав конечного продукта. Например, списали в производство не с того склада, материал возник в разделе «Затраты» без суммовой оценки, себестоимость готовой продукции не увеличил. В зависимости от стоимости сырья «недовключение» его в готовую продукцию может влиять на стоимость выпуска от незначительной степени до определяющей. Такие ошибки достаточно легко находятся путем анализа калькуляции себестоимости («Полный интерфейс -> Отчеты Расширенная аналитика учета -> Калькуляция себестоимости») и затрат («Полный интерфейс -» Отчеты -» Расширенная аналитика учета -> Ведомость по учету затрат»). Отсутствие суммовой оценки для какой-либо компоненты готовой продукции в этих отчетах однозначно указывает на материал, не включенный в себестоимость.
Второй вариант ошибки более коварен: он встречается гораздо реже, его сложнее выявить, и потенциально он может привести к более серьезным последствиям. Речь идет о так называемом зацикливании распределяемых затрат.
Бесконечные циклы
Поскольку косвенные затраты распределяются (т.е. входят в себестоимость готовой продукции не напрямую, а по некоторому алгоритму), возникает дополнительный пласт ошибок, характерный именно для них. Дело в том, что всегда есть шанс нарваться на цикл, когда, будучи единожды распределенной, вновь возникшая затрата снова распределяется на саму себя.
Я уже рассматривал примеры подобного поведения, рассказывая о затратах по бракованной продукции . Однако брак — достаточно сложный объект учета, и может показаться, что зацикливание свойственно только ему. К сожалению, это не так. В качестве примера можно привести следующую ситуацию. Пусть предприятие состоит из двух подразделений: «Котельная» и «Цех основного производства». Котельная получает природный газ, перерабатывает его и выпускает теплоэнергию, которой отапливается сама и отапливает цех основного производства.
Как в этом случае выглядит схема отражения этих хозяйственных операций в УПП. Например, так: вводится поступление товаров и услуг на газ (допустим, 300 тыс. куб. м на общую сумму 900 ООО руб.). Затем требованием-накладной весь газ передается в котельную . После этого оформляется отчет производства за смену, которым фиксируется факт выпуска котельной теплоэнергии. В этом случае удобно оформлять выпуск не на склад, а на затраты. При этом на закладке «Получатели» заполняются потребители теплоэнергии. Очевидно, что для приведенного примера таких потребителей два — цех основного производства и котельная. Схема адекватно работает и показывает достоверные результаты, но до определенного момента.
Представим ситуацию, что цех основного производства остановили для ремонта системы отопления силами внешнего подрядчика. Производство в цехе остановлено, отопление отключено. Прогнозируемая продолжительность ремонтных работ — месяц, поэтому котельную решили не останавливать и не менять режим работы котла. В результате выпущено столько же теплоэнергии, как и месяцем ранее.
Как теперь оператор может модифицировать отчет производства за смену с учетом новых обстоятельств? Его логичные размышления: «Выпуск теплоэнергии есть? Есть. Цех основного производства отапливали? Нет. Котельную отапливали? Да. Значит, весь выпуск теплоэнергии израсходовала сама котельная». И оператор вносит отчет производства за смену, в котором в качестве единственного получателя теплоэнергии указана котельная.
Что мы в результате получим? А получим мы с вами что ни на есть самое классическое зацикливание затрат, когда для изготовления теплоэнергии котельная затрачивает эту же теплоэнергию. Как в этом случае разумно поступить и куда отнести затраты — отдельный вопрос, требующий вдумчивого осмысления. Но, в любом случае, разрыв привычного шаблона очевиден.
Точка бифуркации
Для более детального анализа ситуации проведем серию экспериментов. Будем считать, что в течение месяца было выпущено 2000 Гкал теплоэнергии. Оформим сначала отчет производства за смену таким образом, чтобы весь выпуск попал в затраты цеха основного производства (как будто котельная на свои нужды ничего не расходовала). После этого рассчитаем себестоимость.
Нетрудно видеть, что стоимость выпуска целиком определяется материальной затратой (газом) и составляет 900 000 руб. Это вполне логично, учитывая, что никаких других расходов понесено не было. Себестоимость единицы (Гкал) равна 450 руб.
Теперь подкорректируем отчет производства за смену: половину выпуска (1000 Гкал) передадим в цех основного производства, а для второй скажем, что она была использована на отопление самой котельной.
Видно, что теперь в затраты добавилась еще одна — теплоэнергия собственного производства в количестве 1000 Гкал. Это как раз то количество, которое котельная израсходовала на собственные нужды. Калькуляция себестоимости показывает, что одним из компонентов при производстве теплоэнергии является она сама.
И это логично: котельная не смогла бы осуществить выпуск, если бы не отапливалась, используя, по сути, свою продукцию. Еще один логичный вывод: использование части выпуска на собственные нужды увеличивает себестоимость. Действительно нетрудно увидеть разницу в себестоимости. И это при том, что было использовано одинаковое количество газа! Т.е. с обывательской точки зрения стоимость поменяться не должна была.
Все встает на свои места, если ввести понятие «Полезный выпуск». В дальнейшем будем считать, что полезный выпуск -это та часть общего выпуска, которая не была использована на собственные нужды. В первом примере полезный выпуск равен 2000 Гкал, во втором — только 1000 Г кал. Если сравнить их, можно заметить, что в отличие от полного выпуска стоимость полезного не изменилась: 900 руб. х 1000 Гкал = 900 000 руб. Получается, что уменьшение полезного выпуска в количественном выражении компенсируется увеличением себестоимости единицы, благодаря чему стоимостная оценка остается фиксированной. И это логично, в противном случае следовало бы признать, что суммовая оценка изначальных материальных затрат (газ) изменяется, а это, разумеется, не соответствует действительности.
Учитывая погрешность при решении системы линейных уравнений численным методом (а именно такая методика используется для расчета себестоимости в режиме РАУЗ), полученное в УПП значение полезного выпуска может незначительно колебаться. Разницу между фактически полученной величиной и теоретически посчитанной будем называть отклонением решения. В данном случае оно равно нулю.
Рассмотрим еще один вариант: весь выпуск пошел на отопление самой котельной. Это как раз тот предельный случай, о котором рассказывалось выше. Результат обработки этой информации в «1C» представлен на.
Очевидно, что когда полезный выпуск равен нулю, его суммовая оценка также тривиальна. Отклонение решения составляет 900 ООО руб.
Если рассматривать отклонение решения как функцию от процента полезного выпуска, получается, что на краях она имеет значения 0 и 900 ООО руб., в одном из средних значений также равна нулю. Однако центральное значение вовсе не показатель. Самым интересным для исследования представляется поведение функции внутри указанного интервала. Сделаем расчеты себестоимости, начиная с ситуации, когда все 2 ООО Г кал были израсходованы цехом основного производства, каждый раз уменьшая полезный выпуск на 100 Г кал, пока не дойдем до варианта, когда весь выпуск «съела» сама котельная. Результаты сведены в таблицу .
Расчеты приведены со следующими настройками «1C»: граница погрешности системы линейных уравнений (СЛУ) = 1,00; максимальное количество итераций = 50; среднее отклонение решений СЛУ = -6. . Сейчас остановлюсь более подробно на моментах, требующих углубленного анализа и не описанных ранее.
В первых двух столбцах приводится количество выпуска, израсходованного котельной на собственные нужды и переданного в цех основного производства. Следующие два столбца — полученные в «1C» данные о себестоимости единицы и стоимости всего выпуска. В столбце «Полезный выпуск» приведено произведение себестоимости единицы на количество полезного выпуска (т.е. это результат перемножения ячеек из второго и третьего столбцов). «Отклонение решения» — разность между теоретическим значением (900 000) и тем, что получилось в предыдущем столбце. Наконец, «% полезного выпуска» — это отношение значения второго столбца к величине полного выпуска (2000 Г кал).
На основании экспериментальных данных так же построен график зависимости величины отклонения решения от процента полезного выпуска .
Анализируя полученные результаты, можно обратить внимание на один очень важный факт. Начиная с некоторого порога отклонение решения ведет себя достаточно стабильно, колеблется около нуля, причем размах колебаний не проявляет какой-либо зависимости от величины процента полезного выпуска.Отклонение равно 8 единицам как для 95% полезного выпуска, так и для 40%. В то же время часто оно оказывается равным нулю при совершенно различном соотношении полезного выпуска к полному. Т.е. убывания или возрастания отклонения на этом интервале не наблюдается.
Совсем другая картина вблизи начала оси абсцисс. Когда процент полезного выпуска опускается ниже определенного значения и продолжает уменьшаться, наблюдается лавинообразный рост отклонения, пока оно не станет равным самому значению решения.
С одной стороны, интуитивно понятно, что система с таким поведением на концах отрезка должна иметь некое изменение поведения внутри. Но, с другой стороны, до проведения исследования было совсем не очевидно, как именно это будет происходить (монотонно, скачком или ростом после некоторого предельного значения). Как нетрудно видеть, справедлив именно последний вариант.
Для рассматриваемой ситуации в теории динамических систем существует такое понятие, как точка бифуркации -это точка, сколь угодно малое отклонение от которой в одну или другую сторону приводит к кардинальному изменению в состоянии системы.
Классический пример, который приводят, раскрывая данное понятие, — это вылов рыбы в некоем водоеме. Функцией для изучения является зависимость величины популяции от количества ежегодного вылова. Кажется, что для рыбы будет лучше всего, если вылов отсутствует. Но тут вступают в игру другие факторы сокращения популяции — перенаселение ведет к мору от голода, возникает повышенный риск развития эпидемий и так далее. То есть система достаточно сложным образом сама себя регулирует даже в случае отсутствия внешнего воздействия (вылова).
Сколько нужно вылавливать рыбы, чтобы не истребить популяцию? Если построить математическую модель системы (пусть и упрощенную), оказывается, что существует такое критическое значение количества вылова, при котором сокращение популяции гарантированно приведет к ее уничтожению. Соответственно получается, что если выловить на одну рыбку меньше, популяция способна восстановиться, а если на одну больше, она обречена. Это критическое значение, вблизи которого с разных сторон так сильно отличается поведение системы, и есть точка бифуркации.
Применительно к нашему случаю как раз и можно говорить о точке бифуркации в системе расчета себестоимости в зависимости от соотношения полезного выпуска к полному. Последнюю фразу можно преобразовать с точки зрения теории систем: критическим является коэффициент обратной связи в системе с зацикливанием.
Чем вызвана эта точка бифуркации? Очевидно, что конечной точностью решения системы линейных уравнений расчета себестоимости. Действительно, отклонение решения, которое мы рассматриваем как функцию, не равно нулю только потому, что используются численные методы. Но если это так, то точка бифуркации должна сдвигаться влево при увеличении точности решения СЛУ.
Как все это обеспечить?
Увеличить количество итераций!
Параметры решения системы линейных уравнений, влияющие на точность получаемого решения, уже были рассмотрены, когда речь шла о зацикливании затрат, связанных с бракованной продукцией. Здесь же скажем только, что для продолжения эксперимента необходимо варьировать максимальное количество итераций (предельно допустимое значение, при котором расчет будет остановлен, даже если не достигнута требуемая точность решения системы линейных уравнений).
Попробуем рассчитать себестоимость выпуска и отклонение решений для значения максимального количества итераций, равного сначала 100, затем 200, 300, 400, 500 и, наконец, 999 (это верхний предел, который можно выбрать в программе УПП). Остальные параметры (границу погрешности СЛУ) и среднее отклонение решения СЛУ оставим без изменения такими, какими они установлены в УПП по умолчанию (т.е. 1 и -6 соответственно).
Следует заметить, что вдали от нее (т.е., по сути, во всех случаях, кроме того, когда полезный выпуск много меньше выпуска на собственные нужды) функция ведет себя одинаково стабильно, вне зависимости от выставленного максимального количества итераций.
Будем считать, что точка бифуркации — это первое значение процента полезного выпуска, при котором отклонение решения превысило порог в 10 единиц. Хоть это и достаточно условно, но с учетом того, что колебания значений в зоне стабильности (правее точки бифуркации) в нашем примере не превышают значения в 8 единиц, этот порог вполне оправдан. Здесь стоит оговориться, что полученные результаты, безусловно, нельзя считать абсолютно точными. Все-таки они приводятся скорее для качественной оценки изменения значения точки бифуркации с ростом точности решения, чем для непосредственного использования значений на практике. В случае необходимости получения более точных данных нужно уменьшить шаг изменения процента полезного выпуска и провести требуемое количество расчетов себестоимости. Видно, что с ростом количества итераций точка бифуркации, как и ожидалось, смещается влево. То есть во все большем количестве случаев расчет себестоимости даст правильный результат. Шире становится диапазон значений процента полезного выпуска, для которых можно получить правильную себестоимость.
Основной вывод, который можно сделать, состоит в том, что чем меньше процент полезного выпуска, тем большее количество итераций нужно выполнить для получения правильного решения. Также бросается в глаза, что в предельных случаях даже увеличение количества итераций до максимального (т.е. до 999) не позволяет обеспечить требуемую точность, и результат будет с достаточно большой погрешностью. Другой вопрос, что это происходит только при проценте полезного выпуска, равном 1,25. Для сравнения: при настройках по умолчанию (когда максимальное количество итераций равно 50) точка бифуркации соответствует полезному выпуску 35%. Безусловно, в реальной жизни процент 1,25 гораздо менее вероятен, чем 35.
Зависимость значения точки бифуркации от количества итераций можно изобразить графически . Это дает наглядное представление о характере функции: чем больше количество итераций (а, следовательно, и точность), тем левее точка бифуркации, после которой система идет «в разнос» и не обеспечивает получение достоверных результатов.
Неконтролируемый рост
Еще один момент, который можно заметить, если проанализировать результаты эксперимента, — это лавинообразное увеличение себестоимости при росте количества итераций для случая, когда процент полезного выпуска равен нулю. Это как раз соответствует ситуации, рассмотренной в начале статьи, когда весь выпуск теплоэнергии котельной используется на собственные нужды.
Для 50 итераций себестоимость единицы равна 10 800 руб., для 100-22 050 руб., для 200-44 550 руб., для 300-67 050 руб., для 400 — 89 550 руб., для 500 — 112 050 руб., для 999 -уже 224 550 руб.
Безусловно, прямая зависимость себестоимости от количества итераций свидетельствует о некорректном результате. Однако важно понимать, что УПП не отслеживает зацикливание затрат и не считает это ошибкой. Корректность учета отдается на откуп пользователю. И, я считаю, это правильно. Поэтому при любой нестандартной ситуации (например, подобной той, что описана выше) следует сначала четко выстроить методологию учета и только потом вводить данные в систему. Ведь указанные ошибки не характеризуются тем, что присущи только машинному расчету. Теоретически, если посчитать «на бумажке», будет то же самое. Другое дело, что в процессе такого расчета сразу же возникнут вопросы и скорее всего ошибка допущена не будет. Но и к программе не стоит относиться как к дополнительному работнику, который все сделает сам без вашего участия.
Очевидно, что, если бы не существующее в УПП ограничение на количество итераций, величина себестоимости и дальше продолжала бы расти, поскольку повторяющийся снова и снова цикл с положительной обратной связью постоянно «накручивает» результат.
Зацикливание затрат-очень коварная ошибка, не всегда столь явно видимая с первого взгляда. Если, допустим, «загнанный» в минус бухгалтерский счет виден сразу из оборотно-сальдовой ведомости, то диагностика зацикливания более сложна. Нужно анализировать структуру себестоимости текущего выпуска, желательно сравнивать с предыдущими месяцами и искать серьезные отклонения с тем, чтобы объяснить причину их возникновения. Хотя и это не панацея, ведь ошибка может устойчиво повторяться из месяца в месяц, прежде чем будет найдена.
***
Для корректного расчета в случаях, близких к сингулярным (например, когда отношение полезного выпуска к полному стремится к нулю), требуется повышенная точность решения системы линейных уравнений. В большинстве случаев, соответствующих здоровым бизнес-ситуациям, система «1C» дает правильный результат, не требующий корректировки. Гораздо сложнее обстоят дела, когда отрабатывается изначально «нехорошая» хозяйственная ситуация, не ведущая к прибыли. В частности, если котельная работает лишь для того (или в большей степени), чтобы отапливать саму себя, наверное, это нельзя назвать удачным вариантом с точки зрения бизнеса. Все-таки замкнутые системы не могут быть эффективными.
В то же время повышение количества итераций в случае полного замыкания (зацикливания) затрат приводит к гораздо более ошибочному по величине результату. Это отчетливо видно из проведенных экспериментов. Хорошо это или плохо? Если пропустить, однозначно плохо, если не сказать, фатально. С другой стороны, такое громадное несоответствие здравому смыслу, возможно, будет проще найти (оно ведь бросается в глаза), а значит, и исправить. Так что относительно количества итераций все достаточно неоднозначно, и необходимо в зависимости от особенностей учетной схемы на конкретном предприятии подбирать его индивидуально.
Если для хозяйственной модели все же характерно именно наличие очень сильных сингулярностей, причем изменить ее никак нельзя, стоит попробовать модифицировать методику расчета системы линейных уравнений, используемую при РАУЗ. Например, поискать метод, устойчивый к сингулярностям, или просто модифицировать имеющийся алгоритм, позволив увеличить количество итераций для обеспечения требуемой точности.
Универсальный совет — всегда с особым вниманием относиться к нетиповым случаям, требующим отражения в учете. Все-таки жизнь гораздо сложнее, чем те модели, до которых принято все упрощать. В повседневной работе часто приходится сталкиваться с хозяйственными операциями, поначалу ставящими в тупик. Тем важнее сразу во всем хорошо разобраться и выстроить правильный способ отражения в учете, чем потом, спустя время (возможно, после сдачи отчетности), «кусать локти» и думать, как же внести исправления.