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