Фіскалізація чеків — це один POST-запит
PRRO.cloud — API-сервіс програмного РРО. Ви надсилаєте позиції продажу, а далі вже наша робота: відкрити зміну, підписати чек вашим КЕП, довезти його до ДПС і ввечері закрити день Z-звітом. Вашому коду про касову дисципліну знати не обов'язково.
Тестові чеки безкоштовні. Ні обмежень по кількості чеків, ні абонплати за касу — лише API та кабінет.
POST /v1/receipts
{
"register": "kasa-1",
"items": [
{ "name": "Кава", "price": 6500, "qty": 1 }
]
}
→ 200 OK
{
"fiscal_number": "273401352",
"receipt_url": "https://cabinet.tax.gov.ua/…"
} Як це працює
-
Підключіть касу.
Зареєструйте ПРРО в податковій (форма 1-ПРРО) і завантажте ключ КЕП у кабінеті PRRO.cloud. Сертифікати підтягнуться самі.
-
Надішліть продаж.
Один POST з позиціями. Хочете фіскальний номер одразу у відповіді — тримайте з'єднання; поспішаєте — отримаєте миттєве
202, а результат прийде webhook'ом. -
Ми робимо решту.
Зміни, наскрізна нумерація, підпис КЕП (CAdES-T з міткою часу), доставка в ДПС. Не достукались до податкової з першого разу — спробуємо ще.
-
День закривається сам.
Ввечері сервіс сам сформує Z-звіт і закриє зміну — за розкладом вашої каси.
Під капотом — черга, що тримає порядок документів на касі, ідемпотентні запити і підпис в ізольованому процесі. Кожна квитанція ДПС зберігається: її можна дістати через API або переглянути в кабінеті PRRO.cloud.
Для кого
SaaS і підписки.
Щомісячне автосписання саме створює чек клієнту — нікому нічого не треба «пробивати» руками. Фіскальний номер ваш біллінг дізнається з webhook'а.
E-commerce.
Чек створюється в момент оплати замовлення, повернення оформлюється тим самим API. І не треба тримати на складі планшет із касовим застосунком.
Вендинг і самообслуговування.
Автомати, EV-зарядки, пральні — каса без касира. Зник зв'язок? Офлайн-режим це переживе, чеки видаються далі.
Інтегратори.
Один API на всіх ваших клієнтів: у кожного свої ключі та вебхуки, а у вас — операторська зона кабінету, з якої видно всіх одразу.
Можливості
Повний життєвий цикл ПРРО.
Зміни, нумерація, Z-звіти живуть на боці сервісу. У вашому коді просто немає поняття «забув відкрити зміну».
Чесний офлайн-режим.
Коли фіскальний сервер ДПС мовчить, каса сама переходить в офлайн-сесію за правилами ЄВПЕЗ (контрольні числа, ліміти 36/168 год), а після відновлення сама ж і здає накопичені пакети. Продажі тим часом ідуть далі.
Самовиправлення помилок ДПС.
Розсинхрон нумерації, «зависла» зміна, пропущений Z-звіт — такі відмови сервіс розпізнає, виправить і подасть документ повторно, без вашої участі. Якщо ж проблема вперто повторюється, ви побачите її в кабінеті PRRO.cloud.
Sync або async — на вибір.
Можна дочекатися відповіді ДПС прямо в HTTP-запиті, а можна взяти миттєве 202 Accepted і забрати результат із webhook'а. Як зручніше вам, а не нам.
Ідемпотентність.
Обірвався зв'язок і запит пішов удруге? З тим самим ключем ідемпотентності дубля чека не буде. Повторюйте сміливо.
Кабінет, а не лише API.
Що зараз із касою, які документи пройшли і що відповіла ДПС — усе це видно очима в кабінеті: каси, ключі, токени, журнал документів і квитанції ДПС. Те саме доступне через API, а на кожну подію прилітає підписаний webhook.
Ключ КЕП — під замком
Найважче питання до будь-якого сервісу фіскалізації — «ви хочете, щоб я віддав вам свою печатку?». Ось наша відповідь.
-
Контейнер ключа зберігається лише в зашифрованому вигляді (envelope-шифрування); розшифрований ключ існує тільки в пам'яті на час підпису і одразу затирається.
-
Ключі й паролі ніколи не потрапляють на диск, у логи чи резервні копії. Аудит-журнал пам'ятає, хто і коли підписував, — але не чим і не що.
-
Підпис виконується в ізольованому процесі без доступу ззовні; API-шар не бачить ключів взагалі.
-
Токени доступу показуються один раз, кожну інтеграцію можна відкликати миттєво.
-
У планах: режим inline-ключів — ключ передається в кожному запиті й не зберігається у нас зовсім.
Чим ми відрізняємось від звичайного ПРРО
| ПРРО із застосунком касира | PRRO.cloud | |
|---|---|---|
| Головний продукт | Застосунок касира, API — довесок до нього | API; кабінет — щоб дивитися й керувати, а не стояти за прилавком |
| Зміни і Z-звіти | Відкриваєте й закриваєте самі | Сервіс сам, за розкладом каси |
| Коли ДПС мовчить | Офлайн тримає застосунок на пристрої | Офлайн-сесію за правилами ЄВПЕЗ тримає сервіс |
| Коли ДПС відмовляє | Код помилки — далі ваша справа | Розпізнає, виправляє і подає повторно; у кабінеті — звірка з ДПС |
| Строки за законом | Стежите самі | 24 год зміни і 36/168 год офлайну — на видноті по всьому парку кас |
| Що лишається від чека | Посилання на чек | Чек для покупця, початковий XML і квитанція ДПС — через API й у кабінеті |
| Асинхронність | Тримаєте з'єднання до відповіді ДПС | 202 Accepted — результат забираєте, коли зручно |
| Вебхуки | Є не завжди, і без історії | Підпис HMAC, історія доставок, повтор невдалої, тестова подія |
| Тарифікація | Абонплата за кожну касу | Тільки за фактичний чек; тестові — безкоштовно |
| Ключ КЕП | Лежить у сервісі | Envelope-шифрування, підпис в ізольованому процесі, аудит; inline-режим у планах |
Скажемо чесно: API є і в звичайних ПРРО. Різниця в тому, що там він довесок до застосунку касира, а тут — єдиний спосіб роботи, і все навколо нього: автоматичні зміни, офлайн, повторні подачі, оплата за чек. Тож якщо вам потрібен застосунок для касира зі сканером штрихкодів — беріть саме такий ПРРО. Хочете свій — пишіть його на нашому API: фіскальна частина там уже вся, за вами лишається інтерфейс. А якщо каса має жити всередині вашого продукту — це до нас.
Тарифи
0,15 грн / чек
0,15 грн за зареєстрований чек — і це вся тарифікація. Жодної абонплати за касу, офлайн-чеки нічого не коштують до їх фіскалізації, а тестові чеки безкоштовні й безлімітні, поки на касі увімкнено режим TEST.
≈ /міс
Порахуйте: кількість чеків на місяць × ціна за чек — і порівняйте з абонплатою за кожну касу.
Зроблено для розробників
-
REST API з OpenAPI-специфікацією. Помилки описані словами й кодами, які можна обробити в коді, — а не «зверніться до підтримки».
-
Сумісність з ШІ-агентами. llms.txt, уся документація одним markdown-файлом (llms-full.txt) і OpenAPI-специфікація — віддайте їх своєму ШІ-асистенту, і код інтеграції напише модель.
-
Тестовий режим: справжній цикл підпису й валідації без реєстрації в податковій. Інтеграцію реально написати за вечір.
-
Вебхуки з криптографічним підписом і повторними доставками.
Часті питання
Чи потрібно реєструвати ПРРО самостійно?
Так, реєстрація ПРРО (форма 1-ПРРО) і отримання фіскального номера — у кабінеті платника податків. Далі все — через PRRO.cloud.
Чи є вебінтерфейс, чи тільки API?
Є: кабінет PRRO.cloud — вебзастосунок, у якому реєструють каси, завантажують ключі КЕП, випускають і відкликають токени, читають журнал документів, квитанції ДПС і баланс. Він не замінює касира за прилавком: чеки пробиває ваш код через API, а кабінет — щоб бачити стан і керувати ним.
Чи можна написати власний застосунок касира?
Так, і це нормальний сценарій. У машинному API є весь фіскальний цикл: реалізація, повернення, сторно, службові внесення й видачі, відкриття зміни і Z-звіт, стан реєстратора з лічильниками, заявлений залишок готівки, керування офлайн-сесією. Друкована форма теж готова — сторінка чека віддається як html, text (моноширинний, під чековий принтер) або qr. За вами лишається сам інтерфейс: каталог товарів, сканер, платіжний термінал; журнал документів зручно збирати з вебхуків.
Чий КЕП використовується?
Ваш: печатка ФОП/юрособи або ключ, виданий для ПРРО. Ми підтримуємо ключі акредитованих ЦСК України, сертифікати завантажуються автоматично.
Що буде, коли ДПС «лежить»?
Каса автоматично переходить в офлайн-режим за правилами ЄВПЕЗ і продовжує видавати чеки з контрольними числами; після відновлення пакети здаються автоматично.
Це законно — тримати ключ у сервісі?
Зберігання ключа — стандартна практика хмарних ПРРО. Ключ зашифровано, використовується лише для підпису ваших чеків, доступ фіксується в аудиті. А для тих, кому цього замало, готуємо inline-режим — без зберігання ключа в нас узагалі.
Скільки чеків на секунду витримує каса?
Обмеження ДПС — один документ на касу за раз (наскрізна нумерація). Масштабуйтеся кількістю кас — сервіс мультитенантний і черги незалежні.
Чи є повернення та скасування?
Так, чеки повернення — тим самим API; сторно останнього офлайн-чека підтримується.
Чим ПРРО відрізняється від класичного РРО?
Класичний РРО — це апаратна каса з фіскальним блоком, яку ставлять на облік і обслуговують у сервісному центрі. ПРРО — програмний реєстратор: тієї коробки немає взагалі, документи підписуються КЕП і йдуть на фіскальний сервер ДПС. PRRO.cloud — це ПРРО, у якого замість застосунку касира API.
Що таке фіскальний номер і навіщо він потрібен?
Це номер, який фіскальний сервер ДПС присвоює зареєстрованому чеку, — доказ того, що чек справді фіскалізовано. Приходить у відповіді на POST або вебхуком, а поруч із ним — посилання на той самий документ у кабінеті платника податків, за яким покупець перевіряє чек, не довіряючи нам.
Коли закривається зміна і навіщо Z-звіт?
Зміна ПРРО не може бути відкрита довше 24 годин: після цього каса перестане реєструвати чеки, доки її не закрити Z-звітом. Сервіс робить це сам за розкладом вашої каси, а наступну зміну відкриє перший продаж. Якщо зручніше керувати вручну — є shift_mode: manual і окремі виклики API.
Як покупець отримає свій чек?
Разом із фіскальним номером у відповіді приходять два посилання: копія чека на нашому боці й той самий документ у кабінеті ДПС. Обидва відкриваються без авторизації, тож їх достатньо надіслати листом чи в месенджер або показати QR-кодом на екрані. Рендерити чек самотужки не треба.
Чи підходить для інтернет-магазину?
Так, це один з основних сценаріїв: чек створюється в момент оплати замовлення, повернення оформлюється тим самим API, а тримати на складі планшет із касовим застосунком не потрібно. Так само працюють підписки, вендинг і самообслуговування.
Скільки кас можна підключити?
Скільки завгодно — абонплати за касу немає, платіж прив'язаний до чека. Черги кас незалежні, тож десята каса нічого не змінює для перших дев'яти; інтегратори так і тримають усіх своїх клієнтів на одному API.
Що дає режим TEST?
Каса в режимі TEST відповідає тим самим API і тими самими структурами, але чеки безкоштовні, безлімітні й не потребують реєстрації в податковій. Це спосіб написати й відлагодити інтеграцію до того, як з'явиться зареєстрована каса.
Перший фіскальний чек — сьогодні
Реєстрація в кабінеті займає хвилину, тестова каса не просить жодних документів, а перший справжній чек ви проб'єте, щойно матимете фіскальний номер ПРРО.
Питання про інтеграцію, тарифи чи договір — пишіть на info@prro.cloud або в телеграм-бот @prrocloud_bot, відповідаємо в робочі дні.