Как исправить ошибку «В ККТ нет денег для выплаты» при возврате наличных в 1С:Бухгалтерия 3.0?

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

Приветствуем вас! При работе с розничными продажами и контрольно-кассовой техникой (ККТ) в программе 1С:Бухгалтерия предприятия 3.0 нередко возникает ситуация, когда покупатель приносит товар на возврат не в день его покупки. Вы оформляете все необходимые документы в системе, нажимаете кнопку пробития чека, но на экране появляется системное сообщение: «В ККТ нет денег для выплаты» (или код ошибки 080 / LIBFPTR_ERROR_NO_CASH от драйвера АТОЛ). Операция блокируется, чек возврата не печатается.

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

---

Почему возникает ошибка «В ККТ нет денег для выплаты»?

Проанализируем техническую сторону работы кассового аппарата. Ошибка исходит не от самой программы 1С:Бухгалтерия, а непосредственно от фискального регистратора (например, АТОЛ). Кассовый аппарат ведет свой внутренний, «виртуальный» учет наличности в денежном ящике:

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

С точки зрения законодательства (54-ФЗ), вы обязаны выдать чек на возврат в любом случае, независимо от того, сколько дней прошло с момента покупки. Давайте рассмотрим эффективные способы решения этой проблемы.

---

Способ 1. Отключение контроля наличности в кассе АТОЛ (Самый удобный вариант)

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

Разберем по шагам, как это сделать через сервисный драйвер АТОЛ:

  1. Полностью закройте программу 1С:Бухгалтерия на компьютере, чтобы освободить порт подключения к ККТ.
  2. Запустите утилиту «Тест драйвера ККТ» (обычно она находится в меню «Пуск» -> «АТОЛ» -> «Тест драйвера ККТ» версии 10.x).
  3. В правом верхнем углу программы установите флажок «Включено» для установки связи с кассой.
  4. Перейдите в раздел «Свойства» (кнопка в правом верхнем углу).
  5. В открывшемся окне нажмите кнопку «Параметры ККТ».
  6. В дереве настроек найдите раздел «Основные настройки» (или «Правила» / «Денежный ящик» в зависимости от версии прошивки кассы).
  7. Найдите параметр «Учет наличности» (или «Контроль наличности в денежном ящике») и снимите с него галочку (отключите его).
  8. Нажмите кнопку «Сохранить» (или «Записать»), чтобы применить настройки к платежной плате кассы.
  9. Закройте утилиту «Тест драйвера ККТ».
  10. Откройте 1С:Бухгалтерия и повторно пробейте чек на возврат. Программа выполнит операцию без ошибок.

---

Способ 2. Внесение денег через тест драйвера АТОЛ (Вручную)

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

Рассмотрим порядок действий:

  1. Закройте 1С:Бухгалтерия.
  2. Запустите программу «Тест драйвера ККТ» и установите флажок «Включено».
  3. В левом вертикальном меню перейдите в раздел «Касса» (в некоторых версиях драйвера данный пункт может называться «Смена» или «ФН»).
  4. Найдите поле «Сумма» и введите туда сумму возврата (или сумму с небольшим запасом).
  5. Нажмите на кнопку «Внесение». Кассовый аппарат распечатает нефискальный документ (чек) о внесении средств, и виртуальный баланс ящика увеличится.
  6. Снимите флажок «Включено» и закройте драйвер.
  7. Запустите 1С:Бухгалтерия и завершите оформление возврата, пробив фискальный чек.

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

---

Способ 3. Ожидание накопления наличной выручки

Если ситуация не требует мгновенного оформления и покупатель готов подождать, вы можете просто дождаться, пока в течение текущего дня касса наберет необходимый объем наличных средств от других покупателей.

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

---

Способ 4. Доработка программы с помощью расширения (Для программистов)

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

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


// Пример программного внесения наличных средств на ККТ в БП 3.0
ПараметрыОперации = Новый Структура;
ПараметрыОперации.Вставить("Сумма", СуммаВнесения);
ПараметрыОперации.Вставить("ТипОперации", "Внесение");

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

Добавление небольшой формы с кнопками «Внесение» и «Выемка» в интерфейс работы с кассой значительно облегчит ежедневную работу бухгалтеров-кассиров.

---

Важные правила оформления возвратов не в день покупки

Напоследок напомним основные правила кассовой дисциплины, которые необходимо соблюдать при оформлении возврата наличных денег не в день покупки:

Мы надеемся, что эти инструкции помогут вам быстро справиться с ошибкой ККТ и наладить корректный и удобный процесс оформления возвратов в вашей компании!

← На главную