При работе в конфигурации «1С:Управление торговлей» (а также в «1С:Комплексная автоматизация» и «1С:ERP») пользователи часто сталкиваются со следующей ситуацией: кассир оформляет документ Приходный кассовый ордер (ПКО) с видом операции «Поступление оплаты от клиента» и нажимает кнопку «Напечатать чек». На фискальном регистраторе (ККТ) успешно пробивается чек 54-ФЗ, и сумма попадает в фискальный накопитель. Однако при закрытии кассовой смены оказывается, что в 1С по регистру Денежные средства в кассах ККМ эти деньги не проходили. В результате Z-отчет фискального регистратора показывает наличные средства, которых нет в отчете по кассе ККМ в 1С, и штатная операция выемки выдает отрицательный остаток или ошибку расхождения.
Рассмотрим подробно, почему возникает эта проблема, как устроена архитектура кассового учета в 1С и какие существуют варианты решения данной задачи.
Для понимания логики работы программы проанализируем разграничение двух ключевых понятий учета денежных средств:
Денежные средства в кассах. Поступления оформляются документами ПКО, а выбытия — РКО. На основании этих документов формируется официальная Кассовая книга (форма КО-4) согласно Указанию Банка России № 3210-У.Денежные средства в кассах ККМ. Операции фиксируются документами «Чек ККМ» или через «Рабочее место кассира» (РМК). В конце смены деньги изымаются из кассы ККМ и сдаются в главную кассу предприятия.Когда вы пробиваете чек 54-ФЗ из документа Приходный кассовый ордер, программа отправляет команду на подключенный фискальный регистратор для выполнения требований законодательства. Фискальный аппарат увеличивает свой внутренний счетчик наличных денег (Х-отчет и Z-отчет). Но сам документ ПКО формирует движения только по кассе предприятия (регистр Денежные средства в кассах) и принципиально не делает движений по регистру Денежные средства в кассах ККМ, так как деньги юридически и фактически уже приходованы в главную кассу организации.
В результате возникает разрыв: на ККТ счетчик наличных денег увеличился, а в оперативной кассе ККМ в 1С счетчик остался нулевым. В конце смены при выемке из 1С сумма из ПКО не попадает в документ инкассации, хотя в ящике ККТ деньги присутствуют.
Если прием наличных денег выполняет кассир операционной кассы на торговой точке, методически верным решением будет отказаться от пробития чеков из документа ПКО и перевести кассиров на оформление операций документом Чек ККМ.
Разберем порядок действий при таком подходе:
Денежные средства в кассах ККМ, а ККТ печатает фискальный чек.Этот способ полностью соответствует типовой методологии 1С и исключает любые рассинхронизации между Z-отчетом и отчетами программы.
Если прием оплаты производится в бухгалтерии или офисе, где ПКО оформляется напрямую в главную кассу, но к ней подключен фискальный регистратор, расхождение Z-отчета и кассы ККМ в 1С является нормальным поведением системы. Чтобы выровнять счетчики фискального регистратора без изменения данных в 1С, применяют функцию автоинкассации.
Рассмотрим пошагово, как это настраивается:
Если автоинкассация в драйвере не поддерживается, кассир перед снятием Z-отчета может выполнить операцию «Служебное изъятие» (выемка) напрямую из драйвера ККТ на сумму, пробитую по документам ПКО.
В ситуациях, когда бизнес-процесс предприятия требует обязательно видеть суммы из ПКО в отчете по кассе ККМ, разработчики прибегают к доработке конфигурации. Рассчитаем риски и проанализируем структуру такой доработки.
Критически важный момент: нельзя просто перенаправлять движения ПКО из регистра кассы предприятия в регистр касс ККМ. Это приведет к тому, что наличные деньги не попадут в Кассовую книгу организации (форма КО-4), что является прямым нарушением ст. 15.1 КоАП РФ и Указания ЦБ РФ № 3210-У.
Если принято решение дорабатывать механизм, обычно перехватывают проведение документа ПКО при наличии пробитого чека. Рассмотрим пример кода в модуле проведения документа ПКО:
// Пример логики проведения ПКО по регистру ДенежныеСредстваВКассахККМ
Если ЗначениеЗаполнено(Объект.КассаККМ) И Объект.ЧекПробит Тогда
Движение = Движения.ДенежныеСредстваВКассахККМ.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Объект.Дата;
Движение.КассаККМ = Объект.КассаККМ;
Движение.Организация = Объект.Организация;
Движение.Сумма = Объект.СуммаДокумента;
КонецЕсли;
При использовании подобной доработки необходимо также скорректировать механизм выемки при закрытии смены, чтобы при выемке из кассы ККМ программа не создавала повторный ПКО в главную кассу (иначе возникнет задвоение денежных средств в учете).
Выбор оптимального способа зависит от структуры вашего учета:
ЧекККМ с последующим закрытием смены и созданием ПКО на общую сумму выемки.