Можно ли использовать одну ККТ на несколько касс и печатать дубликаты чеков с QR-кодом на обычных принтерах?

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

При автоматизации розничных магазинов с несколькими рабочими местами кассиров нередко возникает идея сэкономить на оборудовании: приобрести один зарегистрированный фискальный регистратор с фискальным накопителем (ФН), а на самих кассовых узлах установить недорогие термопринтеры чеков, печатающие копии документов с QR-кодом. Проанализируем техническую и законодательную сторону этой схемы, выясним, почему она несет высокие правовые риски, и разберем, как устроена работа с фискальными данными в среде 1С.

Правовые ограничения схемы по 54-ФЗ

Рассмотрим требования Федерального закона № 54-ФЗ к процессу фискализации и выдаче чеков покупателю. Законодательство строго определяет условия, при которых расчет считается выполненным корректно:

  1. Место применения ККТ: Удаленная (централизованная) фискализация без печати чека в момент расчета разрешена строго для ограниченного перечня видов деятельности — интернет-торговля, вендинг, автоматические терминалы, общественный транспорт и выездная (курьерская) доставка. В стационарной рознице расчет происходит непосредственно в месте передачи товара, следовательно, кассовый аппарат должен физически находиться на месте расчета.
  2. Статус распечатки с термопринтера: Документ, напечатанный на обычном принтере чеков (даже если на нем полностью воспроизведены реквизиты фискального документа и QR-код), с точки зрения закона является нефискальной копией. Чек признается действительным фискальным документом только тогда, когда он отпечатан печатающим механизмом, конструктивно входящим в состав зарегистрированного экземпляра ККТ.
  3. Отказ от печати бумажного чека: Переход на полностью электронный чек допустим только в том случае, если покупатель предоставил свой номер телефона или адрес электронной почты строго до момента расчета (тег 1008). Если покупатель не сообщил контакты, кассир обязан выдать фискальный бумажный чек, отпечатанный на ККТ. Выдача нефискальной распечатки при проверке или контрольной закупке приравнивается к ненаправлению или невыдаче чека (ч. 4 и ч. 6 ст. 14.5 КоАП РФ) либо к неприменению ККТ (ч. 2 ст. 14.5 КоАП РФ).

Структура данных для формирования QR-кода чека

Разберем, из каких параметров состоит фискальный QR-код и почему его нельзя произвольно собрать без данных от фискального накопителя. При проверке чека через мобильное приложение ФНС или сайт оператора фискальных данных (ОФД) сканируется строка определенных реквизитов.

Посмотрим на пример стандартной строки данных, зашиваемой в QR-код:

t=20170208T205100&s=130.00&fn=8710000100102057&i=2819&fp=772222682&n=1

Проанализируем расшифровку параметров этой строки:

  1. t — дата и точное время фискализации документа в формате ГГГГММДДTЧЧММСС. Время фиксируется внутренними часами ФН, а не локального компьютера.
  2. s — итоговая сумма расчета с копейками через точку.
  3. fn — заводской номер фискального накопителя (16 знаков).
  4. i — порядковый номер фискального документа (ФД, тег 1040). Этот номер является сквозным для всего накопителя и инкрементируется при каждом фискальном действии (открытие смены, чек, отчет о закрытии смены).
  5. fp — фискальный признак документа (ФПД, тег 1077). Это уникальное контрольное число, рассчитываемое криптографическим сопроцессором ФН на основе закрытого ключа и всех реквизитов чека.
  6. n — признак расчета (например, 1 — приход, 2 — возврат прихода, 3 — расход, 4 — возврат расхода).

Рассчитать фискальный признак (ФПД) самостоятельно на стороне 1С невозможно — его генерирует исключительно фискальный накопитель в момент закрытия документа в кассе.

Получение фискальных реквизитов в 1С через БПО

При использовании стандартной Библиотеки подключаемого оборудования (БПО) для конфигураций «1С:Розница», «1С:Управление торговлей» или «1С:ERP» пробитие чека выполняется с помощью метода СформироватьЧек (ProcessCheck). Разберем параметры, которые возвращает данный метод:


// Сигнатура метода БПО:
// ProcessCheck(DeviceID, CashierName, Electronically, CheckPackage, CheckNumber, SessionNumber, FiscalSign, AddressSiteInspections)

Если ПодключаемоеОборудованиеРТ.СформироватьЧек(ИдентификаторУстройства, Кассир, Электронно, ПакетЧека, НомерЧека, НомерСмены, ФискальныйПризнак, АдресСайтаПроверки) Тогда
    // НомерЧека - номер документа в пределах смены либо номер ФД (в зависимости от ревизии драйвера)
    // ФискальныйПризнак - значение ФПД (тег 1077), полученное от ФН
    Сообщить("Чек успешно фискализирован. ФПД: " + ФискальныйПризнак);
КонецЕсли;

Обратим внимание на важную деталь: возвращаемый параметр НомерЧека (CheckNumber) в базовых версиях драйверов может содержать порядковый номер чека за смену, тогда как для формирования QR-кода необходим сквозной номер фискального документа (ФД). Для получения точного номера ФД (тег 1040) при необходимости повторного формирования QR-кода программно опрашивают параметры последнего закрытого документа через низкоуровневые команды драйвера ККТ.

Ограничения и коллизии при совместном доступе к одной ККТ в 1С

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

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

Легальные архитектурные альтернативы

Если предприятию требуется оптимизировать процессы печати и затраты на парки оборудования, не нарушая при этом закон 54-ФЗ, следует рассмотреть проверенные механизмы:

  1. Использование сервиса оборудования (Web-сервер ККТ): В актуальных версиях БПО рабочее место, к которому подключена касса, публикуется как HTTP-сервис. Остальные рабочие места отправляют запросы на фискализацию через локальную сеть. Чеки встают в очередь и пробиваются последовательно, однако сам физический чек выходит непосредственно на ККТ.
  2. Отображение QR-кода на дисплее (п. 5.6 ст. 1.2 54-ФЗ): Для терминалов самообслуживания и вендинга допустимо не распечатывать чек на бумаге, если на экран покупателя выводится динамический QR-код чека, позволяющий считать данные и открыть электронный документ в приложении ФНС.
  3. Централизация расчетного узла: Разделение зон самообслуживания или консультации и расчетно-кассового узла. На рабочих местах формируются только предварительные документы (заказы покупателя, отложенные чеки), а фактический прием денежных средств, фискализация и выдача бумажного чека производятся кассиром на централизованной точке, оснащенной зарегистрированной ККТ.
← На главную