- Що таке inline‑режим ПРРО
Inline‑режим – це спосіб роботи ПРРО, при якому:
чек відразу друкується на касі під час продажу;
одночасно формується XML‑документ ПРРО і записується в чергу на відправку (локальна/центральна БД);
окремий механізм періодично відправляє ці документи на сервер ДПС;
після успішної відправки всі вже надруковані чеки стають видимими у податковій (кабінет платника, реєстр чеків).
Для касира робота виглядає як «онлайн чек»: пробив – отримав надрукований чек, навіть якщо зв’язок з інтернетом у цей момент нестабільний.
- Принцип роботи inline‑режиму
Пробиття чека
Касир оформлює продаж (товари, знижки, оплата тощо).
Програма формує фіскальний документ ПРРО (XML).
Чеку призначається локальний номер (локальна послідовність чеків для цього ПРРО).
Друк
Чек відразу друкується на принтері.
Для покупця все відбувається миттєво, без очікування відповіді від сервера ПРРО.
Черга на відправку
Документ із усіма реквізитами записується в спеціальну таблицю/чергу inline.
Для кожного документа зберігається:
локальний номер,
службові поля ПРРО (хеші, посилання на попередній документ тощо),
статус відправки (ще не відправлено / успішно / помилка).
Відправка на сервер ДПС
Фоновий процес або спеціальна команда в програмі:
бере документи зі статусом «не відправлено»,
надсилає їх на сервер ПРРО (ДПС),
при успіху змінює статус на «відправлено» та зберігає службову інформацію відповіді.
Якщо є тимчасові проблеми зі зв’язком, документи залишаються в черзі й будуть відправлені пізніше.
Результат для податкової
Після успішної відправки надруковані раніше чеки з’являються в податковій так само, як якби вони були пробиті «звичайним онлайн‑способом».
- Критично важливо: один ПРРО – один ПК
Це головна особливість inline‑режиму, яку обов’язково треба дотримуватися:
🔴 Один номер ПРРО, що працює в inline‑режимі, можна використовувати тільки на ОДНОМУ комп’ютері.
Чому це так важливо:
Для кожного ПРРО ведеться локальна нумерація чеків (локальні номери, локальні номери документів, ланцюжок «попередній документ» тощо).
У inline‑режимі ці номери й хеші рахуються локально на конкретному ПК.
Якщо той самий ПРРО одночасно запустити на двох різних комп’ютерах в inline‑режимі:
локальні номери будуть генеруватися незалежно один від одного;
послідовність документів «ламається»;
хеш «попереднього документа» перестає відповідати реальному попередньому чеку;
при відправці в ДПС виникають помилки (порушена послідовність, невірний хеш попереднього документа, відмова в реєстрації документа тощо).
Наслідок: можна «зламати» локальну нумерацію, і ПРРО перестане нормально реєструвати чеки в податковій до виправлення послідовності.
Тому в експлуатації потрібно жорстко дотримуватись правила:
✅ Один ПРРО – одна каса / один ПК.
Якщо треба працювати з двох кас – реєструємо в ДПС два різні ПРРО і налаштовуємо їх окремо.
- Робота в локальному режимі (без зв’язку з мережею)
Inline‑режим повноцінно підтримує локальний режим роботи:
🟢 При локальному режимі inline‑режим працює повністю: чеки формуються, друкуються, потрапляють у локальну чергу, а потім, після відправки, стають видимими у податковій.
Що це означає на практиці:
Локальна база
Дані по чеках, локальних номерах та стану зміни зберігаються у локальній БД на цьому ПК (без постійного доступу до центрального сервера).
Можуть додатково використовуватись резервні файли/сніпшоти стану зміни (для відновлення послідовності після збоїв).
Робота без постійного інтернету
Каса може працювати без стабільного інтернету:
чеки друкуються одразу;
документи накопичуються в локальній inline‑черзі.
Коли з’являється зв’язок – виконується відправка накопичених документів.
Після відправки
Як тільки програма відправляє документи на сервер ПРРО:
для кожного чека оновлюється статус (успішно / помилка);
у разі успіху чек реєструється в ДПС.
Усі чеки, які були надруковані раніше в inline‑режимі , після успішної відправки будуть бачити у податковій (у відповідних звітах та реєстрах).
Чого робити не можна в inline‑режимі
Щоб не «поламати» локальні номери й ланцюжок документів:
❌ не запускати один і той самий ПРРО на кількох ПК;
❌ не видаляти довільно записи з inline‑черги в БД;
❌ Не проводити документи закриття, відкриття зміни або З-звіту на інших ПК або пристроях