Что делать, если не пробивается чек на возврат из-за отсутствия денег в кассе ККМ?

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

При работе с торговым оборудованием в 1С, особенно в конфигурациях на обычных формах, таких как 1С:Комплексная автоматизация 1.1 или 1С:Управление производственным предприятием 1.3, пользователи часто сталкиваются с ситуацией, когда невозможно пробить чек на возврат. Система выдает служебное сообщение: "В ККМ нет денег для выплаты". При этом в самой программе 1С остаток по кассе может быть положительным и достаточным для совершения операции.

Рассмотрим детально, почему возникает этот программно-аппаратный диссонанс и какими способами можно восстановить работоспособность точки продаж.

Выясняем причину: почему учетные данные 1С расходятся с показателями ККТ

Для начала проанализируем, как устроена работа с денежными средствами в конфигурации КА 1.1. В системе существуют два принципиально разных объекта для учета наличности:

  1. Справочник "Кассы": отражает остатки денежных средств на расчетных счетах и в основной кассе предприятия (счет 50.01).
  2. Справочник "Кассы ККМ": предназначен для учета выручки непосредственно в розничных точках (операционная касса).

Проблема кроется в том, что современное кассовое оборудование (ККТ с передачей данных) имеет собственные внутренние счетчики наличности. Когда вы закрываете смену (снимаете Z-отчет), во многих моделях (например, АТОЛ) по умолчанию срабатывает настройка "Автоматическая инкассация". Это означает, что в момент закрытия смены внутренний счетчик наличности в памяти кассового аппарата обнуляется, хотя физически деньги могут оставаться в денежном ящике.

В 1С же ситуация иная: если не был оформлен документ Приходный кассовый ордер с видом операции "Прием розничной выручки", деньги продолжают "висеть" на остатках Кассы ККМ. Но при попытке пробить возврат, драйвер ККТ опрашивает именно внутренний счетчик аппарата. Видя там "0", касса блокирует фискальную операцию, защищая владельца от выдачи сумм, которых якобы нет в ящике.

Способ 1: Ручное внесение денежных средств в кассу ККТ

Это самый оперативный метод, позволяющий пробить чек "здесь и сейчас". Нам необходимо синхронизировать физическое наличие денег в ККТ с данными учетной системы. Разберем по шагам, как это сделать в КА 1.1.

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

Проанализируем алгоритм действий:

  1. Оформим в 1С документ РКО на передачу нужной суммы в Кассу ККМ. Это выровняет учет в 1С.
  2. Зайдем в интерфейс кассира или форму регистрации продаж.
  3. Найдем кнопку "Внесение ДС". Эта кнопка не создает бухгалтерских проводок, она посылает прямую команду драйверу: "Добавить в счетчик наличности Х рублей".
  4. После того как команда выполнена, касса распечатает нефискальный документ (квитанцию) о внесении. Теперь внутренний счетчик ККТ позволяет сделать возврат.

Важный нюанс: Если в вашей версии интерфейса кнопки "Внесение" нет, программисты часто используют внешние обработки, которые вызывают метод драйвера Vnesenie(). В коде это выглядит примерно так:


// Пример логики вызова драйвера для внесения
Результат = ОбъектДрайвера.ВнестиДенежныеСредства(КассаПараметры, СуммаВнесения);
Если Не Результат Тогда
    Сообщить("Ошибка при внесении в ККМ: " + ОбъектДрайвера.ОписаниеОшибки);
КонецЕсли;

Способ 2: Настройка драйвера кассы (Отключение контроля наличности)

Если возвраты происходят часто (например, вы работаете с оптовыми покупателями или возвратами по эквайрингу), процедура постоянного внесения может быть утомительной. Рассмотрим, как изменить поведение самого аппарата. Большинство современных касс АТОЛ позволяют отключить контроль остатка.

Для этого выполним следующие действия:

  1. Закроем 1С, чтобы освободить порт подключения к кассе.
  2. Откроем "Тест драйвера ККТ" (обычно это утилита от производителя).
  3. Перейдем в раздел "Свойства" -> "Параметры ККТ".
  4. Найдем пункт "Правила" или "Контроль наличности".
  5. Установим значение "Контроль отключен" или снимем галочку "Автоматическое обнуление при закрытии смены".

Внимание: Отключение автоматической инкассации приведет к тому, что сумма в кассе ККТ будет накапливаться изо дня в день. Вам придется делать "Выемку" вручную, когда вы фактически забираете деньги из ящика в основную кассу предприятия. Зато утром следующего дня в кассе уже будут "виртуальные" деньги для совершения возвратов.

Особенности возвратов при оплате банковскими картами

Проанализируем ситуацию с безналичными расчетами. Часто касса выдает ошибку "нет денег", даже если вы возвращаете средства на карту покупателя (эквайринг). С точки зрения логики это кажется странным, ведь наличные не выдаются. Однако старые прошивки и драйверы могут проверять общий "денежный ящик" перед любой операцией возврата.

Если вы столкнулись с этим:

Как выровнять остатки по счету 50 и отчету по денежным средствам

В сообщении 10 темы автор упоминает расхождение между ОСВ по 50 счету и "Ведомостью по денежным средствам". Это происходит из-за того, что в 1С:КА 1.1 при перемещении денег в Кассу ККМ сумма уходит из регистра Денежные средства и попадает в регистр Денежные средства в розничных точках.

Чтобы избежать путаницы, помните:

  1. Сумма в розничной точке (ККМ) — это тоже часть ваших активов, но она "закреплена" за конкретным аппаратом.
  2. В конце дня при формировании "Отчета о розничных продажах" или проведении ПКО с видом "Прием розничной выручки" деньги должны вернуться в основную кассу, обнулив розничный регистр.
  3. Если вы используете РКО на возврат напрямую покупателю (оптовая схема), то убедитесь, что этот документ корректно связан с фискальным регистратором. В оптовой торговле (где нет документа Чек ККМ) 1С часто просто посылает команду печати чека из РКО, не затрагивая регистры розницы. В этом случае "Внесение" через драйвер — единственный технический выход.

Резюме: рекомендуемый алгоритм действий

Проанализировав все способы, выделим оптимальный план решения проблемы:

  1. Проверьте настройки драйвера ККТ. Если специфика бизнеса предполагает частые возвраты, отключите автоматическую инкассацию (обнуление) в параметрах кассового аппарата.
  2. Если ошибка возникла разово: выполните операцию "Внесение" в интерфейсе кассира на сумму, покрывающую возврат.
  3. При возникновении расхождений в отчетах 1С, проверьте движения документов по регистру Денежные средства в розничных точках. Помните, что физическая команда "Внесение" в драйвер и документ РКО в 1С — это две разные операции, которые должны выполняться в паре для сохранения порядка в учете.

Использование внешней обработки для управления наличностью в ККТ — самый надежный путь для пользователей старых конфигураций, так как типовые механизмы 1С v8.3 на обычных формах не всегда учитывают жесткие требования современных онлайн-касс к остатку наличности в счетчиках.

← На главную