Как пробить чек возврата в 1С, если смена закрыта, а деньги клиенту уже вернули?

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

Возникновение ситуации, когда чек возврата не пробился из-за технических проблем (например, замятие бумаги), а смена уже была закрыта, является достаточно распространенной проблемой для пользователей 1С, работающих с онлайн-кассами. Дополнительную сложность добавляет то, что деньги клиенту уже были фактически возвращены через эквайринговый терминал, но данные о возврате не ушли в ОФД и не были фискализированы. Рассмотрим подробно, как можно решить эту проблему, используя различные подходы в 1С.

Понимание сути проблемы и юридические аспекты

Прежде чем приступать к каким-либо действиям, важно понимать, что фискальный документ (чек) может быть сформирован только в открытой кассовой смене. «Задним числом» пробить фискальный чек технически невозможно, так как каждый чек содержит фискальный признак, связанный со временем и датой формирования. Если возврат не был фискализирован, но деньги клиенту уже вернулись, то в ОФД будет виться излишняя сумма продажи, которую необходимо скорректировать.

Согласно разъяснениям ФНС и актуальным форматам фискальных данных (ФФД 1.1 и 1.2), для исправления такой ситуации чаще всего используется либо пробитие чека «Возврат прихода» текущим числом (с привязкой к фискальному признаку исходного чека продажи, если это возможно в вашей конфигурации), либо «Чек коррекции».

Решение 1: Пробитие чека возврата текущим числом с отключением эквайринга

Это один из самых рекомендуемых и легальных способов решения проблемы, когда деньги клиенту уже возвращены, но фискальный чек не пробит. Наша цель — сформировать фискальный чек возврата, который уйдет в ОФД, но не инициирует повторное движение средств через банк, поскольку они уже были возвращены.

  1. Создаем документ возврата:

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

    При создании возврата, обратим внимание на вид оплаты. Указываем «Платежная карта».

  2. Временно отключаем интегрированный эквайринг:

    Поскольку средства уже возвращены, нам необходимо пробить чек возврата только на кассовом аппарате, без взаимодействия с банковским терминалом. Для этого нам потребуется временно изменить настройки эквайрингового терминала в 1С:

    • Переходим в раздел НСИ и администрирование.
    • Выбираем пункт РМК и оборудование (или аналогичный, в зависимости от конфигурации).
    • Находим раздел Эквайринговые терминалы и открываем настройки используемого терминала.
    • В настройках терминала находим опцию «Использовать без подключения оборудования» (или аналогичную, например, снять флаг «Использовать подключаемое оборудование»). Возможно, потребуется временно создать новый «Вид оплаты», который не привязан к конкретному подключаемому терминалу (тип «Платежная карта», но без указания настроек эквайринга).
    • Важно: убедимся, что текущая кассовая смена на ККТ открыта. Чек будет пробит текущим числом.

    После изменения этой настройки, 1С позволит нам пробить чек возврата по безналичной оплате, но не будет посылать команду на банковский терминал.

  3. Пробиваем чек возврата:

    Возвращаемся к созданному документу «Возврат товаров от клиента» и нажимаем кнопку «Пробить чек». Чек успешно фискализируется на ККТ и уйдет в ОФД, отражая факт возврата безналичными средствами.

  4. Возвращаем настройки эквайринга:

    После успешного пробития чека, обязательно возвращаем настройки эквайрингового терминала в исходное состояние, чтобы корректно работали дальнейшие операции.

Решение 2: Использование чека коррекции

Чек коррекции используется для исправления ошибок, когда фискальный документ не был пробит вовсе или был пробит с неверными данными, а также при излишках/недостачах. В нашем случае, если изначально чек возврата не пробился, и в ОФД висит две продажи без возврата, это может быть трактовано как ошибка регистрации операции. Рассмотрим, когда и как его применять:

  1. Когда использовать:

    Мы используем чек коррекции, если не можем или не хотим пробивать обычный «Возврат прихода» текущим числом, или если ситуация более сложная (например, нет исходного чека для привязки). Также чек коррекции подойдет, если мы хотим явно указать, что корректируем «расход безналичными средствами» на сумму возврата, как предлагалось в обсуждении.

  2. Как создать чек коррекции:

    В 1С чек коррекции обычно создается из рабочего места кассира (РМК) или специального журнала документов ККМ. Нам необходимо:

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

    Важно: Пробитие чека коррекции требует наличия открытой кассовой смены на ККТ.

Решение 3: Программное изменение статуса чека (для разработчиков)

Этот метод может быть полезен, если в 1С завис документ «Чек ККМ», и вы хотите его привести в соответствие с фактическим состоянием (т.е., пометить как пробитый), но он не решит проблему с ОФД, если чек не был фискализирован.

Суть метода заключается в том, чтобы программно изменить статус документа ЧекККМ на Пробит. Это может быть сделано через внешнюю обработку или расширение.

Приведем пример кода, который был предложен в обсуждении, для расширения конфигурации:


&НаКлиенте
Процедура Расш1_УстановитьКакПробитыйПосле(Команда)
    ТекЧек = Элементы.ЧекиККМ.ТекущиеДанные.Ссылка;
    УстановитьСтатусПробит(ТекЧек);
    Элементы.ЧекиККМ.Обновить;
КонецПроцедуры

&НаСервере
Процедура УстановитьСтатусПробит(ТекЧек)
    ЧекОбъект = ТекЧек.ПолучитьОбъект();
    ЧекОбъект.Статус = Перечисления.СтатусыЧековККМ.Пробит;
    ЧекОбъект.ОбменДанными.Загрузка = Истина; // Отключаем контроль изменений для обмена
    ЧекОбъект.Записать();
    ЧекОбъект.ОбменДанными.Загрузка = Ложь; // Включаем контроль обратно
    ЧекОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
КонецПроцедуры

Пояснение к коду:

Внимание: Использование этого метода требует осторожности и понимания последствий. Он исправляет только данные в 1С, но не взаимодействует с фискальным накопителем и ОФД. Если в ОФД нет данных о возврате, то этот код сам по себе проблему не решит.

Решение 4: Проверка ОФД и ручные корректировки в 1С

Всегда начинаем с проверки фактического состояния данных. До того как пробивать что-либо, обязательно проверяем личный кабинет ОФД.

  1. Проверяем ОФД:

    Заходим в личный кабинет вашего оператора фискальных данных и ищем чеки за соответствующий период. Нам нужно выяснить:

    • Есть ли вообще информация о неудачном чеке возврата? Иногда данные успевают уйти в ОФД, но не вернуться в 1С из-за проблем с принтером.
    • Если в ОФД есть две продажи и нет возврата (как в случае автора), значит, проблему нужно решать пробитием нового фискального документа.
  2. Действия в 1С по результатам проверки:
    • Если в ОФД возврат все же есть: Это означает, что фискальный накопитель зарегистрировал операцию, но 1С об этом не знает. В этом случае пробивать новый чек не нужно. Нам остается только выровнять остатки в 1С (например, вручную изменить статус зависшего документа на «Пробит» или пометить его на удаление, а данные учесть в отчете о розничных продажах вручную). Также может потребоваться очистить записи в регистре сведений «Фискальные операции», чтобы 1С «забыла» о неудачной попытке и не пыталась повторно пробить этот чек.
    • Если в ОФД возврата нет: Тогда необходимо выполнить одно из решений, описанных выше (пробитие возврата текущим числом с отключением эквайринга или создание чека коррекции).
  3. Ручные корректировки отчета о розничных продажах:

    Если в 1С необходимо отразить движение товаров или денежных средств, которые не были корректно проведены через кассу, но фактически произошли, мы можем вручную добавить эти данные в документ «Отчет о розничных продажах». Это помогает синхронизировать управленческий учет в 1С с фактическим положением дел, особенно если чек возврата был пробит вручную на другой ККТ или по какой-то причине не связался с 1С.

Решение 5: Особенности для 1С:УНФ (версия 1.6)

Если мы работаем с 1С:УНФ (Управление нашей фирмой) версии 1.6, существуют специфические обходные пути для создания возврата в закрытой смене:

  1. Создание «Приходной накладной» с операцией «Возврат от покупателя»:

    В 1С:УНФ 1.6 мы можем пойти следующим путем:

    • Создаем документ «Приходная накладная».
    • В этом документе выбираем операцию «Возврат от покупателя».
    • Заполняем табличную часть номенклатурой и суммами возврата.
    • Проводим этот документ.
  2. Формирование «Операции по платежным картам»:

    После проведения «Приходной накладной» на ее основании мы можем создать документ «Операция по платежным картам» с видом операции «Возврат». Именно из этого документа затем пробивается фискальный чек возврата.

Этот метод позволяет корректно отразить возврат товара и денежных средств в 1С:УНФ, обходя ограничения, связанные с закрытыми сменами для чеков ККМ.

В заключение, проблема с непробитым чеком возврата в закрытой смене решаема, но требует внимательности и последовательности действий. Мы всегда должны проверять состояние в ОФД и выбирать тот метод, который наилучшим образом соответствует законодательству и возможностям нашей конфигурации 1С.

← На главную