Как правильно учитывать поступление наличных по ПКО в кассу ККМ в 1С:Розница и избежать задвоения остатков

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

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

Архитектурная логика разделения касс в 1С:Розница

Разберем фундаментальное различие между двумя сущностями учета наличных денег в типовых конфигурациях 1С:

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

Когда мы проводим документ Приходный кассовый ордер с установленным флагом пробития фискального чека, система выполняет следующие действия:

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

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

Чем грозит отключение записи расхода в регистре ДенежныеСредстваККМ

Посмотрим на последствия, которые возникнут, если программист попытается скорректировать модуль проведения документа Приходный кассовый ордер и отключит формирование расходного движения по регистру ДенежныеСредстваККМ:

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

Варианты корректного решения проблемы

Рассмотрим штатные и альтернативные способы организации работы, позволяющие избежать ручного перемещения денег и дублирования операций.

Способ 1. Использование механизма предоплаты в РМК (рекомендуемый)

Начиная с редакции 1С:Розница 2.2 и выше, реализован полноценный механизм работы с заказами покупателей и авансами прямо на рабочем месте кассира:

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

Способ 2. Программная автоматизация цепочки перемещения ДС через расширение

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

Разберем логику работы алгоритма:

  1. При проведении документа Приходный кассовый ордер программно создается документ Расходный кассовый ордер с операцией Выдача ДС в кассу ККМ на сумму принятого платежа.
  2. Автоматически генерируется и проводится документ Внесение денежных средств в кассу ККМ.

Посмотрим на пример обработчика в модуле расширения:


Процедура Расш_ПриПроведенииПКО(Источник, Отказ, РежимПроведения) Экспорт

    Если Отказ Или Источник.ПометкаУдаления Тогда
        Возврат;
    КонецЕсли;

    // Проверяем, пробит ли фискальный чек на ККМ из ПКО
    Если Не Источник.ПробиватьЧекиПоКассеККМ Тогда
        Возврат;
    КонецЕсли;

    // Создаем цепочку перемещения: списание из кассы организации и внесение в ККМ
    ДокументРКО = Документы.РасходныйКассовыйОрдер.СоздатьДокумент();
    ДокументРКО.Заполнить(Неопределено);
    ДокументРКО.Дата = Источник.Дата;
    ДокументРКО.Организация = Источник.Организация;
    ДокументРКО.Касса = Источник.Касса;
    ДокументРКО.КассаККМ = Источник.КассаККМ;
    ДокументРКО.СуммаДокумента = Источник.СуммаДокумента;
    ДокументРКО.ВидОперации = Перечисления.ВидыОперацийРКО.ВыдачаВКассуККМ;
    ДокументРКО.ДокументОснование = Источник.Ссылка;
    ДокументРКО.Записать(РежимЗаписиДокумента.Проведение);

    ДокументВнесения = Документы.ВнесениеДенежныхСредствВКассуККМ.СоздатьДокумент();
    ДокументВнесения.Дата = Источник.Дата;
    ДокументВнесения.Организация = Источник.Организация;
    ДокументВнесения.КассаККМ = Источник.КассаККМ;
    ДокументВнесения.СуммаДокумента = Источник.СуммаДокумента;
    ДокументВнесения.ДокументОснование = ДокументРКО.Ссылка;
    ДокументВнесения.Записать(РежимЗаписиДокумента.Проведение);

КонецПроцедуры

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

Способ 3. Настройка параметров выемки при закрытии смены

Если в магазине физически нет отдельного сейфа и все наличные постоянно хранятся в одном денежном ящике кассы ККМ, можно скорректировать регламент выемки:

  1. В карточке Касса ККМ настраиваем режим закрытия смены без автоматической полной выемки наличности.
  2. Все ПКО пробиваются через фискальный регистратор в штатном режиме, оседая по учету в операционной кассе.
  3. Фактическая передача наличных денег инкассаторам или руководству оформляется один раз в конце дня сводным документом Расходный кассовый ордер из операционной кассы магазина.
← На главную