Как исправить ошибку «Недостаточно денег в кассе» при попытке сделать выемку в 1С:Розница?

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

При работе с торговыми решениями на базе платформы 1С (в частности, в конфигурации 1С:Розница редакций 2.2 и 2.3) пользователи часто сталкиваются с неприятной ситуацией. При попытке выполнить инкассацию или закрыть смену с полной выемкой программа выдает ошибку: «Недостаточно денег в кассе» (или «Недостаточно денежных средств для проведения операции»). При этом фактически в кассовом ящике деньги есть, а в интерфейсе программы может отображаться накопленная за несколько дней или даже месяцев сумма, которую невозможно изъять.

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

Почему возникает рассинхронизация и ошибка выемки?

Основная причина ошибки кроется в рассогласовании данных между физическими счетчиками в фискальном накопителе кассового аппарата и виртуальным регистром накопления ДенежныеСредстваККМ в базе данных 1С.

Проанализируем типовые сценарии, приводящие к сбою:

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

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

---

Способ А. Использование эмулятора ККТ для списания зависшей суммы

Если реальная физическая онлайн-касса блокирует проведение документа выемки из-за нулевого остатка на самом аппарате, мы можем временно "обмануть" программу с помощью виртуального эмулятора. Этот метод хорош тем, что не требует изменения регистров вручную и сохраняет корректную цепочку документов.

Рассмотрим этот процесс по шагам:

  1. Перейдем в раздел Администрирование -> Подключаемое оборудование.
  2. Найдем в списке нашу подключенную ККТ (фискальный регистратор) и откроем ее карточку. Запишем или запомним все параметры подключения (порт, скорость, модель драйвера).
  3. Временно снимем флажок активности с реального фискального регистратора или переименуем его, чтобы программа его "не видела".
  4. Создадим новое устройство. В качестве типа оборудования выберем ККТ с передачей данных, а в качестве драйвера укажем встроенный «1С:Эмулятор ККТ» (виртуальный драйвер).
  5. В настройках созданного эмулятора укажем ту же самую кассу ККМ (организацию и склад), к которой привязана зависшая сумма.
  6. Перейдем на рабочее место кассира (РМК) или в раздел продажи документов ККМ и выполним ручную операцию Выемка на всю сумму расхождения. Поскольку эмулятор не проверяет физическое наличие купюр в ящике и всегда возвращает программе статус успешного выполнения операции, документ ВыемкаИзКассыККМ будет успешно проведен в базе 1С.
  7. После проведения документа вернемся в меню подключения оборудования, удалим (или деактивируем) эмулятор и восстановим настройки нашей реальной физической кассы.

Этот метод позволяет полностью закрыть зависший остаток в программе 1С без вмешательства в код конфигурации или использования сторонних обработок.

---

Способ Б. Внесение денег через драйвер ККТ (Аппаратный метод)

Если ситуация обратная: в программе 1С сумма отображается верно, и вы хотите сделать штатную выемку, но сам кассовый аппарат считает, что денег в нем нет (счетчики ККТ обнулены), можно скорректировать память кассового аппарата.

Проанализируем эту последовательность действий на примере драйвера АТОЛ (для других производителей логика аналогична):

  1. Закроем программу 1С, чтобы освободить порт подключения к кассе.
  2. Запустим на компьютере утилиту «Тест драйвера ККТ» (обычно поставляется вместе с кассовым аппаратом).
  3. Установим связь с кассой (поставим галочку "Включено" или "Вкл.").
  4. Перейдем в раздел меню драйвера, который называется «Внесение / выемка» (в некоторых версиях драйвера это вкладка «ФН» или «Отчеты»).
  5. В поле ввода суммы укажем ту величину, которая зависла в 1С и которую мы планируем изъять.
  6. Нажмем кнопку «Внесение». Обратите внимание: эта операция является чисто сервисной (нефискальной). Данные о внесении наличных для размена не передаются в налоговую инспекцию (ОФД) и не влияют на расчет налогов. На кассе распечатается нефискальный чек-слип о внесении денег.
  7. Закроем тест драйвера, вернемся в 1С и штатным образом произведем документ ВыемкаИзКассыККМ. Кассовый аппарат без проблем разрешит операцию, так как его внутренний баланс совпадет с запросом программы.

---

Способ В. Ручная корректировка регистров накопления

Если вы не хотите выполнять операции на ККТ и вам нужно просто убрать "виртуальный" остаток из отчетов 1С, мы можем воспользоваться встроенным инструментом корректировки записей.

Рассмотрим, как правильно это сделать:

  1. Перейдем в раздел Администрирование -> Первоначальное заполнение (или воспользуемся функциями «Все функции» / «Функции для технического специалиста»).
  2. Найдем документ Корректировка регистров и создадим новый.
  3. В верхней табличной части по кнопке «Настройка регистров» выберем регистр накопления ДенежныеСредстваККМ.
  4. Добавим новую строку в табличную часть:
    • Вид движения: Расход (так как нам нужно списать сумму).
    • Касса ККМ: Выберем нашу кассу, по которой завис остаток.
    • Сумма: Укажем величину зависших денежных средств.
  5. Проведем документ. Наш остаток в отчете «Ведомость по денежным средствам в кассах ККМ» обнулится.

Важное методологическое замечание: Пользователи часто спрашивают, что лучше — сделать одну общую ручную корректировку регистра или последовательно сформировать все пропущенные документы выемки (например, если они не делались несколько месяцев)?

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

---

Зачем нужны два документа: Выемка и ПКО?

В процессе обсуждения кассовой дисциплины часто возникает вопрос: почему в 1С нельзя ограничиться одним документом выемки? Зачем после этого обязательно нужно оформлять Приходный кассовый ордер (ПКО)?

Выясним причину такого разделения, проанализировав движение денег по регистрам 1С:

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

---

Как автоматизировать процесс и избавиться от лишних действий?

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

Чтобы упростить документооборот, мы можем настроить программу следующим образом:

  1. Перейдем в настройки параметров учета или в карточку кассы ККМ (в зависимости от релиза конфигурации).
  2. Найдем опцию «Создавать поступление в кассу при закрытии смены» (или аналогичную настройку автосоздания ПКО).
  3. При активации этого флага программа в момент закрытия смены и снятия Z-отчета не только автоматически выполнит полную выемку, но и программно создаст и проведет документ Приходный кассовый ордер в главной кассе предприятия. Кассиру больше не придется заходить в базу под правами администратора и вручную вводить документы на основании выемок.

Проанализируем также вопрос: имеет ли смысл настраивать автоматическую полную выемку?

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

← На главную