Чек не уходит в кассу - разбор причин
Заказ оплачен, а чек не пробит: очередь стоит или чек висит в состоянии печати. Разбираем причины по убыванию частоты, начиная с очереди чеков.
С чего начать
Смотрим очередь чеков заказа:
\Bitrix\Main\Loader::includeModule('sale');
$rows = \Bitrix\Sale\Cashbox\Internals\CashboxCheckTable::getList([ 'select' => ['ID', 'TYPE', 'STATUS', 'SUM', 'DATE_CREATE', 'ORDER_ID'], 'filter' => ['=ORDER_ID' => $orderId],])->fetchAll();print_r($rows);// пусто - чек не создавался, значит дело не в кассе, а в самом заказе// STATUS показывает состояние: в очереди, в печати, пробит, ошибкаПустая очередь и зависший чек - разные истории. В первом случае разбирают оплату и отгрузку заказа, во втором - настройки кассы и ответы её сервиса.
Сверяем суммы оплаты и отгрузки:
$order = \Bitrix\Sale\Order::load($orderId);printf("заказ=%.2f оплаты=%.2f\n", $order->getPrice(), $order->getSumPaid());foreach ($order->getShipmentCollection() as $shipment) { if ($shipment->isSystem()) { continue; } // системную отгрузку пропускаем printf("отгрузка=%.2f\n", $shipment->getPrice());}Чек прихода не формируется, когда сумма отгрузки расходится с суммой оплаты. Товары и доставка в отгрузке должны в сумме давать ровно ту сумму, которую покрывает платёж.
Проверяем настройки кассы:
$cashboxes = \Bitrix\Sale\Cashbox\Manager::getListFromCache();print_r(array_map(static fn ($row) => [ $row['NAME'], $row['ACTIVE'], $row['HANDLER'],], $cashboxes));// у части обработчиков обязательны внешний идентификатор кассы и код группы// поддержка маркировки включается выбором обработчика, а не сама собойНезаполненные обязательные поля обработчика - типовая причина молчания. Касса активна, заказ оплачен, а чек не уходит, потому что сервису не с чем работать.
Причины
-
Суммы оплаты и отгрузки не сходятся примерно 30% случаев
ПризнакЗаказ оплачен, отгрузка есть, а чек в очереди не появился.
ПроверкаСравниваем сумму платежа с суммой отгрузки вместе с доставкой.
Что делатьПриводим документы в соответствие: каждой оплате - своя отгрузка на ту же сумму.
-
Не заполнены обязательные поля кассы примерно 25% случаев
ПризнакЧеки не уходят ни по одному заказу, очередь копится или пуста.
ПроверкаСмотрим настройки обработчика кассы: идентификаторы, коды и реквизиты.
Что делатьЗаполняем обязательные поля обработчика: без них сервис кассы запрос не примет.
-
Чек завис в состоянии печати примерно 20% случаев
ПризнакЧек висит в очереди с состоянием печати и не меняется сутками.
ПроверкаСмотрим запись чека и ответ сервиса кассы в журнале обмена.
Что делатьУдаляем зависшую запись кодом: из интерфейса такой чек не убирается.
-
Суммы в чеке без копеек или с расхождением примерно 15% случаев
ПризнакЧек уходит, но сумма отличается от заказа на копейки.
ПроверкаСмотрим формат валюты сайта: число знаков после запятой и округление.
Что делатьВозвращаем два знака после запятой: при нуле знаков суммы печатаются без копеек.
-
Не заданы признаки расчёта позиций примерно 10% случаев
ПризнакСервис кассы отвечает отказом с указанием на реквизиты позиции.
ПроверкаСмотрим признаки способа и предмета расчёта у товаров и доставки.
Что делатьЗаполняем признаки расчёта: они обязательны и проверяются на стороне кассы.
Частые вопросы
Сколько чеков должно быть на заказ?
Обычно два: на поступление денег и на передачу товара. Оба события фиксируются отдельно, и настройка магазина должна приводить к обоим.
Можно ли исправить уже пробитый чек?
Нет, данные ушли в налоговую. Ошибку исправляют только новым чеком - возвратом или коррекцией, а не правкой прежнего.
Как удалить зависший чек?
Записью через код: интерфейс такие чеки не удаляет. Перед удалением стоит убедиться, что чек действительно не пробит на стороне кассы.
Есть ли тестовый режим у кассы?
У зарегистрированной кассы нет: тестовый чек становится реальным чеком в налоговой. Проверяют на отдельной тестовой кассе, а не на боевой.
Почему НДС в чеке отличается от заказа?
Налог считается по-разному в разных типах чеков и округляется при скидках на доставку. Расхождение в копейки разбирают вместе с бухгалтерией.
Смежное
- Онлайн-касса и чеки - оглавление подтемы
- Онлайн-касса: подключение, состав чека, очередь и ошибки - как устроена касса
- Возврат покупателю: отмена оплаты, чек возврата, склад - чек возврата
- Оплаты и отгрузки заказа: объекты, признаки, частичные операции - согласование документов заказа
- НДС в каталоге и заказах: ставки, цена с налогом и доставка - налог в позициях чека
- Заказ из кода не сохраняется: разбор причин - когда проблема раньше кассы
- Личный кабинет и онлайн-кассы (54-ФЗ) - устройство касс целиком