Как оформить частичную оплату наличными при смешанных ставках НДС в 1С:Управление торговлей 10.3?

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

При оформлении торговых операций по требованиям 54-ФЗ нередко возникает ситуация, когда покупатель частично оплачивает заказ или накладную, содержащую номенклатурные позиции с различными ставками НДС (например, 10% и 20%). В конфигурациях нового поколения (таких как 1С:Управление торговлей 11 или 1С:ERP) механизмы фискализации автоматически рассчитывают суммы предоплат, кредитов и зачетов с разбивкой по товарным позициям и ставкам налога. Однако в конфигурации 1С:Управление торговлей 10.3 типовая архитектура документов расчетов и интеграции с ККТ имеет свои особенности. Разберем методологию работы по формату фискальных данных (ФФД) 1.05 и варианты решения этой задачи.

Методологические требования ФФД 1.05 при частичных расчетах

Прежде чем приступать к настройке или программным доработкам, проанализируем, как законодательство и стандарты фискализации требуют отражать частичные платежи в кассовых чеках в зависимости от момента передачи товара.

  1. Оплата после отгрузки (постоплата / погашение задолженности):

    Если товар уже фактически передан клиенту по документу Реализация товаров и услуг, фискальный чек на отгрузку должен содержать полный перечень позиций с их реальными ставками НДС, а также признак способа расчета «Частичный расчет и кредит» (значение 5) или «Передача в кредит» (значение 6). Неоплаченная сумма фиксируется как постоплата (тег 1081 «в кредит»).

    Когда покупатель вносит последующий платеж (например, через документ Приходный кассовый ордер), в кассовом чеке указывается признак способа расчета «Оплата кредита» (значение 7) и признак предмета расчета «Платеж» (значение 10). В этом чеке ставка НДС передается со значением «Без НДС», поскольку налоговая база и обязательства по начислению НДС по конкретным ставкам уже были зарегистрированы в момент отгрузки.

  2. Оплата до момента отгрузки (частичная предоплата / аванс):

    Если покупатель вносит часть средств за конкретный перечень товаров до их отгрузки, формируется чек с признаком «Предоплата» (значение 3). В этом случае сумма внесенных денег и расчетный НДС (10/110, 20/120) должны быть распределены пропорционально доле оплаты по каждой товарной строке.

    Если же точный перечень позиций на момент оплаты не определен, чек пробивается с признаком «Аванс» (значение 4). При наличии товаров с разными ставками налога сумма аванса должна разбиваться на отдельные строки по соответствующим расчетным ставкам НДС.

Ограничения типового механизма в 1С:Управление торговлей 10.3

Выясним причину сложностей при работе в 1С:УТ 10.3. В отличие от конфигураций на управляемых формах, документ Приходный кассовый ордер в УТ 10.3 не содержит товарной табличной части с номенклатурой и ставками налога, а оперирует только общей суммой взаиморасчетов и договором контрагента.

Типовой алгоритм формирования XML-пакета данных для драйвера ККТ при печати чека из ПКО не выполняет автоматический пропорциональный пересчет позиций из связанного документа-основания. Если попытаться передать строки накладной целиком при частичной сумме ордера, драйвер кассового аппарата вернет ошибку несовпадения итоговой суммы чека и суммы принятых денежных средств.

Решение 1. Оформление через схему «Передача в кредит» и «Оплата кредита» (без изменения кода)

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

  1. Оформляем документ Реализация товаров и услуг на весь объем отгружаемых товаров со ставками 10% и 20%.
  2. При отгрузке пробиваем фискальный чек непосредственно из документа реализации. В фискализатор передается сумма фактической наличной оплаты, а оставшаяся сумма регистрируется как кредит (постоплата). Все ставки НДС построчно корректно уходят в ОФД.
  3. При последующем внесении оставшейся суммы покупателем создаем документ Приходный кассовый ордер с признаком «Оплата кредита». Чек пробивается одной строкой на сумму платежа со ставкой «Без НДС», что полностью соответствует требованиям ФФД для постоплаты.

Решение 2. Программная доработка формирования чека из ПКО для предоплаты

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

Посмотрим на пример алгоритма пропорционального распределения суммы частичной оплаты и ставок НДС по строкам документа-основания:


КоэффициентОплаты = ПКО_СуммаДокумента / ДокументОснование_СуммаДокумента;
НакопленнаяСумма = 0;
ВсегоСтрок = ТаблицаТоваров.Количество();

Для НомерСтроки = 1 По ВсегоСтрок Цикл
    СтрокаТовара = ТаблицаТоваров[НомерСтроки - 1];
    
    Если НомерСтроки = ВсегоСтрок Тогда
        // Округляем остаток на последнюю позицию для избежания копеечных расхождений
        СуммаПоЧеку = ПКО_СуммаДокумента - НакопленнаяСумма;
    Иначе
        СуммаПоЧеку = Окр(СтрокаТовара.Сумма * КоэффициентОплаты, 2);
        НакопленнаяСумма = НакопленнаяСумма + СуммаПоЧеку;
    КонецЕсли;
    
    // Рассчитываем сумму НДС по расчетной ставке для предоплаты
    Если СтрокаТовара.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда
        СуммаНДСПоЧеку = Окр(СуммаПоЧеку * 20 / 120, 2);
    ИначеЕсли СтрокаТовара.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
        СуммаНДСПоЧеку = Окр(СуммаПоЧеку * 10 / 110, 2);
    Иначе
        СуммаНДСПоЧеку = 0;
    КонецЕсли;
    
    // Передаем рассчитанные параметры в структуру фискального чека
    ДобавитьПозициюВЧек(СтрокаТовара.Номенклатура, СуммаПоЧеку, СуммаНДСПоЧеку, Перечисления.ПризнакиСпособаРасчета.Предоплата);
КонецЦикла;

При реализации данного алгоритма обязательно следим за округлением: разница между суммой распределенных строк и суммой самого ПКО должна корректироваться на последней строке, иначе кассовый аппарат отклонит фискализацию чека из-за расхождения итогов.

← На главную