1С БУ и НУ
Бухгалтерский и налоговый учёт в 1С: почему данные расходятся и как это исправить раз и навсегда
Пятница, 17:45. Главный бухгалтер смотрит на экран и не понимает, почему прибыль по бухгалтерскому учёту — 4,2 млн рублей, а по налоговому — 1,8 млн. Разница в 2,4 миллиона. Аудиторы приедут в понедельник. Знакомо?
Расхождение между БУ и НУ в 1С — одна из самых частых причин авралов в бухгалтерии. И одна из самых частых причин, по которым программисты 1С получают звонки в выходные.
В этой статье разберём: почему вообще возникают разницы, как 1С хранит данные по двум видам учёта, какие типовые ошибки ломают баланс — и как это чинить кодом, а не ручными корректировками.
Как 1С:Бухгалтерия хранит данные БУ и НУ — архитектура изнутри
В 1С:Бухгалтерии ПРОФ (от 16 200₽) бухгалтерский и налоговый учёт ведутся в одном регистре бухгалтерии, но с разными признаками. Это принципиально важно понимать, прежде чем лезть в отладку.
Регистр бухгалтерии «Журнал проводок» содержит движения сразу по нескольким планам счетов. Каждая проводка имеет признак: БУ, НУ, ВР (временные разницы) или ПР (постоянные разницы).
Ключевое правило, которое нарушают в 80% случаев расхождений: сумма БУ должна равняться сумме НУ плюс ВР плюс ПР. Если это равенство нарушено — у вас проблема.
Посмотрим, как выглядит типичная проводка в регистре:
// Пример движения по регистру бухгалтерии
// БУ: Дт 26 Кт 60 — 100 000 руб.
// НУ: Дт 26 Кт 60 — 80 000 руб. (расход принят частично)
// ВР: Дт 26 Кт 60 — 20 000 руб. (временная разница)
// ПР: 0
// Проверка: 100 000 = 80 000 + 20 000 + 0 ✓
Если же программист или пользователь вручную правит проводку только по БУ, забывая про НУ — равенство ломается. И дальше начинается детективная история.
Планы счетов: в чём разница между БУ и НУ счетами
В типовой «Бухгалтерии» есть единый план счетов, но у каждого счёта есть признаки: «Налоговый учёт (по налогу на прибыль)» и «Бухгалтерский учёт». Некоторые счета ведутся только в БУ (например, 99.01.1 в части ПБУ 18), некоторые — только в НУ.
Это первый источник путаницы для новичков: они думают, что НУ — это отдельная база. Нет. Это дополнительные колонки в той же таблице проводок.
Топ-5 причин расхождений БУ и НУ в 1С — с примерами из практики
За годы работы с клиентами на 1С собралась чёткая статистика: 90% расхождений укладываются в пять причин. Разберём каждую.
Причина 1: Ручные проводки без заполнения НУ
Бухгалтер делает ручную операцию. Заполняет сумму по дебету и кредиту в БУ. Про колонки НУ, ВР и ПР забывает. Итог — расхождение на всю сумму проводки.
В одной торговой компании в Екатеринбурге таких «забытых» ручных операций накопилось за квартал на 18 млн рублей. Налоговая база оказалась занижена. Штраф — 20% от недоимки.
Причина 2: Документы с нестандартными алгоритмами проведения
Разработчик пишет новый документ или дорабатывает типовой. Пишет движения по регистру бухгалтерии, но не заполняет реквизиты НУ в проводках. Типовые документы 1С делают это автоматически через специальные функции модуля проведения.
Самая частая ошибка — не вызывать процедуру установки суммы НУ при формировании проводок вручную.
Причина 3: Некорректная настройка учётной политики
Учётная политика в 1С влияет на то, как документы формируют проводки. Если метод начисления амортизации в БУ — линейный, а в НУ — нелинейный, система должна автоматически создавать временные разницы. Если настройка сбита — разницы не создаются, и баланс ломается молча.
Причина 4: Загрузка данных через внешние обработки
Классика жанра: загружаем данные из Excel через самописную обработку. Создаём документы или проводки напрямую. Забываем про НУ-реквизиты. Через месяц главбух не может закрыть период.
Причина 5: Обновление конфигурации без тестирования
После обновления типовой конфигурации изменился алгоритм проведения какого-то документа. В новой версии 1С поправили формирование НУ-проводок. Но у клиента стоит доработанная конфигурация — и обновление легло поверх доработок. Результат: документы проводятся, но НУ не заполняется.
Как найти расхождения БУ и НУ в 1С — код для диагностики
Прежде чем чинить — нужно найти. В 1С есть встроенный отчёт «Анализ состояния налогового учёта по налогу на прибыль». Но он показывает итог, а не источник проблемы.
Для точной диагностики пишем запрос к регистру бухгалтерии:
// Запрос для поиска расхождений БУ и НУ
// Ищем проводки, где сумма БУ ≠ НУ + ВР + ПР
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЖурналПроводок.Регистратор КАК Документ,
| ЖурналПроводок.СчетДт КАК СчетДт,
| ЖурналПроводок.СчетКт КАК СчетКт,
| ЖурналПроводок.СуммаБУ КАК СуммаБУ,
| ЖурналПроводок.СуммаНУДт КАК СуммаНУ,
| ЖурналПроводок.СуммаВРДт КАК СуммаВР,
| ЖурналПроводок.СуммаПРДт КАК СуммаПР,
| (ЖурналПроводок.СуммаБУ -
| ЖурналПроводок.СуммаНУДт -
| ЖурналПроводок.СуммаВРДт -
| ЖурналПроводок.СуммаПРДт) КАК Расхождение
|ИЗ
| РегистрБухгалтерии.ЖурналПроводок КАК ЖурналПроводок
|ГДЕ
| ЖурналПроводок.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И АБС(ЖурналПроводок.СуммаБУ -
| ЖурналПроводок.СуммаНУДт -
| ЖурналПроводок.СуммаВРДт -
| ЖурналПроводок.СуммаПРДт) > 0.01
|УПОРЯДОЧИТЬ ПО
| Расхождение УБЫВ";
Запрос.УстановитьПараметр("НачалоПериода", НачалоКвартала(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода", КонецКвартала(ТекущаяДата()));
РезультатЗапроса = Запрос.Выполнить();
Этот запрос покажет все проводки за квартал, где нарушен баланс БУ = НУ + ВР + ПР. Сортируем по убыванию расхождения — сначала смотрим самые крупные суммы.
Важный момент: в реальной конфигурации имена реквизитов могут отличаться. В типовой «Бухгалтерии предприятия» регистр называется «Хозрасчетный», а поля — «СуммаБУ», «СуммаНУ», «СуммаВР», «СуммаПР». Уточняйте через конфигуратор.
Как правильно заполнять НУ в самописных документах 1С
Это самый важный раздел для разработчиков. Если вы пишете документ с нуля или дорабатываете типовой — вот как правильно формировать проводки с учётом НУ.
Плохой код: проводка только по БУ
// ПЛОХО: так делать нельзя!
// Проводка создаётся только по БУ, НУ не заполняется
Движение = Движения.ХозрасчетныйБУ.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("26");
Движение.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01");
Движение.Сумма = 100000;
// Реквизиты НУ не заполнены — расхождение гарантировано!
Хороший код: проводка с заполнением НУ и разниц
// ХОРОШО: правильное заполнение БУ, НУ и разниц
Движение = Движения.ХозрасчетныйБУ.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("26");
Движение.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01");
Движение.Сумма = 100000; // Сумма по БУ
// Определяем сумму по НУ (например, расход принят на 80%)
СуммаНУ = 80000;
СуммаВР = 100000 - СуммаНУ; // Временная разница
// Заполняем реквизиты НУ
Движение.СуммаНУДт = СуммаНУ;
Движение.СуммаВРДт = СуммаВР;
Движение.СуммаПРДт = 0; // Постоянных разниц нет
// Проверка: 100000 = 80000 + 20000 + 0 ✓
Запомните простое правило: всегда, когда создаёте движение по регистру бухгалтерии, заполняйте все четыре суммы. Даже если НУ = БУ — явно пишите это в коде. Это избавит от головной боли при сопровождении.
Универсальная процедура заполнения НУ
Удобно вынести логику в отдельную процедуру, которую можно переиспользовать во всех документах:
// Универсальная процедура заполнения сумм НУ в проводке
Процедура ЗаполнитьСуммыНУ(Движение, СуммаБУ, СуммаНУ, ТипРазницы = "ВР")
Движение.Сумма = СуммаБУ;
Движение.СуммаНУДт = СуммаНУ;
РазницаСумм = СуммаБУ - СуммаНУ;
Если ТипРазницы = "ВР" Тогда
Движение.СуммаВРДт = РазницаСумм;
Движение.СуммаПРДт = 0;
ИначеЕсли ТипРазницы = "ПР" Тогда
Движение.СуммаВРДт = 0;
Движение.СуммаПРДт = РазницаСумм;
КонецЕсли;
КонецПроцедуры
// Использование:
// ЗаполнитьСуммыНУ(Движение, 100000, 80000, "ВР");
Временные и постоянные разницы в 1С — в чём разница и когда что использовать
Это тема, которую путают даже опытные бухгалтеры. Давайте разберём на пальцах.
Временная разница (ВР) — расход или доход признаётся в БУ и НУ в разные периоды. Классический пример: амортизация. В БУ — линейная, в НУ — нелинейная. В этом году НУ-амортизация больше, через три года — наоборот. Разница «закроется» со временем.
Постоянная разница (ПР) — расход принят в БУ, но никогда не будет принят в НУ. Например, представительские расходы сверх норматива (4% от фонда оплаты труда). Эта разница не закроется никогда.
Почему это важно для разработчика? Потому что ПБУ 18/02 требует отражать отложенные налоговые активы и обязательства именно на основе временных разниц. Если вы неправильно классифицируете разницу — баланс в отчёте о финансовых результатах будет некорректным.
Пример из практики: неправильная классификация разниц
Клиент — производственная компания в Новосибирске, оборот 800 млн рублей в год. Разработчик при доработке модуля учёта спецодежды все разницы помечал как ВР. На самом деле часть расходов по спецодежде сверх норм — это ПР.
Итог: отложенный налоговый актив завышен на 3,2 млн рублей. Аудиторы нашли при годовой проверке. Пришлось делать исправительные проводки за три года.
Закрытие месяца в 1С: почему «Расчёт налога на прибыль» выдаёт ошибку
Ещё одна боль — закрытие месяца зависает или выдаёт ошибку на шаге «Расчёт налога на прибыль» или «Расчёт отложенных налоговых активов и обязательств».
Типичное сообщение об ошибке: «Не выполняется условие: БУ = НУ + ВР + ПР». Это именно то расхождение, о котором мы говорили выше.
Алгоритм решения:
- Запускаем обработку «Поиск и удаление ошибок» из раздела «Администрирование»
- Выбираем «Проверка разниц БУ и НУ»
- Смотрим список документов с расхождениями
- Перепроводим документы (если расхождение из-за алгоритма проведения)
- Если перепроведение не помогает — смотрим код проведения документа
Если расхождение в ручных операциях — придётся исправлять руками. Никогда не удаляйте проводки с расхождением — это только замаскирует проблему, но не решит её.
Код для автоматического исправления расхождений в ручных операциях
Если расхождений много и они однотипные — можно написать обработку для пакетного исправления. Вот заготовка:
// Обработка для исправления расхождений в ручных операциях
// ВНИМАНИЕ: запускать только после резервной копии!
Процедура ИсправитьРасхожденияНУ(НачалоПериода, КонецПериода)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЖурналПроводок.Регистратор КАК Документ
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК ЖурналПроводок
|ГДЕ
| ЖурналПроводок.Период МЕЖДУ &Начало И &Конец
| И ТИПЗНАЧЕНИЯ(ЖурналПроводок.Регистратор) =
| ТИП(Документ.ОперацияБух)";
Запрос.УстановитьПараметр("Начало", НачалоПериода);
Запрос.УстановитьПараметр("Конец", КонецПериода);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Документ.ПолучитьОбъект();
// Здесь логика исправления НУ для каждой строки
// зависит от бизнес-правил конкретной компании
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
КонецПроцедуры
Важно: перед запуском любой пакетной обработки — делайте резервную копию. Это не просто совет, это закон.
ПБУ 18/02 в 1С: балансовый метод vs затратный — что выбрать
С 2020 года большинство организаций обязаны применять ПБУ 18/02 с использованием балансового метода. В 1С:Бухгалтерии это настраивается в учётной политике.
Балансовый метод — разницы определяются как разность между балансовой стоимостью актива/обязательства по БУ и его налоговой базой по НУ. Более точный, но сложнее в понимании.
Затратный метод — разницы определяются по каждой операции (доходу/расходу). Проще в реализации, но может давать погрешности при сложных операциях.
В типовой «Бухгалтерии» с релиза 3.0.70 балансовый метод стал методом по умолчанию. Если у вас старые базы с затратным методом — при переходе на балансовый могут вылезти накопленные расхождения. Это нормально, но нужно быть готовым.
Настройка метода учёта разниц в 1С
Путь в типовой «Бухгалтерии предприятия»:
- Главное меню → Главное → Настройки → Учётная политика
- Вкладка «Налог на прибыль»
- Раздел «Учёт отложенных налоговых активов и обязательств (ПБУ 18)»
- Выбираем «Ведётся балансовым методом»
После изменения метода обязательно перепроведите все документы за текущий год. Иначе часть проводок будет сформирована по старому алгоритму, и закрытие года превратится в квест.
Практический чек-лист: как не допустить расхождений БУ и НУ в 1С
Собрали всё в один список — распечатайте и повесьте над монитором.
- При разработке документов: всегда заполняйте СуммаНУ, СуммаВР, СуммаПР в каждой проводке
- При загрузке данных: проверяйте заполнение НУ-реквизитов в обработке загрузки
- После обновления конфигурации: тестируйте проведение ключевых документов и проверяйте баланс БУ/НУ
- Ежемесячно: запускайте встроенную проверку «Анализ состояния налогового учёта» до закрытия периода
- При доработке учётной политики: тестируйте на копии базы, не на рабочей
- Ручные операции: ограничьте права — пусть ручные проводки делает только главбух, и только с обязательным заполнением НУ
- Резервные копии: перед любыми пакетными операциями с проводками
Реальный кейс: как мы нашли расхождение на 47 млн рублей за 2 часа
Расскажем историю без названия компании — NDA. Крупный ритейлер, 1С:ERP (от 432 000₽), 200 пользователей. Перед годовой отчётностью главбух обнаружила: налоговая прибыль меньше бухгалтерской на 47 млн рублей.
Стандартные отчёты не давали ответа — расхождение «размазано» по тысячам документов. Написали запрос к регистру бухгалтерии (аналог того, что показан выше). За 2 часа нашли источник: самописный документ «Списание неликвидов», который разработчик добавил в июне.
В модуле проведения этого документа была ровно та ошибка, о которой мы говорили: проводки формировались только по БУ. За полгода документ провёлся 340 раз. Суммарное расхождение — 47,3 млн рублей.
Решение: исправили код проведения, написали обработку для перепроведения всех документов за полгода. Три часа работы программиста — и проблема закрыта. Без исправительных проводок, без объяснений аудиторам.
Мораль: инструменты диагностики важнее, чем ручной поиск. Пишите запросы, автоматизируйте проверки.
Что нового в 1С по теме БУ и НУ в 2026 году
В начале 2026 года 1С выпустила несколько важных обновлений для «Бухгалтерии предприятия» в части налогового учёта.
Главное изменение: доработан механизм учёта по налогу на прибыль в связи с изменением ставки до 25% (с 2025 года). Если вы обновились на релиз 3.0.160 и выше — в учётной политике появился новый параметр для корректного расчёта отложенных налоговых обязательств по новой ставке.
Важно: если база не обновлялась с конца 2024 года — ОНА и ОНО могут считаться по старой ставке 20%. Это прямая ошибка в отчётности. Проверьте релиз своей конфигурации прямо сейчас.
Второе изменение — улучшенный отчёт «Справка-расчёт отложенных налоговых активов и обязательств». Теперь он показывает детализацию по видам активов и обязательств с разбивкой по статьям. Удобно для аудиторов и для самопроверки.
Как проверить актуальность релиза
// Получить версию конфигурации программно
Функция ПолучитьВерсиюКонфигурации()
Возврат Метаданные.Версия;
КонецФункции
// Вывести в сообщение
Сообщить("Версия конфигурации: " + ПолучитьВерсиюКонфигурации());
// Для БП 3.0 актуальная версия на март 2026: 3.0.162 и выше
Итог: бухгалтерский и налоговый учёт в 1С — это не магия, это архитектура
Расхождения между БУ и НУ в 1С — не случайность и не «глюк программы». Это всегда следствие конкретных ошибок: в коде, в настройках или в действиях пользователей.
Три главных вывода из этой статьи:
- Понимайте архитектуру: БУ = НУ + ВР + ПР — это закон, который нельзя нарушать
- Диагностируйте запросами, а не глазами — тысячи проводок руками не проверить
- Пишите правильный код с первого раза — исправлять расхождения за полгода дороже, чем сделать правильно сразу
Если вы столкнулись с расхождениями в своей базе и не знаете, с чего начать — не тратьте время на угадывание. Иногда два часа работы опытного специалиста стоят дешевле, чем неделя самостоятельных попыток.
На koderion.ru — бирже специалистов 1С — вы найдёте разработчиков с опытом именно в задачах налогового учёта и ПБУ 18/02. Можно выбрать специалиста по рейтингу, портфолио и стоимости часа, не нанимая в штат. Оставьте задачу — и получите предложения от проверенных 1С-ников уже в течение дня.