При переходе на онлайн-кассы и новые форматы фискальных данных (ФФД) многие компании столкнулись с путаницей при исправлении ошибок в кассовых чеках. Особую сложность вызывают ситуации, когда учет ведется в старых конфигурациях, таких как 1С:Управление торговлей 10.3 (УТ 10.3) на обычных формах, а касса работает под управлением ФФД версии 1.05.
В этой статье мы подробно разберем, почему в ФФД 1.05 нельзя использовать стандартный чек коррекции для исправления рядовых ошибок, как правильно отразить операцию исправления в программе 1С, и что делать, если при попытке пробить возврат касса упорно выдает тип оплаты "Последующая оплата (кредит)" вместо реальных наличных средств.
Проанализируем требования нормативных документов и разъяснения ФНС России. Согласно методическим рекомендациям налогового ведомства, порядок исправления ошибок в чеках напрямую зависит от используемой версии формата фискальных данных:
Для исправления ошибочного чека в ФФД 1.05 применяется схема обычных чеков (так называемый "обратный расчет"):
При попытке выполнить описанную выше схему в программе 1С:Управление торговлей 10.3 пользователи часто сталкиваются с технической проблемой. Оформляя документ ВозвратТоваровОтПокупателя (особенно если возврат происходит не в день покупки), и пытаясь пробить чек непосредственно из этого документа, касса пробивает чек с типом оплаты "Последующая оплата (кредит)" (или "Встречное предоставление" / "Оплата в кредит"). При этом реальной выдачи наличных из кассы не фиксируется, а чек коррекции или повторный возврат выдает ошибку реквизитов.
Выясним причину такого поведения системы. В конфигурации УТ 10.3 заложена логика, согласно которой сам по себе товарный документ ВозвратТоваровОтПокупателя не фиксирует фактическое движение денежных средств. Для программы этот документ означает лишь то, что товар вернулся на склад, а у компании возник долг перед покупателем (то есть расчеты переходят в статус кредитных отношений). Именно поэтому при попытке пробить чек прямо из формы возврата касса генерирует признак оплаты "Кредит".
Рассмотрим, как правильно связать товарные и денежные документы в 1С:Управление торговлей 10.3 для корректного отражения расчетов на ККТ. Чтобы на чеке возврата распечатался правильный тип оплаты (например, "Наличные"), необходимо осуществлять пробитие чека из денежного документа.
Разберем алгоритм по шагам:
Создайте и проведите документ ВозвратТоваровОтПокупателя. Заполните табличную часть возвращаемыми позициями номенклатуры, укажите правильные цены и ставки НДС (соответствующие ошибочному чеку продажи).
На основании проведенного документа ВозвратТоваровОтПокупателя создайте документ РасходныйКассовыйОрдер (с видом операции "Возврат денежных средств покупателю").
В этом случае программа четко увидит, что происходит физический возврат наличных денег клиенту из кассы организации.
Откройте созданный документ РасходныйКассовыйОрдер и нажмите кнопку "Чек" (или воспользуйтесь встроенной обработкой печати чеков). Поскольку чек пробивается из денежного документа, касса получит корректную команду на выплату наличных средств, и на чеке будет напечатан правильный тип оплаты — "Наличные".
В последних релизах конфигурации УТ 10.3 разработчики также добавили специальную табличную часть на вкладке "Предоплата" или в отдельных формах интеграции, куда можно принудительно привязать кассовые документы (РКО), чтобы пробивать чек из документа возврата. Тем не менее, самым надежным и проверенным способом остается прямая печать чека из РКО.
Что делать, если физического возврата денег покупателю не происходит, а нам нужно лишь "виртуально" исправить ошибку на кассе, не ломая при этом бухгалтерский и управленческий баланс предприятия? Если мы оставим проведенным реальный Расходный кассовый ордер, у нас разойдутся данные по кассовой книге 1С и фактическому наличию денег в сейфе.
В таком случае мы рекомендуем воспользоваться следующим практическим приемом:
РасходныйКассовыйОрдер на основании ошибочной операции.РасходныйКассовыйОрдер и снимите его с проведения (или пометьте на удаление). При этом в поле "Основание" или "Комментарий" документа можно внести информацию об исправлении для последующих проверок.Таким образом, требуемые фискальные данные уйдут вашему Оператору фискальных данных (ОФД) и в налоговую инспекцию, а в вашей учетной базе 1С взаиморасчеты с контрагентами и остатки наличных в кассе не изменятся.
Если при попытке выполнить корректирующие действия касса все равно выдает неопределенные ошибки (например, "Ошибка реквизита" или "Неверный формат параметров"), проанализируем техническую сторону вопроса.
Часто в компаниях используются устаревшие драйверы ККТ (например, семейство драйверов АТОЛ версии 8.х) и необновленные обработки обслуживания торгового оборудования в самой 1С. Для корректной передачи специфических тегов ФФД 1.05 (таких как тег 1192 "Дополнительный реквизит чека", в который записывается фискальный признак исходного ошибочного чека) требуются современные библиотеки интеграции.
Посмотрим на пример структуры параметров, которую передает учетная система в обработку обслуживания ККТ при формировании чека. Для того чтобы тип оплаты определялся корректно, обработка должна передавать в драйвер правильную таблицу оплат:
// Упрощенный пример заполнения параметров оплаты в коде обработок обслуживания
ТаблицаОплат = Новый ТаблицаЗначений;
ТаблицаОплат.Колонки.Добавить("ТипОплаты", Новый ОписаниеТипов("Число"));
ТаблицаОплат.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
НоваяСтрока = ТаблицаОплат.Добавить();
// Значение 0 соответствует наличной оплате на уровне драйвера ККТ
НоваяСтрока.ТипОплаты = 0;
НоваяСтрока.Сумма = СуммаДокумента;
ПараметрыЧека.Вставить("ТаблицаОплат", ТаблицаОплат);
Если ваша конфигурация 1С давно не обновлялась, а кассовый аппарат при этом перепрошит под актуальные требования ФНС, старая обработка обслуживания может передавать неверные индексы типов оплат. В этом случае настоятельно рекомендуется обновить драйверы торгового оборудования до актуальных версий (например, перейти на 10-ю версию драйверов АТОЛ) и обновить внешнюю обработку обслуживания ККТ в базе 1С до последней версии, выпущенной разработчиками.