Как правильно пробивать чеки на аванс и реализацию в 1С:Управление торговлей 11 по ФФД 1.05 и 1.2

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

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

Теоретическая база: Аванс против Предоплаты

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

  1. Предоплата 100% или Предоплата: этот статус устанавливается, когда мы точно знаем, за какой товар платит клиент. В программе это реализуется через привязку платежа к документу Заказ клиента, в котором заполнена табличная часть с товарами. В чеке будет выведен список номенклатуры.
  2. Аванс: этот статус используется, если товарный состав на момент получения денег неизвестен. Например, клиент просто «вносит деньги на счет» или оплата идет в целом по договору без детализации до заказов. В чеке вместо списка товаров будет напечатано слово «Аванс».

Этап 1: Получение оплаты (Первый чек)

Рассмотрим сценарий, когда клиент вносит денежные средства. В зависимости от способа оплаты, мы используем документ Приходный кассовый ордер (наличные) или Поступление безналичных ДС (эквайринг или перевод на расчетный счет).

Для корректного формирования чека выполним следующие шаги:

  1. Создадим документ оплаты на основании Заказа клиента.
  2. Перейдем на вкладку Расшифровка платежа. Здесь крайне важно, чтобы в поле Объект расчетов был выбран конкретный заказ. Если там указан договор или «Без заказа», 1С автоматически подставит признак «Аванс».
  3. Нажмем кнопку Пробить чек.

Проанализируем ситуацию на уровне драйвера ККТ. В этот момент 1С передает в кассу тип оплаты. Как отмечалось в обсуждении, для драйверов (например, АТОЛ) используются следующие константы:


LIBFPTR_PT_CASH — оплата наличными (сумма попадает в счетчик выручки).
LIBFPTR_PT_ELECTRONICALLY — безналичная оплата.

Этап 2: Отгрузка товара (Второй чек)

Когда товар готов к выдаче, мы создаем документ Реализация товаров и услуг. Согласно 54-ФЗ, передача товара — это тоже расчет, даже если деньги были получены ранее. В этом случае мы обязаны пробить второй чек, который «закроет» долг перед покупателем. Для этой задачи подойдёт обработка для печати фискального чека из реализации в УТ 11.5.

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

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

В этом чеке в качестве способа оплаты будет указано «Предварительная оплата (Аванс)» (тег 1215). В терминах драйвера ККТ это выглядит так:

LIBFPTR_PT_PREPAID — зачет ранее полученного аванса.

Важно помнить: сумма в этом чеке не увеличивает наличную выручку в кассе (в Z-отчете она пройдет отдельной строкой), так как деньги физически не поступали.

Особенности ФФД 1.2 и маркированного товара

Проанализируем ситуацию с маркировкой (Честный Знак). По новым правилам ФФД 1.2:

Технические нюансы и отладка

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


// Пример логики распределения сумм по типам оплаты
СуммаЧека = Объект.Товары.Итог("Сумма");
СуммаЗачетаАванса = Объект.Оплата.Итог("СуммаЗачета");

Если СуммаЗачетаАванса > 0 Тогда
    // Передаем в ККТ информацию о зачете
    ДобавитьОплатуВЧек(СуммаЗачетаАванса, "PREPAID"); 
КонецЕсли;

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

Краткий итог действий для пользователя

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

  1. Заказ клиента — фиксируем намерения и состав.
  2. Приходный кассовый ордер (на основании заказа) — пробиваем первый чек (Признак расчета: Предоплата).
  3. Реализация товаров и услуг — фиксируем отгрузку.
  4. Зачет оплаты — связываем реализацию с ПКО.
  5. Печать чека из реализации — получаем второй чек (Признак расчета: Полный расчет, Оплата: Зачет аванса).

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

← На главную