При закрытии кассовой смены многие пользователи сталкиваются с тем, что в итоговом Z-отчете (отчете о закрытии смены) печатается строка «Инкассация» или «Выплата» с определенной суммой. Часто эта сумма совпадает с выручкой за день, но иногда она выглядит странно — например, несколько рублей или копеек при многотысячных продажах. Давайте разберем по шагам, почему это происходит, как механизм инкассации реализован в связке ККТ АТОЛ и «1С:Розница», и что нужно сделать, чтобы убрать эти строки из чека.
Для начала проанализируем ситуацию: строка «Инкассация» в чеке — это не ошибка программы, а результат выполнения операции выемки денежных средств из денежного ящика кассового аппарата. В фискальных накопителях и драйверах ККТ существует понятие «денежный регистр». Когда вы пробиваете чек, сумма наличности в этом регистре увеличивается. При закрытии смены касса может либо обнулять этот регистр (автоматическая выемка), либо оставлять деньги «переходящим остатком» на следующую смену.
Если в вашем Z-отчете появляется сумма инкассации, значит, сработал один из двух механизмов:
Если мы хотим отключить инкассацию на уровне «железа», нам необходимо обратиться к драйверу ККТ (DTO). Чаще всего это АТОЛ 10-й версии. Рассмотрим, как это сделать:
Запустите «Тест драйвера ККТ», установите связь с аппаратом и перейдите в раздел «Свойства». Далее выберите пункт «Параметры ККТ». В открывшемся дереве настроек нас интересует раздел «Печать» или «Отчеты» (название может меняться в зависимости от версии прошивки).
Найдите параметр «Автоматическое инкассирование» (или «Инкассация при закрытии смены»). Если напротив этого пункта стоит галочка, касса будет обнулять наличность сама. Чтобы убрать строку из чека, снимите эту галочку и нажмите «Сохранить». С этого момента касса перестанет печатать строку инкассации по собственной инициативе, и деньги будут накапливаться в регистре ККТ день за днем.
Проанализируем ситуацию со стороны программного обеспечения. Даже если в кассе автоинкассация отключена, 1С может принудительно посылать команду CashOut (выплата) перед тем, как закрыть смену. Это делается для того, чтобы остаток в программе в регистре «Денежные средства ККМ» всегда соответствовал фактическому остатку в кассе.
Рассмотрим подробнее настройки 1С, которые на это влияют:
Также стоит обратить внимание на дополнительные настройки пользователя. В некоторых версиях конфигураций существует опция «Разрешить неполную выемку при закрытии смены». Если вы хотите оставлять в кассе разменную монету, этот флаг должен быть установлен, а в настройках РМК должна быть отключена «Полная выемка».
Пользователи часто задают вопрос: «Почему выручка 20 000 руб., а инкассация в чеке — 134 рубля?». Разберем, откуда берутся эти цифры. Это происходит в тех случаях, когда кассир делает ручную выемку в течение дня, но делает ее не на всю сумму.
Рассмотрим пример. Допустим, в кассе было 20 134 рубля. Кассир решил забрать основную выручку и сделал документ «Выемка» на 20 000 рублей, чтобы сдать их в главную кассу. Остаток в 134 рубля остался в денежном ящике на размен. Однако, если в настройках ККТ стоит признак «Обязательное обнуление наличности при закрытии», то при снятии Z-отчета касса автоматически «выбросит» остаток в 134 рубля в инкассацию, чтобы войти в новую смену с нулевым балансом. Именно эту «хвостовую» сумму вы и видите в чеке.
Другая причина — расхождение между данными 1С и данными в памяти ККТ. Это случается при:
Программистам 1С полезно понимать, как именно программа общается с кассой в момент закрытия смены. Обычно используется стандартный механизм БПО (Библиотеки подключаемого оборудования). Рассмотрим примерный алгоритм, который исполняется «под капотом»:
// Примерная логика в коде 1С при закрытии смены
Если НастройкаВыемкиПриЗакрытии Тогда
ОстатокНаличности = ПолучитьОстатокВКассеККМ(ТекущаяКасса);
Если ОстатокНаличности > 0 Тогда
// Команда драйверу на изъятие денег
Результат = КассовоеОборудование.ВыполнитьКоманду("CashOut", ОстатокНаличности);
// Создание документа в базе 1С
СоздатьДокументВыемка(ОстатокНаличности);
КонецЕсли;
КонецЕсли;
Если вы хотите полностью исключить печать строки «Инкассация», вам нужно убедиться, что ОстатокНаличности не передается в команду драйвера перед вызовом метода закрытия смены CloseShift.
Многие пользователи говорят: «Пусть деньги копятся в кассе, мне просто не нужна эта строка в чеке». Проанализируем риски такого подхода. У кассовых аппаратов АТОЛ (и многих других) есть программный лимит на максимальную сумму в денежном ящике. Если вы не будете делать инкассацию (выемку) в течение месяца, сумма в регистре ККТ будет расти. Как только она превысит лимит (например, 100 000 000 или иное значение, заданное в таблицах), касса заблокируется с ошибкой «Сумма наличности превышает лимит». Пробить чек станет невозможно, пока вы не сделаете полную выплату.
Кроме того, налоговая инспекция при проверке может сопоставить фактическое наличие денег в ящике с данными отчета X (отчет без гашения). Если в кассе по документам ККТ висит огромная сумма из-за отсутствия инкассаций, а по факту денег меньше — это может быть расценено как нарушение кассовой дисциплины.
Чтобы убрать нежелательную строку «Инкассация» из Z-отчета, выполните следующие действия:
Рассмотренные методы помогут вам настроить печать чеков в строгом соответствии с вашими требованиями управленческого учета, сохранив при этом стабильную работу оборудования.