Как настроить типы оплаты на кассе ШТРИХ-М и правильно пробивать чеки предоплаты в 1С?

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

При подключении и настройке онлайн-касс, таких как ШТРИХ-М, программисты и пользователи часто сталкиваются с несоответствием типов оплат в драйвере кассы и учетной системе 1С, а также с ошибками при попытке пробить чек на частичную предоплату. Рассмотрим подробнее, как устроена передача данных об оплатах, почему касса может отклонять чеки с предоплатой, и разберем по шагам правильные способы оформления таких операций согласно закону 54-ФЗ.

Ограничения платформы и драйвера: Типы оплат

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


ЗаписьXML.ЗаписатьНачалоЭлемента("Payments");
ЗаписьXML.ЗаписатьАтрибут("Cash", XMLСтрока(СуммаНаличнойОплаты));
ЗаписьXML.ЗаписатьАтрибут("CashLessType1", XMLСтрока(СуммаЭлектроннойОплаты1));
ЗаписьXML.ЗаписатьАтрибут("CashLessType2", XMLСтрока(СуммаЭлектроннойОплаты2));
ЗаписьXML.ЗаписатьАтрибут("CashLessType3", XMLСтрока(СуммаЭлектроннойОплаты3));
ЗаписьXML.ЗаписатьКонецЭлемента();

В настройках драйвера ШТРИХ-М может быть доступно до 16 различных типов безналичной оплаты (например, Visa, MasterCard, сертификат, кредит и т.д.). Однако стандартная Библиотека подключаемого оборудования (БПО) 1С оперирует только тремя видами электронных оплат (атрибуты CashLessType1, CashLessType2 и CashLessType3).

Выясним причину такого расхождения. По форматам фискальных документов (ФФД), установленным ФНС, все безналичные платежи (карты, электронные кошельки, переводы) сводятся к одному фискальному тегу 1081 («Безналичными»). Расширенное количество типов оплат в драйвере добавлено производителем исключительно для внутренней аналитики самой кассы и Z-отчетов. Для фискализации в ФНС детальное разделение типов карт не требуется, поэтому 1С использует базовые типы, соответствующие требованиям законодательства.

Ошибка при пробитии чека: Несовпадение сумм позиций и оплат

Частая проблема возникает при попытке принять частичную предоплату. Допустим, клиент покупает товар стоимостью 300 рублей, но сейчас вносит только 150 рублей. Если попытаться пробить такой чек стандартным образом, ККТ выдаст ошибку формата и откажется печатать документ.

Разберем причину. Согласно требованиям налоговой инспекции, онлайн-касса проводит строгую математическую проверку. Итоговая стоимость всех позиций в чеке (цена, умноженная на количество) должна копейка в копейку совпадать с суммой внесенных денежных средств (наличные плюс безналичные оплаты). Если в секцию товаров передана сумма 300 рублей, а в секцию оплат — только 150 рублей, чек считается математически некорректным и блокируется кассовым аппаратом.

Как правильно оформить предоплату и аванс (начиная с ФФД 1.05)

Для решения этой проблемы в форматах фискальных документов (1.05, 1.1 и 1.2) предусмотрены специальные механизмы. Посмотрим на алгоритм действий, который позволяет провести оплату в два этапа без математических ошибок:

  1. Пробитие первого чека (получение денег). Принимаем фактически полученные средства (150 рублей). В позициях чека указываем товар, но передаем специальный реквизит «Признак способа расчета» (тег 1214) со значением «Предоплата» (если список товаров известен) или «Аванс» (если мы принимаем деньги просто в счет будущих покупок). Сумма расчета в этом чеке будет равна ровно 150 рублям, математика сходится, и ККТ успешно фискализирует операцию.
  2. Пробитие второго чека (передача товара). Когда клиент забирает товар и доплачивает остаток, формируется второй чек на полную сумму товара (300 рублей) с признаком способа расчета «Полный расчет». В этом чеке ранее внесенные 150 рублей отражаются не как новая оплата наличными или картой, а передаются в специальный тег 1215 («Сумма по чеку предоплатой / зачетом аванса»). Оставшиеся 150 рублей проводятся как обычная фактическая доплата. Сумма позиций снова совпадает с суммой оплат и зачтенных авансов.

Альтернативные и штатные варианты решения в 1С

Если вы используете устаревшие версии ФФД или конфигураций (что в настоящее время настоятельно не рекомендуется), некоторые специалисты прибегали к извращенным методам: принимали всю сумму как единый аванс без указания номенклатуры (текстом вроде «оплата за товар по накладной»), а при полной оплате делали возврат денег и пробивали новый чек на полную сумму с товарами. Согласно письму Минфина (от 28 апреля 2017 г. № 03-01-15/26352), указание аванса допустимо, если объем и список товаров невозможно определить в момент оплаты.

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

Обязательно ли проводить терминальные оплаты через ФН?

Зачастую возникает вопрос: нужно ли вообще пробивать чеки на онлайн-кассе и гнать данные через фискальный накопитель (ФН), если клиент оплатил картой через банковский терминал?

Ответ однозначный: да, строго обязательно. Согласно закону 54-ФЗ, банковский слип-чек (бумажка, которая вылезает из эквайрингового терминала) подтверждает исключительно факт списания денег со счета клиента. Он не является фискальным документом. Электронные средства платежа приравнены к наличным расчетам. При приеме любых оплат от физических лиц (наличные, банковские карты, переводы по СБП или NFC) применение ККТ с передачей данных в ОФД является обязательным. Непробитый чек при оплате картой повлечет за собой штрафные санкции со стороны ФНС.

← На главную