Как правильно оформить частичную предоплату и зачет аванса в 1С:УТ 10.3 для корректной печати чеков по ФФД 1.05?

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

В работе с конфигурацией 1С:Управление торговлей 10.3 (на обычных формах) пользователи часто сталкиваются с проблемой при оформлении частичных предоплат. Типичная ситуация: клиент вносит 30% стоимости заказа, а через неделю — оставшиеся 70%. Однако в финальном чеке вместо ожидаемого «Зачета аванса» (или «Предварительной оплаты») в графе способа оплаты выводится «Последующая оплата (КРЕДИТ)». Это вызывает вопросы как у покупателей, так и у налоговой службы, поскольку фактически товар уже оплачен, и никакого кредита (постоплаты) нет.

В данной статье мы подробно разберем, почему возникает такая ситуация, как работает логика драйверов АТОЛ и 1С, и какие шаги необходимо предпринять, чтобы чеки соответствовали требованиям ФФД 1.05.

Почему в чеке появляется «Кредит» вместо «Зачета аванса»?

Проанализируем механику работы программы. Когда мы печатаем чек из документа Приходный кассовый ордер (ПКО), созданного на основании Заказа покупателя, программа передает на кассу информацию о текущем платеже. Если сумма документа в 1С (например, 10 000 руб.) больше, чем сумма фактически вносимых денег (3 000 руб.), кассовый аппарат «достраивает» остаток. Согласно логике ФФД 1.05, если касса получает общую сумму чека выше, чем сумма наличных и безналичных оплат, разница автоматически записывается в Тег 1216 (постоплата/кредит).

Для того чтобы в чеке отразился «Зачет аванса» (Тег 1215), программа должна явно передать в драйвер ККТ информацию о том, что часть суммы уже была получена ранее. В типовой УТ 10.3, особенно в старых релизах, связь между несколькими платежами в рамках одного Заказа при печати чеков реализована не всегда корректно. Программа «видит» только текущий платеж и общую сумму заказа, но «не помнит» о предыдущем чеке.

Методика решения №1: Изменение последовательности документов

Самый надежный способ заставить программу правильно распределить суммы — это изменить бизнес-процесс оформления документов. Рассмотрим правильный алгоритм действий по шагам:

  1. Оформление первого платежа: Создаем Заказ покупателя. На его основании вводим ПКО (или Эквайринг) на сумму 30%. В признаке способа расчета указываем «Предоплата частичная». Печатаем чек.
  2. Переход права собственности: В момент, когда клиент приходит забирать товар, мы обязаны оформить документ Реализация товаров и услуг (РТиУ). Именно этот документ в системе 1С является ключевым для фиксации зачета авансов.
  3. Настройка вкладки «Предоплата»: Перед проведением Реализации переходим на вкладку «Предоплата». Здесь обязательно должен быть указан первый ПКО. Если документ создан правильно (на основании Заказа), эта вкладка часто заполняется автоматически по кнопке «Заполнить».
  4. Второй платеж: Создаем второй ПКО (на 70%) обязательно на основании Реализации, а не Заказа.
  5. Печать финального чека: Пробиваем чек именно из второго ПКО. В этом случае алгоритм печати увидит связь с Реализацией, проанализирует зачтенные в ней авансы и передаст в ККТ верные теги: 7000 — наличными/безналичными, 3000 — зачет аванса.

Методика решения №2: Настройка взаиморасчетов в договоре

Часто автоматический зачет авансов не срабатывает из-за настроек договора с контрагентом. Разберем, на что обратить внимание:

Для корректного заполнения таблицы предоплат в документе Реализация товаров и услуг необходимо, чтобы в договоре был установлен вид взаиморасчетов «По заказам» или «По документам расчетов с контрагентами». Если выбран вариант «По договору в целом», 1С может не сопоставить конкретный платеж с конкретной отгрузкой в автоматическом режиме. Это приведет к тому, что в чеке предоплата не будет «подтянута», и касса снова выдаст «Кредит».

Проверьте настройки договора:

Технические доработки и драйверы

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

1. Версия драйвера АТОЛ: Рекомендуется использовать драйвер 10-й версии (10.x.x). 8-я и 9-я версии драйверов во многих случаях некорректно транслируют типы оплаты из 1С в ККТ для ФФД 1.05. При переходе на 10-й драйвер необходимо обновить внешнюю обработку обслуживания (файл типа .epf), которую можно взять из последних релизов УТ 10.3 или с портала поддержки 1С.

2. Соответствие типов оплаты: В настройках торгового оборудования в 1С важно правильно сопоставить индексы типов оплаты. Рассмотрим примерную таблицу соответствия для АТОЛ:

Если в коде обработки или в настройках «Кассы ККМ» перепутаны индексы, то любая «Предоплата» может улетать в драйвер как «Кредит».

3. Программная корректировка (для разработчиков): Если требуется доработка кода, следует обратить внимание на модуль МенеджерОборудованияВызовСервера и процедуры формирования структуры чека. Выясним причину в коде, посмотрев на логику формирования таблицы оплат:


// Пример логики в процедуре формирования параметров чека
// Важно убедиться, что заполняется массив оплат с типом "Предоплата"
Для Каждого СтрокаПредоплаты Из ТаблицаПредоплат Цикл
    НоваяОплата = Оплаты.Добавить();
    НоваяОплата.ТипОплаты = 2; // Код типа "Зачет аванса/предоплаты"
    НоваяОплата.Сумма = СтрокаПредоплаты.Сумма;
КонецЦикла;

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

Различие между «Авансом» и «Предоплатой»

Важно помнить, что согласно методическим рекомендациям ФНС:

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

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

Для того чтобы избавиться от «Кредита» в чеках при частичной оплате в 1С:УТ 10.3, выполните следующие действия:

  1. Обновите драйвер ККТ до 10-й версии и загрузите актуальную обработку обслуживания.
  2. Проверьте, что в договорах с контрагентами включен учет «По заказам».
  3. Всегда создавайте Реализацию товаров и услуг перед финальным платежом.
  4. Второй (закрывающий) платеж вводите только на основании Реализации.
  5. Следите за заполнением вкладки «Предоплата» в Реализации — это «сердце» механизма зачета авансов в 1С.

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

← На главную