Ситуация, когда покупатель прикладывает карту к терминалу, деньги успешно списываются с его счета, но онлайн-касса выдает ошибку и не печатает фискальный чек, является одной из самых стрессовых для кассира и бухгалтера. В результате возникает расхождение: по данным банковской выписки (эквайринга) деньги поступили, а в системе фискальных данных (ОФД) и в программе 1С продажа не зафиксирована. Разберем подробно, как выйти из этой ситуации, соблюдая законодательство и сохраняя порядок в учетной системе.
Прежде чем переходить к активным действиям, проанализируем ситуацию и выясним причины сбоя. Чаще всего проблема кроется в техническом взаимодействии между тремя звеньями: программой 1С, драйвером кассы и банковским терминалом.
fptr10 (для касс Атол) или аналогичных драйверов для других марок может привести к тому, что команда на печать чека «зависает».Первым делом нам необходимо убедиться, что транзакция действительно была успешной и деньги не вернутся покупателю автоматически. Рассмотрим подробнее, как это сделать. Необходимо на самом банковском терминале запустить операцию «Сверка итогов» или распечатать «Краткий отчет». Если в итоговой сумме за смену присутствует сумма несостоявшегося чека (в нашем примере — 524 рубля), значит, эквайринговая часть операции завершена успешно.
Важный совет: Найдите на слип-чеке терминала (если он напечатался) или в отчете терминала номер RRN. Этот уникальный идентификатор транзакции поможет нам в дальнейшем при формировании корректировок.
Одним из самых эффективных способов, предложенных участниками форума, является временное изменение настроек оборудования. Это позволяет провести документ в базе 1С и пробить чек, не провоцируя терминал на повторное списание денег.
Разберем по шагам этот алгоритм:
Без подключения оборудования или временно изменить тип подключения на «Автономный терминал». Это разорвет прямую связь между 1С и физическим устройством.Если 1С категорически отказывается проводить операцию (например, документ заблокирован или выдает программную ошибку), можно воспользоваться утилитой драйвера ККТ. Посмотрим на пример работы с драйвером Атол (10-я версия):
Включено.Безналичными (обычно это Тип 2, но зависит от настроек вашей кассы).После этого необходимо будет отразить эту операцию в 1С вручную, чтобы остатки товаров и взаиморасчеты сошлись. Для этого используется документ Операция по платежной карте с видом «Поступление оплаты от клиента», где указывается, что чек на ККМ уже пробит.
Согласно 54-ФЗ, если оплата фактически принята, а чек не выбит своевременно, это является нарушением. Чтобы избежать штрафов, проанализируем ситуацию с точки зрения налоговой. Современные форматы фискальных данных (ФФД 1.1 и 1.2) позволяют использовать Чек коррекции.
В 1С для этого существует специальный документ Чек коррекции. При его создании укажите:
Такой подход делает операцию абсолютно прозрачной для ФНС и избавляет вас от необходимости писать объяснительные записки в налоговую инспекцию.
Чтобы минимизировать количество таких «зависаний» в будущем, рекомендуется выполнить следующие настройки в системе:
Проанализируем технические параметры драйвера. В настройках параметров эквайринга в 1С часто есть поле Таймаут ответа. По умолчанию он может составлять 30-45 секунд. Увеличьте его до 60-90 секунд. Это даст системе больше времени на обработку запроса в условиях медленного отклика банковского сервера.
Также проверьте настройки энергосбережения USB-портов на кассовом компьютере. Часто система «усыпляет» порт для экономии энергии, что приводит к разрыву связи с терминалом или кассой в самый неподходящий момент. Отключите эту функцию в диспетчере устройств.
При работе с кодом или глубокими настройками 1С, помните, что состояние транзакции часто фиксируется в регистрах. В некоторых конфигурациях (например, «1С:Управление торговлей») полезно проверить регистр Операции с платежными картами. Если транзакция там висит в статусе «Выполняется», ее можно принудительно подтвердить программно, используя методы объекта МенеджерОборудования.
Пример логики проверки статуса в коде может выглядеть так:
РезультатОперации = ЭквайринговаяСистема.ВыполнитьОплатуПоКарте(Сумма, ДанныеКарты);
Если Не РезультатОперации.Результат Тогда
// Если здесь возникла ошибка связи с кассой, но банк вернул успех
// Необходимо предусмотреть механизм подтверждения без повторной транзакции
ЗаписатьСтатусВРегистр("ТребуетсяРучноеПодтверждение", Сумма);
КонецЕсли;
Подведем итог: Главное в данной ситуации — не паниковать и не проводить повторную оплату с покупателя. Сначала убедитесь в списании денег через отчет терминала, а затем используйте метод «отвязки» оборудования в 1С или драйвер ККТ для фискализации продажи. Это обеспечит соответствие данных в учетной системе, банке и налоговой отчетности.