Хеш-функцію для формування контрольного числа у фіскальному чеку ПРРО визначає орган, що реалізує державну податкову політику — ДПС. В один період часу для всіх ПРРО використовується одна визначена хеш-функція, інформація про яку оприлюднюється в Електронному кабінеті. Контрольне число автоматично обчислює сам ПРРО за механізмом фіскального сервера.
Що таке контрольне число
Це технічне значення, яке формується за допомогою одностороннього алгоритму хешування даних. Якщо вихідні дані документа змінюються, змінюється й результат. Для бізнесу це не новий податковий реквізит, який треба розраховувати вручну, а службовий механізм ПРРО.
Не плутайте різні реквізити
У чеку є кілька технічних ідентифікаторів із різними функціями.
| Елемент | Що це | Хто формує |
|---|---|---|
| Контрольне число | результат хешування даних офлайн-чека | ПРРО за правилами ДПС |
| Фіскальний номер документа | ідентифікатор конкретного чека | фіскальна система / офлайн-механізм |
| Фіскальний номер ПРРО | ідентифікатор зареєстрованого реєстратора | фіскальний сервер |
| QR-код | машинозчитуване представлення реквізитів | ПРРО за вимогами форми |
Чому цей реквізит пов’язаний з офлайн-режимом
Коли зв’язку з фіскальним сервером немає, ПРРО має сформувати розрахунковий документ локально за встановленими правилами. Контрольне число допомагає забезпечити цілісність такого документа до моменту передачі даних на сервер після відновлення зв’язку.
Хто обирає алгоритм
ДПС посилається на Положення № 13: у певний період для всіх ПРРО застосовується одна хеш-функція, визначена центральним органом виконавчої влади, який реалізує державну податкову політику. Розробник ПРРО не обирає інший алгоритм довільно — реалізація має відповідати вимогам фіскального сервера.
Як виглядає контрольне число
У роз’ясненнях ДПС воно описане як значення у вигляді hex-рядка — набору цифр і літер. Воно обчислюється ПРРО автоматично відповідно до опису API фіскального сервера.
Потрібно працювати за штатним сценарієм програми й контролювати статус документів.
Важливі актуальна версія, правильна реєстрація і синхронізація офлайн-чеків.
Алгоритм і реквізити мають відповідати технічним вимогам ДПС.
Чи означає контрольне число, що чек уже є на сервері
Ні. Сам факт наявності контрольного числа в офлайн-чеку не означає, що документ уже переданий на фіскальний сервер у цю секунду. Сенс офлайн-режиму якраз у тому, що чек може бути створений без активного зв’язку, а синхронізація відбувається пізніше.
Коли підприємцю варто звернути увагу на цей реквізит
- ПРРО часто працює без стабільного інтернету;
- після офлайн-режиму чеки не синхронізуються;
- виникають помилки передачі документів на сервер;
- було оновлення або заміна програмного рішення;
- під час перевірки є питання до коректності електронного чека.
Налаштування ПРРО має працювати разом із податковим обліком. Якщо потрібен постійний контроль чеків, звітності та платежів, див. бухгалтерські послуги для ФОП.
Часті запитання
Хто визначає хеш-функцію?
ДПС як орган, що реалізує державну податкову політику; інформація публікується в Електронному кабінеті.
Чи треба підприємцю рахувати SHA-256?
Ні. Розрахунок виконує ПРРО автоматично за правилами фіскального сервера.
Чи є контрольне число в кожному чеку?
Роз’яснення ДПС пов’язує цей реквізит саме з офлайн-сценарієм.
Чи можна змінити алгоритм у налаштуваннях?
Користувач не повинен самостійно вибирати іншу хеш-функцію; ПРРО має відповідати актуальним вимогам ДПС.
Чому одностороннє хешування підходить для цієї задачі
Хеш-функція перетворює набір даних на короткий результат фіксованого формату. Практична властивість полягає в тому, що з результату не відновлюють початковий чек, але зміна вихідних даних дає інше значення. Саме тому хеш зручно використовувати як технічний індикатор цілісності.
Для звичайного користувача ПРРО це відбувається непомітно. Підприємець не вводить хеш вручну і не повинен порівнювати його з формулою. Уся логіка знаходиться всередині програмного реєстратора та технічного протоколу взаємодії з фіскальним сервером.
Що робити, якщо офлайн-чек виглядає некоректно
Не виправляйте службові реквізити вручну. Перевірте версію ПРРО, час і статус офлайн-режиму, наявність резерву фіскальних номерів та подальшу синхронізацію. Якщо проблема повторюється, вона більше схожа на технічну проблему ПРРО або інтеграції, ніж на помилку касира.
Контрольне число — технічний захист цілісності офлайн-чека
Для підприємця важливо використовувати актуальне ПРРО й забезпечувати правильну синхронізацію документів, а не намагатися вручну обчислювати службові реквізити.
ПРРО працює нестабільно або є помилки синхронізації?
Можна перевірити реєстрацію ПРРО, касирів, офлайн-режим і звітні повідомлення.