Перенос документов из УТ 10.3 в БП 3.0: почему НДС попадает в себестоимость и как это исправить?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Бухгалтерский учет Торговля и дистрибуция
← На главную

При настройке обмена данными между конфигурациями «Управление торговлей, ред. 10.3» (УТ 10.3) и «Бухгалтерия предприятия, ред. 3.0» (БП 3.0) специалисты часто сталкиваются с неочевидной проблемой. После выгрузки документов реализации в бухгалтерию выясняется, что при их проведении со счета 41 списывается сумма, включающая НДС. Это приводит к расхождениям в учете: на счете 41 образуются отрицательные остатки (в суммовом выражении) или завышается себестоимость продаж, так как в БП на ОСНО учет товаров ведется без НДС.

Разберем детально, почему так происходит, проанализируем код типовых правил обмена и рассмотрим способы решения этой задачи, чтобы учет в обеих системах был корректным.

Суть проблемы: конфликт методологий

В чем заключается корень проблемы? В «Управлении торговлей 10.3» партионный учет является основой для расчета себестоимости. Этот учет ведется в регистре накопления ПартииТоваровНаСкладах. Данные в этот регистр пишутся в момент проведения документов поступления.

В типовых правилах обмена (КД 2.0) заложен алгоритм, который при выгрузке документа РеализацияТоваровУслуг пытается перенести уже рассчитанную в торговле себестоимость. Логика разработчиков правил такова: «Если в УТ мы точно знаем, какая партия списалась и какова ее стоимость, давайте перенесем эту точную цифру в Бухгалтерию, чтобы финансовый результат совпадал».

Однако, если в УТ 10.3 настроен управленческий учет с НДС или в документах поступления стоит флаг «НДС включать в стоимость», то в регистре ПартииТоваровНаСкладах стоимость хранится вместе с налогом. Правила обмена честно берут эту цифру и подставляют её в табличную часть документа в БП в колонку Себестоимость.

При проведении документа в БП 3.0 срабатывает следующий механизм:

  1. Если колонка Себестоимость в табличной части заполнена, программа не рассчитывает среднюю скользящую цену и не применяет ФИФО бухгалтерии.
  2. Она жестко списывает со счета учета (например, 41.01) ту сумму, которая указана в этой колонке.
  3. Если на 41 счете товар числится по цене 100 рублей (без НДС), а из УТ пришло 118 рублей (с НДС), то возникает ошибка учета, требующая проверки сумм НДС на соответствие расчетным значениям.

Анализ алгоритма выгрузки в правилах обмена и использование кастомизированных XML-файлов

Давайте посмотрим на техническую реализацию этого процесса внутри правил конвертации данных. В правиле выгрузки документа (в обработчике «Перед обработкой» или в алгоритмах выборки данных) выполняется запрос к регистру партий.

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


Запросы.СписанныеПартии.УстановитьПараметр("ДокументСсылка", Источник.Ссылка);
Запросы.СписанныеПартии.УстановитьПараметр("Расход", ВидДвиженияНакопления.Расход);
РезультатЗапроса = Запросы.СписанныеПартии.Выполнить();
ТабПартии = РезультатЗапроса.Выгрузить();

Сам текст запроса выглядит примерно так (упрощенная версия из типовых правил):


ВЫБРАТЬ
    Партии.Номенклатура,
    ...
    Партии.Стоимость + ЕСТЬNULL(ПартииКор.Стоимость, 0) КАК Стоимость
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах КАК Партии
    ...
ГДЕ
    Партии.Регистратор = &ДокументСсылка
    И Партии.ВидДвижения = &Расход

Обратите внимание на поле Партии.Стоимость. Этот ресурс регистра содержит именно ту сумму, которая была сформирована при поступлении товара. Если в вашей базе УТ 10.3 учетная политика или настройки конкретного документа предполагают включение НДС в управленческую стоимость, то функция Выгрузить() вернет таблицу с "грязной" ценой. Далее эта таблица передается в правила конвертации свойств и попадает в реквизит приемника.

Вывод: типовые правила не содержат ошибки кода как таковой, они просто транслируют данные «как есть». Ошибка возникает на стыке настроек баз.

Решение 1: Отключение выгрузки себестоимости (Рекомендуемое)

Наиболее правильным и надежным способом синхронизации УТ 10.3 и БП 3.0 является передача только количественных данных о движениях товаров, оставляя суммовую оценку (расчет себестоимости) на откуп Бухгалтерии.

БП 3.0 обладает мощным механизмом закрытия месяца, который корректно рассчитывает стоимость списания, корректирует среднюю стоимость и учитывает все нюансы налогообложения. Если мы передаем жесткую себестоимость из УТ, мы ломаем этот механизм.

Что нужно сделать:

  1. Откройте настройки обмена данными в УТ 10.3 (узел обмена с бухгалтерией).
  2. Перейдите на вкладку или в окно настройки Параметров выгрузки.
  3. Найдите параметр, который обычно называется «Режим выгрузки объектов», «Переносить себестоимость» или «Выгружать аналитику по складам и себестоимость» (название может отличаться в зависимости от релиза правил).
  4. Выберите вариант значения, исключающий перенос сумм. Например: «Только количество» или снимите галочку «Переносить себестоимость».

После применения этой настройки документ РеализацияТоваровУслуг придет в БП 3.0 с пустыми колонками «Себестоимость» в табличной части. При проведении такого документа БП 3.0 сама рассчитает стоимость списания на основании остатков на 41 счете. Это автоматически решит проблему с НДС, так как в БП на 41 счете суммы хранятся корректно (без налога для ОСНО).

Решение 2: Проверка настроек в УТ 10.3

Если по каким-то причинам вам критически важно переносить именно партионную себестоимость из УТ (например, вы хотите абсолютной идентичности управленческого и бухгалтерского учета до копейки), вам необходимо устранить причину появления НДС в регистре ПартииТоваровНаСкладах.

Проанализируем возможные причины:

  1. Документ «Поступление товаров и услуг». Зайдите в документ поступления партии, которая списывается неправильно. Нажмите кнопку «Цены и валюта». Проверьте флаг «НДС включать в стоимость». Если он установлен, а вы работаете на ОСНО, это ошибка оператора. Флаг нужно снять и перепровести документ. После этого нужно перепровести реализацию в УТ, чтобы обновились движения в регистре партий.
  2. Учетная политика. Проверьте меню Сервис -> Настройка учета -> Учетная политика. Убедитесь, что для организации выбрана правильная система налогообложения. Если там указана УСН или ЕНВД (для старых периодов), программа автоматически включает НДС в стоимость.

Решение 3: Модификация правил (Для экспертов)

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

В этом случае необходимо модифицировать запрос, приведенный выше. Логика изменений будет следующей:

  1. Определить ставку НДС номенклатуры.
  2. В поле выборки рассчитать стоимость без НДС математически (разделить на 1.18 или 1.20 в зависимости от ставки).
  3. Либо, что более корректно, обратиться к регистру ПартииТоваровНаСкладахБухгалтерскийУчет (если он ведется в УТ 10.3), где суммы должны быть очищены от налога согласно учетной политике бух. учета.

Однако, возвращаясь к Решению 1, настоятельно рекомендуем просто отключить перенос себестоимости. Это сэкономит вам массу времени на поиске расхождений при закрытии месяца в бухгалтерии и избавит от необходимости поддерживать нетиповые правила обмена.

← На главную