В процессе ведения учета в конфигурации «1С:Управление производственным предприятием» (УПП) нередко возникает ситуация, когда после закрытия месяца и выполнения регламентного расчета себестоимости обнаруживается ошибка в аналитике счетов реализации (счета 90.01.1, 90.03). Например, для конкретной услуги или номенклатуры была ошибочно указана не та номенклатурная группа. Открывать период, отменять закрытие месяца и перезапускать расчет себестоимости в таких случаях крайне нежелательно, так как это может привести к сдвигу расчетных сумм и изменению уже сданной отчетности.
Разберем детально, как решить эту задачу, какие подводные камни таит в себе исправление субконто в УПП, и выберем наиболее безопасный подход.
Проанализируем архитектуру учета реализации в 1С:УПП. Счет 90 в типовой конфигурации имеет субконто Номенклатурные группы, Ставки НДС, а также на счете выручки ведется учет по видам деятельности. При проведении документа «Реализация товаров и услуг» движения формируются параллельно в нескольких структурах данных:
62.01 — Кт 90.01.1, Дт 90.03 — Кт 68.02).ПВ — Кт 90.01.2).Продажи, ПродажиСебестоимость, НДС по партиям запасов.Если мы просто меняем субконто только в бухгалтерских проводках вручную, возникает риск разрыва данных между бухгалтерским и управленческим учетом. Важно помнить: в отчетах по продажам и валовой прибыли номенклатурная группа чаще всего подтягивается из реквизита самого элемента справочника Номенклатура. Если одна и та же номенклатура по смыслу относится к разным группам в разных документах, правильным решением является заведение отдельной номенклатурной позиции, а не просто подмена субконто в проводках.
Рассмотрим классический и методологически верный с точки зрения бухгалтерского учета (ПБУ 22/2010) подход. Ошибки прошлых отчетных периодов исправляются записями в периоде обнаружения ошибки либо концом закрываемого квартала, если годовая отчетность еще не сдана.
Для исправления аналитики создадим документ «Операция (бухгалтерский и налоговый учет)». Схема исправления строится на последовательном сторнировании ошибочных оборотов и начислении правильных:
Дт 62.01 (Контрагент, Договор) — Кт 90.01.1 (Старая номенклатурная группа, Ставка НДС): –15 000,00 руб.
Дт 90.03 (Старая номенклатурная группа, Ставка НДС) — Кт 68.02 (Налог (взносы): начислено/уплачено): –2 288,14 руб.
Дт 62.01 (Контрагент, Договор) — Кт 90.01.1 (Новая номенклатурная группа, Ставка НДС): +15 000,00 руб.
Дт 90.03 (Новая номенклатурная группа, Ставка НДС) — Кт 68.02 (Налог (взносы): начислено/уплачено): +2 288,14 руб.
Дт ПВ — Кт 90.01.2 (Старая группа): –15 000,00 руб.
Дт ПВ — Кт 90.01.2 (Новая группа): +15 000,00 руб.
Обратите внимание: счет 62.01 и счет 68.02 закрываются «в ноль», поэтому сальдо расчетов с контрагентом и задолженность по НДС перед бюджетом не изменяются. Счета 90 также закрываются в суммовом выражении в ноль, но оборот внутри квартала перераспределяется между субконто.
Важное предостережение: если финансовый год уже полностью закрыт и утверждена годовая бухгалтерская отчетность, счета 90 использовать нельзя. В таком случае исправление ошибок прошлых лет отражается через счет 91 («Прочие доходы и расходы») или счет 84 («Нераспределенная прибыль (непокрытый убыток)»).
Выясним причину, почему стандартная ручная операция может вызывать сомнения у бухгалтера. В документе «Операция» невозможно сделать движения по регистрам накопления оперативного учета (таким как ДвиженияДенежныхСредств, Продажи и др.).
Если для аналитики требуется скорректировать не только бухгалтерские и налоговые проводки, но и параллельные регистры накопления, используем документ «Корректировка записей регистров». В нем можно флажками отметить необходимые регистры (как регистры бухгалтерии, так и регистры накопления) и сформировать ручные движения в одной транзакции.
Вопреки распространенному заблуждению, данный документ корректирует не только остатки, но и обороты регистров. Он точно так же формирует полноценные сторнировочные и прямые записи по дебету и кредиту счетов с нужным набором субконто.
Бывают ситуации, когда бухгалтерия категорически возражает против появления сторнировочных записей в текущем периоде и требует, чтобы оборотная ведомость закрытого периода сразу формировалась с правильной аналитикой, но без перезапуска расчета себестоимости.
В платформе «1С:Предприятие 8» движения любого проведенного документа хранятся отдельно от самого документа — в наборах записей регистров. Мы можем прочитать набор проводок конкретного документа, изменить ссылку на субконто и записать набор обратно без выполнения стандартных обработчиков проведения документа.
Посмотрим на пример программного кода, выполняющего такую подмену:
НаборПроводок = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборПроводок.Отбор.Регистратор.Установить(ВыбранныйДокументРеализации);
НаборПроводок.Прочитать();
Для Каждого Запись Из НаборПроводок Цикл
// Проверяем проводку по кредиту счета выручки 90.01.1
Если Запись.СчетКт = ПланыСчетов.Хозрасчетный.ВыручкаНеОблагаемаяЕНВД Тогда
Если Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = СтараяНГ Тогда
Запись.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = НоваяНГ;
КонецЕсли;
КонецЕсли;
// Проверяем проводку по дебету счета начисления НДС 90.03
Если Запись.СчетДт = ПланыСчетов.Хозрасчетный.НДС Тогда
Если Запись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = СтараяНГ Тогда
Запись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы] = НоваяНГ;
КонецЕсли;
КонецЕсли;
КонецЦикла;
// Записываем движения без вызова обработчиков проверки и перепроведения
НаборПроводок.ОбменДанными.Загрузка = Истина;
НаборПроводок.Записать();
Проанализируем ключевые нюансы применения этого метода:
ОбменДанными.Загрузка = Истина отключает платформенные и конфигурационные проверки при записи набора, что позволяет внести изменение точечно.Подведем итог: какой вариант исправления выбрать в практической работе?