Как и когда формируются проводки по УСН в 1С:УПП и почему возникает ошибка «ВидДвижения недоступен для записи»?

Программист 1С v8.3 (Обычные формы) Налоговый учет IT и автоматизация бизнеса
← На главную

Ведение налогового учета по упрощенной системе налогообложения (УСН) в конфигурации «1С:Управление производственным предприятием» (УПП) редакции 1.3 имеет ряд существенных архитектурных отличий от привычной многим «1С:Бухгалтерии». Пользователи и начинающие разработчики часто сталкиваются с ситуацией, когда при проведении первичных документов (например, платежных поручений или поступлений) бухгалтерские проводки формируются сразу, а записи в Книге учета доходов и расходов (КУДиР) отсутствуют или заполняются некорректно. Кроме того, попытки программно скорректировать движения КУДиР нередко приводят к досадным ошибкам платформы.

В этой статье мы подробно разберем, как устроен механизм налогового учета УСН в 1С:УПП, в какой момент на самом деле формируются записи в КУДиР, как работает регистр накопления Расходы при УСН и как исправить популярную ошибку разработчиков при программной записи движений в оборотные регистры.

---

1. Почему при проведении платежного поручения нет записей в КУДиР?

Рассмотрим стандартную ситуацию: мы проводим документ Платежное поручение входящее. Бухгалтерские проводки по счетам учета (например, 51 и 62) успешно сформировались, однако регистр накопления Книга учета доходов и расходов (раздел I) остается пустым. Почему так происходит?

В 1С:УПП реализован асинхронный принцип формирования налоговой отчетности по УСН. Это означает следующее:

  1. Промежуточная фиксация данных: При проведении первичных документов система не пытается сразу рассчитать и признать доходы или расходы в КУДиР. Вместо этого программа делает записи во вспомогательный накопительный регистр Расходы при УСН.
  2. Очистка временных движений: Любое ручное перепроведение документов или изменение цепочки взаиморасчетов сбрасывает ранее сформированные движения КУДиР, переводя затраты обратно в статус ожидания.
  3. Регламентный расчет: Окончательный расчет доходов, расходов и заполнение КУДиР осуществляются специальной обработкой Восстановление последовательности налогового учета УСН. До запуска этой обработки пытаться анализировать КУДиР «на лету» бессмысленно.

---

2. Как работает регистр «Расходы при УСН» и что значат его статусы?

Регистр Расходы при УСН является остаточным регистром накопления. Он выступает в роли «контролера» условий, выполнение которых необходимо для признания расходов в налоговом учете (актуально для объекта налогообложения «Доходы минус расходы»). Для того чтобы сумма попала в КУДиР, расход должен быть последовательно получен, оплачен поставщику и реализован (или списан в производство).

Давайте проанализируем основные состояния расходов, которые фиксируются в этом регистре:

---

3. Пошаговый алгоритм проверки списания расходов в УПП

Если вы видите, что расходы по УСН не сходятся и не попадают в книгу доходов и расходов, выполните процедуру закрытия периода по строгому регламенту:

  1. Восстановление расчетов с контрагентами: Запустите обработку восстановления последовательности расчетов (по 60 и 62 счетам). Это необходимо для корректного зачета авансов. Без правильного распределения авансов программа не сможет определить факт оплаты расходов.
  2. Расчет себестоимости: Проведите документы по партиям (если используется партионный учет) или выполните расчет себестоимости в рамках РАУЗ. Программа должна четко понимать, по какой стоимости списан конкретный товар.
  3. Восстановление последовательности налогового учета УСН: Запустите финальную обработку Восстановление последовательности налогового учета УСН. Именно на этом шаге система обратится к регистру Расходы при УСН, проверит выполнение всех условий и сформирует итоговые записи в КУДиР.

---

4. Разбор ошибки «Поле объекта недоступно для записи (ВидДвижения)»

Перейдем к технической проблеме, с которой часто сталкиваются разработчики при попытке программно вмешаться в процесс формирования записей КУДиР. Рассмотрим пример некорректного кода, который приводит к ошибке платформы:


// Пример НЕПРАВИЛЬНОГО кода, вызывающего ошибку
Рег = РегистрыНакопления.КнигаУчетаДоходовИРасходов.СоздатьНаборЗаписей();
Рег.Отбор.Регистратор.Установить(Источник.Ссылка);
Рег.Прочитать();

Если Рег.Количество() = 1 Тогда    
    СтрокаДвиж = Рег[0];
    Движение = Рег.Добавить();
    ЗаполнитьЗначенияСвойств(Движение, СтрокаДвиж);
    
    // ОШИБКА! Поле объекта недоступно для записи (ВидДвижения)
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход; 
    
    Движение.Графа6 = Источник.Кос_СуммаКомиссииБанка;
    Рег.Записать(Истина);
КонецЕсли;

Выясним причину этой ошибки:

Регистр накопления КнигаУчетаДоходовИРасходов является оборотным регистром накопления. В отличие от остаточных регистров (таких как Расходы при УСН или Товары на складах), оборотные регистры фиксируют только факт совершения хозяйственной операции за период и не хранят остатков. У оборотных регистров на уровне платформы 1С отсутствует измерение ВидДвижения (Приход / Расход). Попытка прочитать или записать это свойство у строки набора записей оборотного регистра всегда вызывает исключение: Поле объекта недоступно для записи (ВидДвижения).

Для исправления этой ошибки достаточно просто убрать строки кода, обращающиеся к свойству ВидДвижения. Запись в оборотный регистр выполняется простым добавлением строки и заполнением числовых ресурсов (граф КУДиР).

Рассмотрим пример корректного кода для программного добавления записи в регистр КУДиР:


// Пример ПРАВИЛЬНОЙ программной записи в КУДиР
НаборЗаписей = РегистрыНакопления.КнигаУчетаДоходовИРасходов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка);
НаборЗаписей.Прочитать();

// Создаем новую строку движения в оборотном регистре
НовоеДвижение = НаборЗаписей.Добавить();
НовоеДвижение.Период = Источник.Дата;
НовоеДвижение.Регистратор = Источник.Ссылка;
НовоеДвижение.Организация = Источник.Организация;

// Заполняем нужные графы книги доходов и расходов напрямую
НовоеДвижение.Графа4 = Источник.Кос_СуммаКомиссииБанка; // Сумма всего (доход)
НовоеДвижение.Графа5 = Источник.Кос_СуммаКомиссииБанка; // В т.ч. принимаемые доходы
НовоеДвижение.Содержание = "Комиссия банка по эквайрингу";

// Записываем набор данных
НаборЗаписей.Записать(Истина);

---

5. Как правильно отражать эквайринг и комиссию банка без доработки кода

В обсуждении на форуме автор пытается решить задачу отражения эквайринговой комиссии банка через написание кастомного кода в модуле проведения платежного поручения. Однако в 1С:УПП для этого существует готовый и очень удобный штатный механизм, который полностью соответствует требованиям законодательства РФ.

Согласно правилам налогового учета, при оплате товаров банковскими картами (эквайринг) доходом по УСН признается вся сумма, оплаченная покупателем, а не та сумма, которая фактически поступила на расчетный счет (уже за вычетом комиссии банка). Комиссия банка при этом относится на прочие расходы (для УСН с объектом «Доходы минус расходы»).

Давайте разберем по шагам, как отразить эту операцию штатными средствами конфигурации:

  1. Регистрация оплаты от покупателя: Создаем документ Оплата от покупателя платежной картой на полную стоимость покупки (например, 10 000 рублей). Этот документ зафиксирует аванс или закроет долг покупателя на счете 62. В этот момент формируется плановый доход для УСН на всю сумму 10 000 рублей.
  2. Зачисление денег банком-эквайером: Оформляем документ Платежное поручение входящее с видом операции «Поступление от продаж по платежным картам и банковским кредитам».
  3. Заполнение реквизитов платежного поручения:
    • В поле «Сумма» указываем сумму, фактически поступившую на наш расчетный счет от банка (например, 9 800 рублей).
    • Переходим на вкладку «Учет услуг банка» (или заполняем соответствующие реквизиты в табличной части) и указываем сумму удержанной банком комиссии — 200 рублей, а также статью затрат и счет расходов (91.02 или 44).
  4. Результат проведения документов: При такой схеме проведения программа автоматически распределит суммы в КУДиР: в доходы попадет полная сумма в размере 10 000 рублей, а сумма комиссии (200 рублей) будет автоматически признана в качестве прочих расходов по УСН при закрытии налогового периода. Писать собственный программный код для корректировки регистров не потребуется.
← На главную