Все уже знают, что налоговая с 01.08.2020г. запустила программные РРО (ПРРО), которые позволяют фискализировать чеки при помощи открытого API фискального сервера. В этой статье, мы рассмотрим один из аспектов работы программного РРО: “ВебЧек”, а именно — механизм работы ПРРО в режиме ОФФЛАЙН.
Данная статья рассчитана на 1С интеграторов и не является руководством по настройке, а скорее выступает инструментом объясняющим возможности работы ПРРО: “ВебЧек” в режиме оффлайн.
Для начала необходимо определиться, что такое режим оффлайн, как и когда его необходимо использовать. Привожу выдержку из официальных источников ДФС :
Как работать с программным РРО при отсутствии Интернета и в режиме offline?
На период отсутствия связи между программным РРО и сервером фискальной службы проведения расчетных операций осуществляется в режиме ОФФЛАЙН , который может длиться не более 36 ч, с созданием электронных расчетных документов, которым присваиваются фискальные номера из диапазона фискальных номеров, сформированных (и выданных на такой случай ) сервером ГФС. Их ПРРО может использовать не более 168 часов в течение календарного месяца — это единственное условие.
В таких расчетных документах должно быть указано, что расчетная операция проведена в режиме ОФФЛАЙН и такие документы должны храниться Программным РРО до момента получения от фискального сервера подтверждение о доставке расчетных документов.
В течение часа после установления связи с сервером ГФС осуществляется передача копий созданных программным РРО расчетных документов с присвоенными им в режиме ОФЛЛАЙН фискальными номерами на сервер фискальной службы.
Теперь постараюсь по пунктам привести пример работы ПРРО в оффлайн режиме, как он реализован в ПРРО: “ВебЧек”, как и в любом другом ПРРО:
- Инициализация ПРРО (Initialization) : в случае, если диапазон ОФФЛАЙН номеров в базе не заполнен либо количество меньше чем параметр OfflineMin=50 (в файле settings.ini ) , ПРРО выполняет запрос к серверу налоговой для получения диапазона номеров ОФФЛАЙН.
- Если пропала связь с интернетом, не доступен фискальный сервер или сервер налоговой присылает ответ, который знает только БОГ или разработчик фискального сервера — создается документ переход в оффлайн режим (Повідомлення про проведення розрахункових операцій у період відсутності зв’язку між ПРРО та фіскальним сервером (Форма №4-ПРРО)).
- Фискализация чека (FiscalReceipt) : Чек получает фискальный номер из сохраненного ранее диапазона номеров и сохраняется в локальной очереди чеков для отправки на фискальный сервер после того как любая из вышеперчисленных проблем будет устранена.
- ПРРО: “ВебЧек” периодически, с интервалом рекомендованным разработчиками API, опрашивает фискальный сервер на возможность приема чеков (т.е. появился интернет, доступен фискальный сервер и т.д.)
- При успешной отправке всех чеков из локальной очереди, ПРРО создает Повідомлення про проведення розрахункових операцій у період відсутності зв’язку між ПРРО та фіскальним сервером (Форма №4-ПРРО) с пометкой Завершення режиму оффлайн.
- ПРРО переходит в режим онлайн.
Для пользователей и программистов в нашем ПРРО все эти процедуры на 100 процентов автоматизированы, т.е. ПРРО сам принимает решение в каком режиме пробить чек и когда его следует передать на фискальный сервер. Отключив автоматический режим работы ПРРО в настройках (setiings.ini) вы имеете возможность самостоятельно управлять режимом оффлайн, используя команды управления режимом оффлайн : OnlinetoOffline, OfflinetoOnline.
На видео ниже показан пример работы ПРРО: “ВебЧек” в режиме оффлайн: