При ведении учета в 1С:Бухгалтерия 3.0 (БП 3.0) бухгалтеры и разработчики часто сталкиваются с требованием разделения затрат не просто по видам деятельности, а по конкретным договорам с покупателями. Особенно это актуально для строительных организаций и компаний, работающих с Гособоронзаказом (ГОЗ) или под контролем ФАС. Типовая методология программы предполагает использование Номенклатурных групп как основного разреза на счете 20.01, но когда договоров тысячи, возникают вопросы производительности и корректности закрытия месяца.
В этой статье мы подробно разберем, как решить задачу раздельного учета по договорам, проанализируем возможные риски и выберем оптимальную стратегию реализации.
Прежде чем переходить к технической реализации, выясним причину возникновения такой задачи. Зачастую это не просто прихоть руководства, а законодательное требование. Согласно Федеральному закону №275-ФЗ и Постановлению Правительства РФ №47, организации, исполняющие государственные контракты, обязаны вести раздельный учет результатов финансово-хозяйственной деятельности по каждому контракту. Это подразумевает:
Это наиболее стандартный метод, не требующий внесения изменений в конфигурацию. Рассмотрим его подробнее. В этом случае для каждого нового договора в справочнике Номенклатурные группы создается отдельный элемент.
Преимущества метода:
Закрытие месяца.25 и 26 (если это предусмотрено учетной политикой) на каждую группу.Проблемы и риски:
Основная сложность заключается в масштабируемости. Если в компании заключается 2–3 тысячи договоров в год, справочник Номенклатурные группы разрастается до огромных размеров. Проанализируем ситуацию: при выполнении регламентной операции Закрытие счетов 20, 23, 25, 26 система должна перебрать все комбинации подразделений и номенклатурных групп. При наличии тысяч групп процедура закрытия месяца может занимать часы, а база данных будет стремительно расти в объеме.
Также стоит помнить о незавершенном производстве (НЗП). При таком подходе остатки на счете 20.01 будут «висеть» мертвым грузом по каждой закрытой или замороженной группе, что потребует от бухгалтера ежемесячного контроля инвентаризации затрат.
Рассмотрим альтернативный вариант, который предложили опытные участники обсуждения. В плане счетов 1С для счета 20.01 предусмотрено три субконто: Подразделения, Номенклатурные группы и Номенклатура. Последнее по умолчанию часто не используется для сбора затрат, так как оно предназначено для учета выпуска конкретной продукции.
Мы можем использовать этот разрез для детализации до договора:
Номенклатура элементы, соответствующие названиям или номерам договоров.Требование-накладная, Начисление зарплаты, Поступление (акты, накладные)) будем указывать не только общую номенклатурную группу (например, «Строительно-монтажные работы»), но и конкретную «продукцию» (договор) в третьем субконто.Отчет производства за смену или Оказание производственных услуг) также будет фиксироваться в разрезе этой номенклатуры.Важный нюанс: В этом случае Номенклатурная группа выступает как «контейнер» для объединения однотипных договоров, а детальный расчет себестоимости идет внутри группы. Однако стоит учитывать, что распределение косвенных расходов (счета 25, 26) в типовой БП 3.0 происходит именно на Номенклатурную группу, а не на конкретную Номенклатуру. Это означает, что внутри группы затраты 25 счета будут распределяться между «договорами» пропорционально плановой себестоимости выпуска или другим настройкам программы.
Если нам нужно разделение только для отчетности, а не для изменения логики расчета себестоимости, проанализируем вариант с Дополнительными сведениями. В справочнике Номенклатурные группы можно создать доп. реквизит с типом СправочникСсылка.ДоговорыКонтрагентов.
Это позволит не плодить лишние сущности, а связывать группы с договорами. Однако это не решит проблему, если в рамках одной группы нужно вести учет по нескольким объектам. Данный метод подходит скорее для аналитического учета «постфактум» через универсальный отчет.
Это «узкое место» любой схемы раздельного учета. Выясним, как система ведет себя при закрытии месяца. Косвенные расходы накапливаются по подразделениям и статьям затрат без привязки к конкретному заказу/договору. В конце месяца они должны «приземлиться» на счет 20.01.
Базой распределения могут выступать:
Разберем пример: если мы выбрали базу «Прямые затраты», но по одному из договоров (номенклатурных групп) в текущем месяце не было ни одного списания материалов или начисления зарплаты, то косвенные расходы на него не распределятся. В итоге себестоимость этого объекта будет занижена. В контексте требований ФАС или ГОЗ это может быть расценено как нарушение методологии раздельного учета.
Если типовых средств недостаточно, программисту может потребоваться добавить новое субконто Договоры непосредственно на счет 20.01. Посмотрим на пример кода, который может использоваться для анализа движений, хотя основная работа будет заключаться в изменении модулей проведения документов закрытия месяца.
// Пример получения затрат в разрезе договоров, если добавлено субконто
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Подразделение,
| ХозрасчетныйОстатки.Субконто2 КАК НоменклатурнаяГруппа,
| ХозрасчетныйОстатки.Субконто3 КАК Договор,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаЗатрат
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство), , ) КАК ХозрасчетныйОстатки";
Запрос.УстановитьПараметр("Период", КонецДня(Объект.ДатаОтчета));
Результат = Запрос.Выполнить();
Внимание! Изменение плана счетов и добавление субконто на 20-й счет — это крайняя мера. Алгоритмы закрытия месяца в 1С:Бухгалтерия 3.0 крайне сложны и используют жестко прописанные обращения к субконто НоменклатурныеГруппы. При добавлении субконто Договоры вам придется переписывать значительную часть расширения ЗакрытиеМесяца, чтобы суммы корректно распределялись и закрывались.
Подведем итоги и выясним, какой путь выбрать в зависимости от ситуации:
1 договор = 1 Номенклатурная группа. Это обеспечит максимальную прозрачность для бухгалтерии и не потребует вмешательства программиста.Направления деятельности, который гораздо производительнее и гибче.Заключение: Реализация раздельного учета затрат по договорам в 1С:Бухгалтерия 3.0 требует баланса между детальностью аналитики и производительностью системы. Самым безопасным методом остается использование Номенклатурных групп, но он требует жесткой дисциплины со стороны пользователей по закрытию неиспользуемых групп и контролю НЗП.