Что делать, если терминал списал деньги, но чек не появился в 1С:Рознице и не пробился на ККТ?

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

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

Шаг 1. Диагностика и проверка фактического состояния чека

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

  1. Проверка журнала документов в «1С:Рознице»: перейдем в список чеков ККМ за нужную дату. Иногда при аварийном завершении чек успевает записаться, но остается непроведенным и получает время 00:00:00. Если такого чека в списке нет, проверяем журнал регистрации конфигуратора в интервале времени со слип-чека (плюс-минус 10 минут) по событию записи или проведения документа ЧекККМ. Отсутствие записей подтверждает, что команда создания документа была прервана до фиксации транзакции в базе.
  2. Проверка личного кабинета ОФД: зайдем в личный кабинет оператора фискальных данных, с которым работает организация, и выполним поиск по сумме и времени со слип-чека. Если фискальный чек отсутствует в ОФД, значит, ККТ его физически не пробивала.
  3. Анализ отчета о закрытии смены (Z-отчета): проверим бумажный или электронный Z-отчет (в «1С:Рознице» это документ ОтчетОРозничныхПродажах). Сверим общую сумму безналичной выручки. Если суммы спорной операции в отчете нет, операция не фискализирована на ККТ.
  4. Сверка итогов банковского терминала: снимем с терминала отчет «Сверка итогов» (закрытие банковской смены). Если сумма операции присутствует в сверке терминала, значит, деньги с клиента списаны и поступят на расчетный счет организации, но кассовая дисциплина по ККТ нарушена (неприменение ККТ по 54-ФЗ).

Шаг 2. Выясняем технические причины сбоя

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

  1. Таймаут или сбой библиотеки эквайринга: терминал связывается с хостом банка, авторизует операцию и печатает банковский слип. Однако ответ от компоненты (например, sbrf.dll или pilot_nt.dll) возвращается в «1С» с задержкой или ошибкой таймаута. Программа расценивает это как неудачу, откатывает транзакцию создания документа ЧекККМ, но команда отмены операции на терминал не проходит.
  2. Действия кассира: во время ожидания ответа от банка кассир мог нажать клавишу Esc, прервать работу модального окна или перезагрузить рабочее место, что прервало выполнение кассового скрипта.
  3. Автономная операция на пин-паде: кассир мог запустить операцию оплаты непосредственно с клавиатуры самого банковского терминала (минуя интерфейс РМК «1С:Розницы»). Терминал провел платеж автономно, о чем учетная система даже не была уведомлена.

Шаг 3. Способы устранения расхождения

Поскольку деньги с покупателя списаны, повторно прикладывать карту нельзя. Выручку необходимо провести по кассе, чтобы исключить штрафы за неприменение ККТ.

Способ 1. Оформление чека коррекции (по требованиям 54-ФЗ)

Это строго регламентированный способ устранения расхождения между данными эквайринга и фискального накопителя:

  1. Перейдем в раздел «Продажи» или «Финансы» и откроем журнал «Кассовые чеки коррекции».
  2. Создадим новый документ с типом операции «Приход».
  3. Укажем дату коррекции, выберем текущую кассу ККМ и фискальный регистратор.
  4. В табличной части укажем сумму расчета, ставку НДС и признак способа оплаты — «Безналичными».
  5. В поле основания укажем реквизиты объяснительной записки кассира или акта сверки с банком.
  6. Пробьем чек коррекции на ККТ. Данные сразу уйдут в ОФД и налоговую инспекцию, закрыв разрыв по кассовой смене.

Способ 2. Пробитие чека через временный автономный режим эквайринга

Если необходимо не только пробить чек на ККТ, но и списать конкретные товарные остатки в рамках розничной продажи:

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

Профилактика повторения проблемы

Чтобы избежать подобных ситуаций в будущем, выполним следующие настройки:

  1. В каталоге драйвера Сбербанка найдем конфигурационный файл pinpad.ini и увеличим значение параметра Timeout, чтобы программа не обрывала соединение раньше, чем терминал успеет отправить подтверждение транзакции.
  2. Обратимся к инженеру обслуживающего банка с просьбой заблокировать возможность запуска финансовых операций непосредственно с физической клавиатуры пин-пада, оставив прием команд только от управляющей программы «1С».
  3. Проверим актуальность прошивки ККТ и драйверов оборудования в «1С:Рознице».
← На главную