Как пробить чек ККМ при безналичной оплате от физического лица в 1С:Управление торговлей 10.3?

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

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

Суть проблемы и законодательный контекст

Согласно требованиям законодательства, при поступлении денежных средств от физического лица на расчетный счет (безналичный расчет), организация обязана сформировать фискальный чек. Сделать это нужно не позднее рабочего дня, следующего за днем осуществления расчета, но не позднее момента передачи товара. Основная сложность в УТ 10.3 заключается в том, что эта конфигурация построена на обычных формах и поддержка новых требований 54-ФЗ в ней реализована менее оперативно и удобно, чем в современных решениях вроде УТ 11 или Бухгалтерия предприятия 3.0.

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

Способ 1: Использование документа «Оплата от покупателя платежной картой»

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

Многие пользователи используют документ ОплатаОтПокупателяПлатежнойКартой как заготовку для печати чека. Рассмотрим алгоритм действий:

  1. Создадим новый вид оплаты в справочнике «Виды оплат чека ККМ». Назовем его, например, «Оплата на Р/С».
  2. В настройках этого вида оплаты важно указать тип оплаты как «Электронно» (в терминах драйвера ККТ это обычно тип оплаты №2).
  3. Создадим документ ОплатаОтПокупателяПлатежнойКартой. В поле «Вид оплаты» выберем наш новый элемент.
  4. В табличную часть подберем товар или укажем основание (документ реализации).
  5. Нажмем кнопку «Чек» на панели инструментов документа.

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

Способ 2: Печать из документа «Реализация товаров и услуг»

В последних релизах УТ 10.3 (начиная с ветки 10.3.50 и выше) разработчики добавили возможность пробития чека напрямую из документа отгрузки. Выясним, как это работает в случае безналичной оплаты:

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

Способ 3: Внешние печатные формы и обработки (Профессиональный подход)

Как отмечают участники обсуждения, наиболее правильным и автоматизированным способом является подключение внешней печатной формы к документу ПлатежноеПоручениеВходящее. Это позволяет избежать «мусорных» документов и пробивать чек непосредственно из того объекта, который фиксирует приход денег на расчетный счет.

Разберем логику, которую необходимо реализовать в такой обработке:

Для взаимодействия с ККТ в УТ 10.3 используется объект ОбработкаОбслуживания. Код инициализации печати чека в упрощенном виде выглядит следующим образом:


// Инициализация оборудования
Результат = ОбработкаОбслуживания.ВыполнитьКоманду(ИдентификаторУстройства, 
                                                "ОткрытьЧек", 
                                                ПараметрыОткрытияЧека);

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

// Закрытие чека с указанием типа оплаты "Безналичные"
ПараметрыЗакрытия = Новый Массив();
ПараметрыЗакрытия.Добавить(СуммаЧека); // Сумма наличными (0)
ПараметрыЗакрытия.Добавить(СуммаЧека); // Сумма безналичными (вся сумма)
ОбработкаОбслуживания.ВыполнитьКоманду(ИдентификаторУстройства, "ЗакрытьЧек", ПараметрыЗакрытия);

Использование готовых внешних обработок (например, с профильных ресурсов) позволяет добавить кнопку «Напечатать чек» прямо в форму платежного поручения, что значительно упрощает жизнь бухгалтеру.

Настройка драйвера ККТ для корректного отображения типа оплаты

Проанализируем ситуацию, когда в чеке вместо слова «Безналичными» печатается «Электронными» или «Картой». Это часто вызывает вопросы у проверяющих органов.

Причина кроется в таблицах параметров самой кассы (ККТ). Чтобы исправить это, необходимо:

  1. Зайти в тест драйвера (например, АТОЛ или Штрих-М).
  2. Перейти в раздел «Программирование» или «Таблицы».
  3. Найти таблицу, отвечающую за типы оплаты (обычно это таблица №2 или раздел «Типы платежей»).
  4. Убедиться, что для индекса платежа, который передает 1С (обычно это 1 или 2), задано наименование «БЕЗНАЛИЧНЫМИ».

В современных версиях ФФД (1.05 и 1.2) термин «Электронными» законодательно заменен на «Безналичными». Если ваша УТ 10.3 использует старую обработку обслуживания, она может передавать неверный идентификатор типа оплаты. В этом случае программисту необходимо поправить код функции ПодготовитьДанныеДляЧека, чтобы переменная, отвечающая за тип оплаты, соответствовала требованиям актуального драйвера.

Проблема авансов: два чека на одну сделку

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

1. Чек на приход денежных средств: Признак способа расчета — ПРЕДОПЛАТА 100% (или АВАНС). Этот чек пробивается в момент поступления денег на расчетный счет (из платежки или через «заготовку» оплаты картой).
2. Чек на отгрузку: Признак способа расчета — ПОЛНЫЙ РАСЧЕТ. Пробивается в момент передачи товара клиенту. В этом чеке сумма к оплате будет равна нулю, так как расчет уже произведен ранее (зачет аванса).

В стандартной УТ 10.3 автоматизация этой цепочки для безналичных платежей практически отсутствует. Пользователям приходится либо докупать специализированные расширения, либо вручную создавать документы ЧекККМ на основании реализации, выбирая вид расчета «Зачет аванса».

Резюме

Подводя итог, можно сказать, что решение проблемы безналичных чеков в УТ 10.3 возможно следующими путями:

Помните, что корректность настройки драйвера и соответствие формату фискальных данных (ФФД) так же важны, как и наличие самой кнопки печати в программе.

← На главную