Каждый бухгалтер хотя бы раз сталкивался с ситуацией, когда при подготовке регламентированной отчетности данные в Отчете о финансовых результатах (ОФР) не сходятся с показателями Оборотно-сальдовой ведомости (ОСВ). Особенно часто эта проблема возникает при сравнении строки 2120 «Себестоимость продаж» и дебетового оборота счета 90.02 («Себестоимость продаж»).
В этой статье мы подробно разберем, почему возникает этот гигантский разрыв в суммах, какие методологические и технические особенности программы 1С:Бухгалтерия 3.0 на это влияют, и как быстро локализовать и исправить ошибку, не дожидаясь очередного обновления системы.
Первое и самое важное, что нам необходимо понять: алгоритм заполнения регламентированного отчета в 1С устроен гораздо сложнее, чем простое суммирование дебетовых оборотов. Давайте проанализируем, как именно программа собирает показатель для строки 2120.
В конфигурации 1С:Бухгалтерия 3.0 жестко прописано правило: в строку 2120 попадает только дебетовый оборот счета 90.02, который находится в корреспонденции со строго определенным списком счетов. К ним относятся:
20 — «Основное производство»;21 — «Полуфабрикаты собственного производства»;23 — «Вспомогательные производства»;29 — «Обслуживающие производства и хозяйства»;40 — «Выпуск продукции (работ, услуг)»;41 — «Товары»;43 — «Готовая продукция»;45 — «Товары отгруженные».Если в течение отчетного периода в базе были отражены проводки по дебету счета 90.02 в корреспонденции с любыми другими счетами (например, напрямую со счетами затрат 26 или 44, либо со счетом 10 «Материалы»), то такие суммы будут успешно отображаться в Оборотно-сальдовой ведомости, но алгоритм автозаполнения Отчета о финансовых результатах их проигнорирует. Это приведет к занижению себестоимости в ОФР по сравнению с ОСВ.
Еще одна частая причина расхождения — использование документа Операция, введенная вручную. Если бухгалтер вручную отразил списание на счет 90.02, программа может некорректно классифицировать эту проводку. При заполнении ОФР проверяется не только сам счет, но и аналитика (субконто) — в частности, «Номенклатурные группы». Если аналитика заполнена не полностью или некорректно, отчет может пропустить эту сумму. Для быстрого поиска таких документов можно применить отчет для контроля ручных корректировок проводок.
Для выявления некорректных корреспонденций мы можем использовать специальный поисковый запрос. Если вы обладаете навыками работы в консоли запросов или хотите предложить задачу программисту, можно использовать следующий код для локализации ошибочных проводок:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.Регистратор КАК ДокументИсточниК,
| ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
| ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт,
| ХозрасчетныйДвиженияССубконто.Сумма КАК СуммаРасхождения
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
|ГДЕ
| ХозрасчетныйДвиженияССубконто.СчетДт ПОДОБНО &СчетСебестоимости
| И НЕ ХозрасчетныйДвиженияССубконто.СчетКт В (&РазрешенныеСчета)";
РазрешенныеСчета = Новый Массив;
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.ОсновноеПроизводство); // 20
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.Полуфабрикаты); // 21
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.ВспомогательныеПроизводства); // 23
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.ОбслуживающиеПроизводстваИХозяйства); // 29
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.ВыпускПродукции); // 40
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.Товары); // 41
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.ГотоваяПродукция); // 43
РазрешенныеСчета.Добавить(ПланСчетов.Хозрасчетный.ТоварыОтгруженные); // 45
Запрос.УстановитьПараметр("СчетСебестоимости", "90.02%");
Запрос.УстановитьПараметр("РазрешенныеСчета", РазрешенныеСчета);
РезультатТаблица = Запрос.Выполнить().Выгрузить();
Данный код позволяет мгновенно выгрузить все документы, которые сделали «незаконные» с точки зрения алгоритма ОФР проводки по себестоимости.
Рассмотрим ситуацию, описанную пользователями на форуме: обновление конфигурации до актуального релиза мгновенно решило проблему. Почему так происходит и что скрывается за этим процессом? При работе с несколькими базами для регулярной актуализации программ удобно настроить автоматическое обновление конфигураций 1С в тихом режиме по расписанию.
Здесь могут играть роль сразу несколько технических факторов:
РегламентнаяОперация и механизмы закрытия месяца могут использовать обновленные регистры. Если фоновые задания обновления не завершились, расчеты могут выдавать непредсказуемый результат. После завершения всех процедур обновления данные встают на свои места.Если вы столкнулись с расхождением между строкой 2120 и счетом 90.02, выполните следующие действия по шагам:
Сформируйте отчет «Анализ счета» по счету 90.02 за проверяемый период. Нажмите кнопку «Показать настройки», перейдите на вкладку «Группировка» и убедитесь, что отчет развернут по кор. счетам. Посмотрите, с какими счетами дебетуется 90.02. Если вы увидите там счета, отличные от стандартного перечня (20, 21, 23, 29, 40, 41, 43, 45), значит, источник расхождения найден. Вам необходимо скорректировать первичные документы или ручные операции. Для детального анализа показателей строки 2120 в разрезе корреспондирующих статей затрат можно использовать внешнюю обработку расшифровки строки себестоимости по статьям затрат.
Проверьте настройки учетной политики в части закрытия косвенных расходов (счета 26 и 44). Начиная с 2021 года, согласно ФСБУ 5/2019, общехозяйственные затраты не могут включаться в себестоимость продукции в ОФР напрямую и должны списываться на управленческие расходы (строка 2220). Убедитесь, что закрытие месяца выполнено корректно и без ошибок.
Если документы вводились или корректировались после выполнения регламентной операции Закрытие месяца, это гарантированно приведет к искажению данных в отчетах. Перейдите в раздел «Операции» — «Закрытие месяца», отмените закрытие за проблемный период, выполните последовательное перепроведение документов и заново закройте период.
Откройте ваш сохраненный Отчет о финансовых результатах. Не верьте старым цифрам на экране! Обязательно нажмите кнопку «Заполнить» в верхней панели отчета, чтобы программа инициировала новый запрос к базе данных и обновила кэшированные показатели. Также попробуйте воспользоваться кнопкой «Расшифровать» на ячейке строки 2120 — если в окне расшифровки сумма сходится с ОСВ, а в самом отчете нет, это явный признак зависшего технического кэша формы, который лечится перезаполнением или перезапуском сеанса 1С.