При переходе на онлайн-кассы по требованиям Федерального закона № 54-ФЗ многие разработчики и бухгалтеры сталкиваются с вопросом отмены ошибочно проведенных кассовых операций. В старых фискальных регистраторах (до эпохи онлайн-ККТ) существовала практика аннулирования чеков в рамках одной открытой смены без изменения фискального итога. Выясним, почему вызов низкоуровневых методов аннулирования не работает для закрытых документов в типовых конфигурациях 1С (таких как 1С:Бухгалтерия 8 или 1С:Управление торговлей) и как правильно исправлять ошибки в кассовых чеках.
Проанализируем терминологию кассовых драйверов и протоколов современных фискальных накопителей:
Таким образом, если фискальный документ закрыт, данные о нем уже записаны в фискальный накопитель (ФН) и переданы оператору фискальных данных (ОФД). Отменить такую запись командой отмены невозможно — ее можно только скомпенсировать обратной фискальной операцией.
Разберем, почему в коде 1С:Бухгалтерии (БП 3) или 1С:Управления торговлей (УТ 11) нельзя найти прямой вызов пошагового аннулирования чека. Библиотека подключаемого оборудования (БПО) взаимодействует с драйверами онлайн-касс по стандарту пакетной фискализации. В кассовое ядро драйвера передается не череда отдельных команд (открыть чек, зарегистрировать позицию, закрыть чек), а единая структура данных (в формате XML или JSON) через метод СформироватьЧек.
Кассовый аппарат выполняет валидацию пакета, моментально фискализирует всю сумму и закрывает чек за одну неделимую операцию. В результате промежуточного состояния открытого чека в 1С фактически не возникает, и вызывать методы отмены незавершенного документа не имеет практического смысла.
Рассмотрим, как регламентируется исправление ошибок в соответствии с форматами фискальных данных (ФФД):
Возврат прихода. В чеке возврата в точности дублируются состав товаров, ставки НДС и итоговая сумма ошибочного чека. Тот факт, что физической передачи денег покупателю не происходит, не является препятствием — это штатная методика сторнирования ошибочной выручки по ФФД 1.05. Если требовалось пробить другую сумму, следом пробивается правильный чек Приход.Возврат прихода, где в обязательном теге 1192 («Дополнительный реквизит чека») передается фискальный признак (ФПД) ошибочного документа. После этого пробивается новый чек коррекции Приход (если операция должна была состояться с корректными реквизитами), также ссылающийся на исходный документ.Иногда специалисты пытаются исправить ошибку кассира, запуская тест драйвера ККТ и отбивая чек возврата вручную мимо базы 1С. Рассмотрим риски такого подхода:
Все корректирующие операции следует оформлять непосредственно в 1С с помощью штатных документов (документ Чек коррекции или документ возврата), чтобы проводки и кассовые регистры сформировались корректно.
Обратим внимание на устаревшие требования кассовой дисциплины. До введения онлайн-касс при возврате денег в день покупки требовалось составлять акт по форме КМ-3 и вести журнал кассира-операциониста (форма КМ-4). Для онлайн-касс, работающих по 54-ФЗ, ведение журнала кассира-операциониста и составление формы КМ-3 не требуются — вся информация передается в налоговую инспекцию в электронном виде через ОФД в режиме реального времени. Своевременное формирование чека возврата или чека коррекции освобождает организацию от административной ответственности за нарушение правил применения ККТ.