Как оформить частичную оплату товара через онлайн-кассу в 1С при известной спецификации заказа?

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

Рано или поздно перед каждым разработчиком и бухгалтером, работающим с розничной или оптовой торговлей, встает вопрос: как правильно пробивать чеки при частичной оплате заказа? Ситуация усложняется, когда в заказе содержится множество позиций (например, 150 наименований товаров на общую сумму 100 000 рублей), а покупатель гасит задолженность неравномерными платежами: сначала вносит 20 000 рублей, затем еще 45 000 рублей, а финальным платежом закрывает оставшиеся 35 000 рублей.

В этой статье мы подробно разберем, как реализовать этот механизм в системе «1С:Предприятие», проанализируем требования законодательства (54-ФЗ), рассмотрим типовое решение от фирмы 1С и обсудим альтернативный (кастомный) вариант автоматизации с использованием регистров сведений.

Законодательный контекст: требования 54-ФЗ и позиция ФНС

Прежде чем переходить к программированию и настройке конфигурации, давайте разберем правовую основу. Налоговые органы строго регламентируют процесс фиксации выручки при поэтапной оплате. Согласно методическим рекомендациям ФНС РФ, при схеме «отгрузка с частичной предоплатой и последующей рассрочкой» продавец обязан сформировать чеки на каждом этапе движения денежных средств и товаров.

Рассмотрим нашу ситуацию на примере заказа на 100 000 рублей с тремя платежами:

  1. Чек № 1 (Момент отгрузки и первого платежа 20 000 руб.):

    В этот момент происходит фактическая передача всех 150 товаров покупателю. В чеке обязательно должны быть перечислены все номенклатурные позиции с их полной стоимостью. Для каждой позиции в теге 1214 (признак способа расчета) указывается значение «Частичный расчет и кредит» (в фискальном накопителе передается код «5»). В поле «Получено наличными/безналичными» пишется фактически внесенная сумма — 20 000 рублей. В поле «Последующая оплата (в кредит)» (тег 1216) фиксируется долг покупателя — 80 000 рублей.

  2. Чек № 2 (Второй платеж через три дня на 45 000 руб.):

    Покупатель гасит часть долга. Поскольку товар уже был передан ранее, повторно списывать его со склада или отражать реализацию нельзя. Поэтому для этого чека признак способа расчета (тег 1214) меняется на «Оплата кредита» (код «7»). Признак предмета расчета (тег 1212) принимает значение «Платеж» или «Взнос» (код «10»). Сумма чека составляет ровно 45 000 рублей.

  3. Чек № 3 (Финальный платеж на 35 000 руб.):

    Аналогично второму чеку, оформляется «Оплата кредита» с признаком предмета расчета «Платеж» на оставшиеся 35 000 рублей. Кредит полностью погашен.

Перейдем к тому, как эти требования реализованы в программных решениях на базе «1С:Предприятие».

Решение № 1: Типовой механизм 1С (Пропорциональное деление)

Фирма 1С в своих типовых конфигурациях (таких как «1С:Розница», «1С:Управление торговлей», «1С:ERP») по умолчанию использует метод пропорционального распределения суммы оплаты по всем позициям чека. Этот алгоритм полностью соответствует методологии ФНС.

Рассмотрим, как это работает на логическом уровне. При получении второго платежа (45 000 рублей) программа берет общую сумму задолженности (80 000 рублей) и вычисляет коэффициент оплаты для каждой позиции. Сумма платежа распределяется пропорционально стоимости каждой из 150 строк в заказе.

Ниже приведен пример кода на встроенном языке 1С, который иллюстрирует алгоритм пропорционального распределения произвольной суммы по строкам табличной части документа:


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

Функция ОкруглитьСумму(Значение)
    Возврат Окр(Значение, 2, РежимОкругления.Окр15как20);
КонецФункции

Преимущества типового метода:

Недостатки типового метода:

Решение № 2: Кастомный механизм «Подбор товаров под сумму» (Нетиповой подход)

На практике некоторые разработчики и бизнес-пользователи пытаются обойти систему пропорционального распределения и закрывать долг конкретными товарами. Суть метода заключается в том, что при каждом последующем платеже программа подбирает из первоначального заказа «неоплаченные» товары так, чтобы их суммарная стоимость максимально точно совпала с суммой внесенного платежа.

Для реализации такой схемы в 1С создается вспомогательный объект конфигурации — Регистр сведений (например, РегистрСведений.ОплаченныеТоварыЗаказов) со следующей структурой:

При первой оплате и отгрузке в регистр записывается весь состав заказа. При последующем поступлении оплаты (например, на 45 000 рублей) алгоритм выбирает из регистра еще не «закрытые» позиции и формирует из них чек, устанавливая признак «Товар» на всю стоимость этих позиций. Оставшиеся неоплаченными позиции переносятся на следующий платеж.

Критически важный нюанс! Этот метод таит в себе серьезные юридические и налоговые риски:

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

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

Решение № 3: Использование признака «Постоплата» (Оплата кредита)

Проанализируем еще один встроенный механизм современных ККТ — использование отложенной оплаты. Этот вариант актуален, когда в момент отгрузки покупатель вообще ничего не платит (100% кредит), а затем приносит деньги частями.

В этом случае цепочка выглядит следующим образом:

  1. При отгрузке: Формируется чек с признаком способа расчета «Передача в кредит» (тег 1214 = 6). Деньги в кассу не поступают, сумма уходит в поле «В кредит».
  2. При платежах: Каждый последующий чек пробивается с признаком «Оплата кредита» (тег 1214 = 7) на сумму фактически внесенных средств. Программа 1С при этом передает информацию о договоре или заказе, закрывая общую дебиторскую задолженность в информационной базе.

Резюме и рекомендации

Мы настоятельно рекомендуем использовать типовой механизм пропорционального деления платежа (Решение №1), реализованный в современных версиях «1С:Розница» и других типовых конфигурациях. Это гарантирует полную безопасность при налоговых проверках и исключает расхождения данных между ОФД и вашей бухгалтерией.

Если ваши клиенты-оптовики выражают недовольство сложными дробными числами в чеках оплаты кредита, проведите разъяснительную работу: покажите им официальные письма ФНС и объясните, что с точки зрения закона они гасят именно дебиторскую задолженность по договору поставки, а не приобретают конкретные товары поштучно во второй и третий раз.

← На главную