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

НДС в 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. Открыть раздел «Отчёты» → «Регламентированные отчёты». Найти ранее поданную декларацию за корректируемый период.
  2. Создать новую декларацию за тот же период. В поле «Номер корректировки» указать «1» (если уточнёнка подаётся впервые).
  3. Нажать «Заполнить». Система автоматически подтянет исправленные данные из книг покупок и продаж.
  4. Сверить раздел 8 (книга покупок) и раздел 9 (книга продаж) с распечатанными регистрами. Убедиться, что дублирующая запись исчезла, ИНН исправлены, коды видов операций корректны.
  5. Проверить итоговую сумму НДС к уплате. В нашем случае после исправлений сумма НДС к вычету уменьшилась на 140 000 рублей (удалённый дубль), но одновременно были обнаружены ранее не принятые к вычету суммы на 95 000 рублей — итоговое доначисление составило 45 000 рублей.
  6. Доплатить НДС и пени до подачи уточнёнки. Это критически важно: согласно п. 4 ст. 81 НК РФ, налогоплательщик освобождается от штрафа, если до подачи уточнённой декларации уплатил недостающую сумму налога и пени.
  7. Подать уточнённую декларацию через сервис 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с и снимет нагрузку с бухгалтерии в каждом следующем квартале.