ПРРО
ПРРО — це скорочення від програмний реєстратор розрахункових операцій. ПРРО використовується для фіскалізації розрахункових операцій у програмному вигляді без обов’язкового використання окремого апаратного фіскального реєстратора.
ПРРО може працювати як програмний застосунок, вебсервіс, мобільний застосунок, касовий модуль у POS-системі, модуль ERP або інтеграційний сервіс, який передає фіскальні чеки на фіскальний сервер ДПС.
Важливо: ПРРО — це програмний інструмент для створення фіскальних чеків і передавання розрахункових операцій до ДПС. Він не замінює облікову систему, складський облік або ERP, а використовується як фіскальний компонент продажу.
Загальний опис
ПРРО застосовується у сфері торгівлі, громадського харчування, послуг, інтернет-продажів, доставки, мобільної торгівлі та інших сценаріях, де потрібно фіскалізувати розрахункові операції.
На відміну від класичного апаратного РРО, програмний РРО працює як програмне забезпечення. Він може встановлюватися на комп’ютер, планшет, смартфон або бути частиною хмарного сервісу. ДПС має окремий розділ «Програмні РРО», де розміщуються форми, інструкції, нормативні матеріали, безкоштовне ПРРО та опис API фіскального сервера. ([tax.gov.ua](https://tax.gov.ua/baneryi/programni-rro))
ПРРО створює розрахунковий документ, підписує або ідентифікує операцію відповідно до вимог, передає її до фіскального сервера ДПС і отримує фіскальний номер чека або інший результат обробки.
Зверніть увагу: застосування РРО або ПРРО регулюється Податковим кодексом України та Законом України № 265/95-ВР про застосування реєстраторів розрахункових операцій. Перед впровадженням потрібно перевірити актуальні вимоги для конкретного виду діяльності.
Для чого потрібен ПРРО
ПРРО потрібен для фіскалізації продажів і підтвердження розрахункової операції перед покупцем та контролюючим органом.
Основні задачі ПРРО:
- створення фіскального чека;
- створення чека повернення;
- відкриття касової зміни;
- закриття касової зміни;
- формування Z-звіту;
- передавання чеків до ДПС;
- отримання фіскального номера чека;
- робота з оплатами готівкою;
- робота з оплатами карткою;
- робота з онлайн-оплатами;
- надсилання електронного чека покупцю;
- зберігання статусів фіскалізації;
- робота в онлайн-режимі;
- робота в офлайн-режимі за встановленими правилами;
- інтеграція з ERP, POS, CRM або інтернет-магазином.
Основні можливості
ПРРО може забезпечувати такі можливості:
- реєстрацію програмної каси;
- реєстрацію касирів;
- відкриття зміни;
- закриття зміни;
- фіскалізацію продажу;
- фіскалізацію повернення;
- фіскалізацію службового внесення;
- фіскалізацію службової видачі;
- формування електронного чека;
- друк паперового чека за потреби;
- надсилання чека на email або в месенджер;
- отримання статусу операції;
- формування Z-звіту;
- зберігання історії операцій;
- роботу з кількома касами;
- роботу з кількома касирами;
- інтеграцію з фіскальним сервером ДПС.
Практичне застосування: ПРРО зручний для інтернет-магазинів, служб доставки, невеликих торгових точок, кафе, сервісних компаній і бізнесів, яким потрібна програмна фіскалізація без окремого апаратного фіскального реєстратора.
ПРРО і РРО
ПРРО та РРО виконують схожу задачу — фіскалізацію розрахункових операцій, але реалізують її різними способами.
| Критерій | РРО | ПРРО |
|---|---|---|
| Форма | Апаратний реєстратор або фіскальний реєстратор | Програмне забезпечення |
| Фіскалізація | Через апаратний пристрій | Через програму і фіскальний сервер |
| Встановлення | Потрібен фізичний пристрій | Потрібен застосунок або програмний модуль |
| Чек | Паперовий або електронний залежно від рішення | Переважно електронний, але може друкуватися |
| Інтеграція | Через драйвери, SDK або протоколи пристрою | Через API або програмний модуль |
| Обслуговування | Може потребувати сервісного центру | Залежить від програмного провайдера |
Не плутати: РРО — це ширше поняття реєстратора розрахункових операцій, а ПРРО — програмна форма такого реєстратора. Обидва використовуються для фіскалізації, але мають різну технічну реалізацію.
Реєстрація ПРРО
Для використання ПРРО потрібно зареєструвати програмний реєстратор у ДПС. ДПС у роз’ясненнях зазначає, що реєстрація ПРРО проводиться на підставі заяви за формою № 1-ПРРО, після чого за відсутності підстав для відмови фіскальний сервер присвоює фіскальний номер ПРРО та вносить дані до Реєстру програмних РРО. ([tax.gov.ua](https://tax.gov.ua/nove-pro-podatki--novini-/449407.html))
Типові етапи:
- Зареєструвати господарську одиницю, якщо це потрібно для сценарію.
- Подати заяву на реєстрацію ПРРО.
- Отримати фіскальний номер ПРРО.
- Зареєструвати касирів.
- Налаштувати електронні підписи.
- Налаштувати програму або інтеграційний модуль.
- Перевірити відкриття зміни.
- Провести тестові або робочі операції відповідно до правил.
Реєстрація касира
Для роботи з ПРРО потрібно зареєструвати касира або відповідальну особу, яка буде виконувати розрахункові операції.
У бізнес-процесі потрібно зберігати:
- ПІБ касира;
- податковий номер або інший ідентифікатор;
- електронний підпис;
- статус реєстрації;
- дату реєстрації;
- пов’язаний ПРРО;
- права доступу;
- дату блокування або звільнення;
- журнал дій касира.
Фіскальний сервер ДПС
Фіскальний сервер ДПС — це державна система, з якою взаємодіє ПРРО для фіскалізації чеків і передавання звітів.
ДПС публікує опис API фіскального сервера для ПРРО, а в описі API Електронного кабінету зазначено адресу API взаємодії фіскального сервера ДПС та програмних РРО. ([tax.gov.ua](https://tax.gov.ua/baneryi/programni-rro/opis-ari-fiskalnogo-servera/), [cabinet.tax.gov.ua](https://cabinet.tax.gov.ua/help/api.html))
Фіскальний сервер може використовуватися для:
- відкриття зміни;
- закриття зміни;
- реєстрації чеків;
- реєстрації чеків повернення;
- приймання Z-звітів;
- роботи з офлайн-документами;
- повернення статусів;
- перевірки даних;
- отримання фіскального номера.
Інтеграційний акцент: якщо ПРРО реалізується як модуль K2 ERP, система має не лише відправляти чек, а й зберігати відповідь ДПС, фіскальний номер, статус, час операції, помилки та зв’язок із документом продажу.
Фіскальний чек
Фіскальний чек — це розрахунковий документ, який підтверджує проведення розрахункової операції через РРО або ПРРО.
У фіскальному чеку можуть бути такі дані:
- номер чека;
- фіскальний номер;
- дата і час;
- продавець;
- господарська одиниця;
- касир;
- перелік товарів або послуг;
- кількість;
- ціна;
- знижки;
- сума;
- ставка податку;
- форма оплати;
- QR-код або посилання для перевірки;
- службові реквізити;
- статус фіскалізації.
Чек повернення
Чек повернення використовується, коли покупцю повертаються кошти або товар повертається продавцю.
У K2 ERP чек повернення може бути пов’язаний із:
- початковим фіскальним чеком;
- документом повернення;
- товаром;
- кількістю;
- сумою повернення;
- способом повернення коштів;
- складським поверненням;
- статусом фіскалізації;
- причиною повернення.
Відкриття і закриття зміни
ПРРО працює в межах касової зміни. Перед проведенням чеків зміна відкривається, а після завершення роботи закривається.
Типові дії:
- відкриття зміни касиром;
- проведення чеків;
- проведення повернень;
- службове внесення;
- службова видача;
- закриття зміни;
- формування Z-звіту;
- передавання звіту до ДПС;
- збереження результату в ERP.
Рекомендація: у K2 ERP потрібно контролювати, щоб касир не проводив фіскальні чеки без відкритої зміни, а зміна не залишалася відкритою без потреби після завершення робочого дня.
Z-звіт
Z-звіт — це фіскальний звітний чек, який формується при закритті зміни. Він підсумовує операції за зміну.
У системі бажано зберігати:
- номер Z-звіту;
- дату і час формування;
- касира;
- ПРРО;
- кількість чеків;
- суму продажів;
- суму повернень;
- суми за формами оплати;
- службове внесення;
- службову видачу;
- статус передавання;
- відповідь ДПС;
- помилки, якщо вони були.
Онлайн і офлайн режим
ПРРО зазвичай працює в онлайн-режимі, коли розрахунковий документ передається до фіскального сервера ДПС під час операції.
Також передбачаються сценарії офлайн-роботи відповідно до правил і технічних можливостей ПРРО. У такому випадку документи створюються локально та передаються до ДПС після відновлення зв’язку.
У системі потрібно контролювати:
- перехід в офлайн-режим;
- причину офлайн-режиму;
- діапазон офлайн-номерів;
- кількість офлайн-чеків;
- час роботи офлайн;
- передачу чеків після відновлення зв’язку;
- підтвердження доставки;
- помилки синхронізації.
Не плутати: офлайн-режим ПРРО не означає, що чеки можна не передавати до ДПС. Після відновлення зв’язку система має передати накопичені документи відповідно до встановлених правил.
Електронний підпис
Для роботи з ПРРО використовується електронний підпис касира або уповноваженої особи. Він потрібен для ідентифікації користувача та підтвердження дій.
Електронний підпис може використовуватися для:
- входу в ПРРО;
- відкриття зміни;
- підписання операцій;
- закриття зміни;
- реєстрації касира;
- підтвердження дій у системі;
- взаємодії з ДПС.
ПРРО в інтернет-магазині
В інтернет-магазині ПРРО може використовуватися для фіскалізації онлайн-замовлень.
Типовий сценарій:
- Покупець оформлює замовлення.
- Покупець оплачує замовлення онлайн або при отриманні.
- ERP або інтернет-магазин отримує статус оплати.
- Система визначає, чи потрібна фіскалізація.
- Формується фіскальний чек.
- Чек передається через ПРРО.
- Фіскальний номер зберігається в замовленні.
- Електронний чек надсилається покупцю.
- Замовлення передається на відвантаження.
ПРРО в POS-системі
У фізичній точці продажу ПРРО може бути частиною POS-системи.
Типовий сценарій:
- Касир відкриває зміну.
- Сканує або вибирає товари.
- Система розраховує суму.
- Покупець оплачує готівкою або карткою.
- POS передає чек у ПРРО.
- ПРРО фіскалізує чек.
- Покупцю друкується або надсилається чек.
- Наприкінці дня касир закриває зміну.
Використання ПРРО у K2 ERP
У системі K2 ERP ПРРО може бути реалізований як окремий фіскальний модуль або інтеграція з провайдером ПРРО.
Типова реалізація може включати:
- довідник ПРРО;
- довідник касирів;
- довідник господарських одиниць;
- налаштування електронних підписів;
- відкриття зміни;
- закриття зміни;
- формування фіскального чека;
- формування чека повернення;
- формування Z-звіту;
- інтеграцію з фіскальним сервером ДПС;
- інтеграцію з провайдерами ПРРО;
- зберігання фіскальних номерів;
- журнал обміну;
- контроль помилок;
- повторну відправку;
- зв’язок із документами продажу, оплати, повернення і доставки.
Для K2 ERP: ПРРО має бути пов’язаний із документом продажу, оплатою, касиром, зміною, складом, клієнтом і фіскальним чеком. Без такого зв’язку складно контролювати продажі, повернення, звірку оплат і податкові операції.
Типовий сценарій фіскалізації в K2 ERP
Типовий процес фіскалізації продажу може виглядати так:
- У K2 ERP створюється замовлення або документ продажу.
- Система перевіряє оплату.
- Користувач або автоматичне правило запускає фіскалізацію.
- Система перевіряє відкриту зміну.
- Формується структура чека.
- Чек передається в ПРРО або на фіскальний сервер.
- Система отримує фіскальний номер і статус.
- Дані чека зберігаються в ERP.
- Покупцю надсилається електронний чек.
- Документ продажу отримує статус «Фіскалізовано».
Дані, які бажано зберігати в ERP
Для якісної роботи з ПРРО в ERP бажано зберігати:
- фіскальний номер ПРРО;
- назву каси;
- господарську одиницю;
- касира;
- електронний підпис;
- номер зміни;
- статус зміни;
- дату відкриття зміни;
- дату закриття зміни;
- номер чека;
- фіскальний номер чека;
- дату і час чека;
- суму чека;
- форму оплати;
- товари чека;
- податкові ставки;
- номер Z-звіту;
- статус фіскалізації;
- відповідь ДПС;
- текст помилки;
- зв’язок із документом продажу;
- зв’язок із оплатою;
- зв’язок із поверненням;
- посилання або QR-код для перевірки чека.
Журнал обміну
Журнал обміну потрібен для контролю фіскалізації та пошуку помилок.
У журналі бажано зберігати:
- дату і час запиту;
- тип операції;
- касира;
- ПРРО;
- номер зміни;
- номер документа ERP;
- номер чека;
- статус операції;
- технічну відповідь;
- текст помилки;
- кількість повторних спроб;
- результат повторної обробки;
- користувача або сервіс, який ініціював операцію.
ПРРО і платіжні системи
ПРРО часто працює разом із платіжними системами, наприклад LiqPay або іншими еквайринговими сервісами.
Важливо розділяти:
- платіж — підтвердження оплати;
- чек — фіскалізація розрахункової операції;
- замовлення — бізнес-документ продажу;
- відвантаження — складський документ;
- повернення — окремий бізнес-процес.
Рекомендація: після успішної онлайн-оплати ERP має автоматично перевірити, чи потрібен фіскальний чек, і створити його через ПРРО за правилами компанії.
Можливі помилки під час роботи
Під час роботи з ПРРО можуть виникати такі помилки:
- ПРРО не зареєстровано;
- касир не зареєстрований;
- електронний підпис недійсний;
- сертифікат підпису прострочений;
- зміна не відкрита;
- зміна вже закрита;
- неправильна сума чека;
- неправильна форма оплати;
- не заповнені товари;
- неправильна ставка податку;
- фіскальний сервер недоступний;
- чек не отримав фіскальний номер;
- Z-звіт не сформовано;
- офлайн-чеки не передані після відновлення зв’язку;
- чек створено двічі;
- повернення не пов’язане з початковим продажем;
- статус у ERP не оновився.
Рекомендація: фіскальний модуль має бути ідемпотентним. Якщо запит повторюється через збій мережі, система не повинна створювати дубль фіскального чека або повторно списувати оплату.
Безпека ПРРО
Для безпечної роботи з ПРРО потрібно контролювати:
- права касирів;
- доступ до електронних підписів;
- строк дії сертифікатів;
- доступ до налаштувань кас;
- журнал дій;
- захист API-ключів;
- захист логів;
- розмежування ролей;
- блокування звільнених касирів;
- доступ до фіскальних документів;
- резервне копіювання даних;
- контроль офлайн-документів.
Дані, які не можна виводити в логах
У логах ПРРО не варто виводити:
- приватні ключі електронного підпису;
- паролі до ключів;
- токени доступу;
- повні персональні дані покупців понад необхідний мінімум;
- повні реквізити банківських карток;
- production connection strings;
- внутрішні API-ключі;
- конфіденційні фінансові дані.
Безпека: електронні підписи касирів і ключі доступу до ПРРО потрібно зберігати захищено. Не можна залишати їх у відкритих папках, репозиторіях, логах або повідомленнях.
Переваги ПРРО
До основних переваг ПРРО можна віднести:
- відсутність потреби в окремому апаратному фіскальному реєстраторі;
- можливість роботи на комп’ютері, планшеті або смартфоні;
- зручність для онлайн-продажів;
- інтеграція з ERP і POS;
- електронні чеки;
- швидше впровадження;
- робота з кількома касами;
- централізоване керування;
- автоматизація фіскалізації;
- зменшення ручних операцій;
- можливість використання API.
Обмеження та ризики
Під час впровадження ПРРО потрібно враховувати:
- потребу в реєстрації ПРРО;
- потребу в реєстрації касирів;
- потребу в електронних підписах;
- залежність від інтернету або правил офлайн-режиму;
- потребу в правильному закритті змін;
- потребу в контролі Z-звітів;
- потребу в обробці помилок ДПС;
- потребу в захисті ключів;
- потребу в навчанні касирів;
- потребу в юридичній перевірці сценаріїв застосування.
Не плутати: ПРРО фіскалізує розрахункову операцію, але не веде повноцінний складський, бухгалтерський або управлінський облік. Для цього потрібна ERP або облікова система.
Висновок
ПРРО — це програмний реєстратор розрахункових операцій, який використовується для створення фіскальних чеків, чеків повернення, відкриття і закриття змін, формування Z-звітів та передавання даних до ДПС.
Для K2 ERP ПРРО доцільно реалізовувати як окремий фіскальний модуль, який пов’язує продажі, оплати, повернення, касирів, зміни, чеки, Z-звіти та відповіді ДПС. Такий підхід дозволяє автоматизувати фіскалізацію онлайн- і офлайн-продажів, зменшити ручні помилки та забезпечити прозорий контроль розрахункових операцій.
Джерела
- Програмні РРО — ДПС України
- Безкоштовний програмний РРО ДПС
- Опис API фіскального сервера ДПС
- API Електронного кабінету для фіскалізації чеків та передачі Z-звітів
- ДПС: правила встановлення та використання програмних РРО
- ДПС: застосування РРО/ПРРО при продажу товарів в інтернеті