НДС в 1С:Бухгалтерия — настройка раздельного учёта за 3 дня

Предыстория: как небольшая ошибка выросла в угрозу штрафа на 1,2 млн ₽
Осенью 2024 года производственное предприятие «МеталлТех» (название изменено) получило требование из ФНС: налоговая обнаружила расхождение между данными книги покупок и сведениями, поданными контрагентами в разделе 8 декларации по НДС. Расхождение составило 6,8 млн рублей налоговой базы, что при ставке 20% давало потенциальный доначисленный НДС в размере 1,36 млн рублей. С учётом пени и штрафа по статье 122 НК РФ (20% от неуплаченной суммы) общая сумма претензий грозила превысить 1,6 млн рублей.
Главный бухгалтер компании, Ирина Владимировна, имела в своём распоряжении ровно 5 рабочих дней до истечения срока ответа на требование. Именно в этот момент было принято решение привлечь внешнего специалиста по 1С:Бухгалтерия на Кодерион, который помог разобраться в ситуации, найти корень ошибок и подать уточнённую декларацию за 3 дня — до того, как налоговая успела вынести решение о доначислении.
В этой статье мы подробно разберём, какие именно ошибки были допущены, как технически выглядит процесс их исправления в 1С:Бухгалтерия 8.3, какой код пишется для автоматизации проверки, и что нужно сделать, чтобы ваша компания никогда не оказалась в подобной ситуации.
Анатомия ошибки: почему возникло расхождение в НДС-декларации
Прежде чем переходить к исправлению, специалист провёл диагностику. В 1С:Бухгалтерия 8.3 существует несколько типичных причин расхождений, которые выявляются при перекрёстной проверке ФНС через АСК НДС-2.
Причина 1: Счёт-фактура проведён в неверном периоде
В «МеталлТех» часть счетов-фактур от поставщиков поступала с опозданием — уже после закрытия квартала. Бухгалтер вносила их текущей датой, не меняя дату документа-основания. В результате НДС попадал в книгу покупок текущего квартала, тогда как поставщик отражал реализацию в предыдущем. АСК НДС-2 фиксировала это как «разрыв».
Причина 2: Неверный ИНН/КПП контрагента
Три счёта-фактуры были введены с опечаткой в ИНН поставщика. Система 1С не блокирует проведение документа при несуществующем ИНН (если контрагент уже есть в справочнике с другими данными), поэтому ошибка прошла незамеченной. ФНС при сверке не смогла сопоставить эти записи с данными поставщика.
Причина 3: Дублирование счёт-фактуры
Один счёт-фактура на сумму 840 000 рублей (НДС — 140 000 рублей) был введён дважды: один раз менеджером по снабжению через документ «Поступление товаров», второй раз — бухгалтером вручную. Итого вычет был заявлен в двойном размере, что немедленно выявилось при проверке.
Причина 4: Некорректный вид операции в книге покупок
Несколько строк книги покупок содержали вид операции «01» вместо «22» для операций по авансам. Это техническая ошибка кодировки, которая не влияет на сумму НДС, но приводит к тому, что АСК НДС-2 не может корректно сопоставить запись с соответствующей записью в книге продаж поставщика.
День первый: диагностика и план исправления в 1С:Бухгалтерия
Первый день работы был полностью посвящён диагностике. Специалист использовал встроенные инструменты 1С:Бухгалтерия и написал несколько вспомогательных обработок для ускорения анализа.
Экспресс-проверка через стандартные отчёты
В первую очередь был запущен стандартный отчёт «Анализ учёта по НДС» (меню «Отчёты» → «НДС» → «Анализ учёта по НДС»). Этот отчёт показывает цепочку формирования НДС к уплате и позволяет быстро выявить «провалы» — суммы, которые не попали в декларацию или попали некорректно.
Затем был использован отчёт «Проверка разноски документов» и сформирована оборотно-сальдовая ведомость по счёту 19 с детализацией по субсчетам. Остаток на счёте 19.03 на конец квартала составлял 284 000 рублей — это сигнал о том, что часть входящего НДС не была принята к вычету своевременно.
Программная проверка дублей счетов-фактур
Для поиска дублирующих счетов-фактур была написана следующая обработка на встроенном языке 1С:
// Поиск дублирующих счетов-фактур в книге покупок за период
// Запускается как внешняя обработка в 1С:Бухгалтерия 8.3
Процедура НайтиДублиСчетовФактур(ДатаНачала, ДатаОкончания) Экспорт
// Формируем запрос к регистру НДС покупки
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НДСПокупки.НомерСчетаФактуры КАК НомерСФ,
| НДСПокупки.ДатаСчетаФактуры КАК ДатаСФ,
| НДСПокупки.Контрагент КАК Поставщик,
| НДСПокупки.Контрагент.ИНН КАК ИНН,
| СУММА(НДСПокупки.СуммаНДС) КАК СуммаНДС,
| КОЛИЧЕСТВО(НДСПокупки.Регистратор) КАК КоличествоЗаписей
|ИЗ
| РегистрНакопления.НДСПокупки КАК НДСПокупки
|ГДЕ
| НДСПокупки.Период >= &ДатаНачала
| И НДСПокупки.Период <= &ДатаОкончания
| И НДСПокупки.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|СГРУППИРОВАТЬ ПО
| НДСПокупки.НомерСчетаФактуры,
| НДСПокупки.ДатаСчетаФактуры,
| НДСПокупки.Контрагент,
| НДСПокупки.Контрагент.ИНН
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(НДСПокупки.Регистратор) > 1
|УПОРЯДОЧИТЬ ПО
| НДСПокупки.Контрагент";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания));
РезультатЗапроса = Запрос.Выполнить();
// Выводим результат в табличный документ
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетДубли");
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Область = Макет.ПолучитьОбласть("СтрокаДубля");
Область.Параметры.НомерСФ = Выборка.НомерСФ;
Область.Параметры.ДатаСФ = Формат(Выборка.ДатаСФ, "ДФ=дд.ММ.гггг");
Область.Параметры.Поставщик = Выборка.Поставщик;
Область.Параметры.ИНН = Выборка.ИНН;
Область.Параметры.СуммаНДС = Выборка.СуммаНДС;
Область.Параметры.КоличествоЗаписей = Выборка.КоличествоЗаписей;
ТабДок.Вывести(Область);
КонецЦикла;
ТабДок.Показать("Дублирующие счета-фактуры");
КонецПроцедуры
Обработка мгновенно выявила счёт-фактуру, задвоенную в системе. Это позволило сосредоточить усилия на конкретном документе, не тратя время на ручной перебор сотен записей.
День второй: исправление ошибок и подготовка уточнённой декларации
На второй день специалист приступил к исправлению всех выявленных ошибок. Работа велась строго по приоритету: сначала ошибки, влияющие на сумму НДС, затем — технические расхождения в кодировке.
Исправление задвоенного счёта-фактуры
Дублирующий документ был найден и помечен на удаление. Перед этим специалист убедился, что удаление не нарушит цепочку проводок по другим регистрам. В 1С:Бухгалтерия для этого используется стандартный механизм «Контроль удаления объектов». После удаления дубля НДС к вычету уменьшился на 140 000 рублей — ровно на ту сумму, которая была задвоена.
Исправление ИНН контрагентов
Для трёх контрагентов с ошибочными ИНН была проведена сверка с данными ЕГРЮЛ через встроенный сервис 1С. В карточках контрагентов исправлены ИНН и КПП. После этого все связанные документы были перепроведены, чтобы регистры НДС обновились с корректными реквизитами.
Для массового перепроведения документов был использован следующий код:
// Перепроведение документов поступления по списку контрагентов
// для обновления реквизитов в регистрах НДС
Процедура ПерепровестиДокументыПоКонтрагентам(СписокКонтрагентов, ДатаНачала, ДатаОкончания) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка КАК Документ,
| ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
| ПоступлениеТоваровУслуг.Контрагент КАК Контрагент
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Контрагент В (&СписокКонтрагентов)
| И ПоступлениеТоваровУслуг.Дата >= &ДатаНачала
| И ПоступлениеТоваровУслуг.Дата <= &ДатаОкончания
| И ПоступлениеТоваровУслуг.Проведен = ИСТИНА
|УПОРЯДОЧИТЬ ПО
| ПоступлениеТоваровУслуг.Дата";
Запрос.УстановитьПараметр("СписокКонтрагентов", СписокКонтрагентов);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания));
Выборка = Запрос.Выполнить().Выбрать();
КоличествоОшибок = 0;
Пока Выборка.Следующий() Цикл
ТекущийДокумент = Выборка.Документ.ПолучитьОбъект();
Попытка
// Перепроводим документ без изменения даты
ТекущийДокумент.Записать(РежимЗаписиДокумента.Проведение);
Сообщить("Перепроведён: " + Строка(Выборка.Документ));
Исключение
КоличествоОшибок = КоличествоОшибок + 1;
Сообщить("ОШИБКА при проведении: " + Строка(Выборка.Документ)
+ " — " + ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
Сообщить("Перепроведение завершено. Ошибок: " + КоличествоОшибок);
КонецПроцедуры
Исправление видов операций в книге покупок
Для исправления кодов видов операций в записях книги покупок специалист воспользовался прямым редактированием регистра «НДС покупки» через специализированный документ «Запись книги покупок». Каждая строка с неверным кодом была исправлена вручную с указанием корректного вида операции. Всего таких строк оказалось 14.
Перенос «опоздавших» счетов-фактур
Счета-фактуры, поступившие с опозданием, были перенесены в правильный период. В 1С:Бухгалтерия для этого используется механизм «Дата поступления счёта-фактуры»: если счёт-фактура поступил позже даты отгрузки, то НДС по нему можно принять к вычету в том квартале, когда он фактически получен, — это законное право налогоплательщика (п. 1.1 ст. 172 НК РФ). Поэтому часть «опоздавших» документов была легально перенесена в текущий квартал, что не создавало расхождений с данными поставщиков.
Формирование и проверка уточнённой декларации по НДС
После исправления всех ошибок в учёте наступил ключевой этап — формирование уточнённой декларации. В 1С:Бухгалтерия 8.3 этот процесс реализован через регламентированный отчёт «Декларация по НДС».
Пошаговый порядок формирования уточнёнки в 1С
- Открыть раздел «Отчёты» → «Регламентированные отчёты». Найти ранее поданную декларацию за корректируемый период.
- Создать новую декларацию за тот же период. В поле «Номер корректировки» указать «1» (если уточнёнка подаётся впервые).
- Нажать «Заполнить». Система автоматически подтянет исправленные данные из книг покупок и продаж.
- Сверить раздел 8 (книга покупок) и раздел 9 (книга продаж) с распечатанными регистрами. Убедиться, что дублирующая запись исчезла, ИНН исправлены, коды видов операций корректны.
- Проверить итоговую сумму НДС к уплате. В нашем случае после исправлений сумма НДС к вычету уменьшилась на 140 000 рублей (удалённый дубль), но одновременно были обнаружены ранее не принятые к вычету суммы на 95 000 рублей — итоговое доначисление составило 45 000 рублей.
- Доплатить НДС и пени до подачи уточнёнки. Это критически важно: согласно п. 4 ст. 81 НК РФ, налогоплательщик освобождается от штрафа, если до подачи уточнённой декларации уплатил недостающую сумму налога и пени.
- Подать уточнённую декларацию через сервис 1С-Отчётность или другой подключённый канал ЭДО.
Важно! Порядок действий принципиален: сначала уплатить недоимку и пени, затем подать уточнёнку. Если сделать наоборот — штраф по ст. 122 НК РФ будет начислен автоматически. Именно этот алгоритм позволил «МеталлТех» избежать штрафа в 272 000 рублей (20% от суммы доначисления 1,36 млн ₽).
Автоматическая проверка перед отправкой
Перед финальной отправкой специалист запустил встроенную проверку декларации (кнопка «Проверить» в форме регламентированного отчёта). Система выполнила контрольные соотношения, утверждённые Приказом ФНС России № ЕД-7-3/558@. Все контрольные соотношения сошлись.
Дополнительно был использован сервис «Сверка с контрагентами» в 1С, который позволяет в режиме реального времени сопоставить данные книги покупок с данными поставщиков — тех из них, кто также работает на платформе 1С с подключённым сервисом. Это дало дополнительную уверенность в корректности поданных данных.
День третий: подача уточнёнки и ответ на требование ФНС
К утру третьего дня все технические работы были завершены. Оставалось выполнить финансовую и юридическую часть.
Расчёт и уплата пеней
Сумма пеней была рассчитана по формуле: недоимка × ставка рефинансирования × 1/300 × количество дней просрочки. На момент подачи уточнёнки просрочка составляла 47 дней (с последнего дня уплаты НДС за квартал). При ключевой ставке ЦБ РФ 16% расчёт выглядел так:
// Расчёт суммы пеней по НДС
// Формула: Недоимка × СтавкаРефинансирования / 300 × КоличествоДней
Функция РассчитатьПениПоНДС(
СуммаНедоимки,
СтавкаРефинансирования,
ДатаОбразованияНедоимки,
ДатаПогашения) Экспорт
// Количество дней просрочки
КоличествоДней = (ДатаПогашения - ДатаОбразованияНедоимки) / 86400;
// До 30 дней включительно — 1/300 ставки, свыше — 1/150
// (для организаций, согласно п. 4 ст. 75 НК РФ)
Если КоличествоДней <= 30 Тогда
Коэффициент = 1 / 300;
Иначе
// За первые 30 дней — 1/300, за остальные — 1/150
ПениЗаПервые30 = СуммаНедоимки * СтавкаРефинансирования / 100 / 300 * 30;
ПениЗаОстаток = СуммаНедоимки * СтавкаРефинансирования / 100 / 150
* (КоличествоДней - 30);
ИтогоПени = ПениЗаПервые30 + ПениЗаОстаток;
Возврат Окр(ИтогоПени, 2);
КонецЕсли;
ИтогоПени = СуммаНедоимки * СтавкаРефинансирования / 100 * Коэффициент
* КоличествоДней;
Возврат Окр(ИтогоПени, 2);
КонецФункции
// Пример вызова:
// СуммаНедоимки = 45000 (рублей)
// СтавкаРефинансирования = 16 (%)
// КоличествоДней = 47
// Результат: 45000 * 16 / 100 / 300 * 30 + 45000 * 16 / 100 / 150 * 17
// = 720 + 816 = 1536 рублей пеней
Итоговая сумма пеней составила 1 536 рублей — ничтожная величина по сравнению с потенциальным штрафом в 272 000 рублей. Платёжное поручение было сформировано прямо в 1С:Бухгалтерия и отправлено в банк через систему «Клиент-Банк».
Если в декларации проблема не разовая, а системная — параллельно с правкой по чек-листу проведите настройку раздельного учёта ндс в 1с бухгалтерия. Это закроет повторные расхождения по ндс в 1с и снимет нагрузку с бухгалтерии в каждом следующем квартале.