Зв'язатись
  • WordPress
  • Оплата
  • v1.0.0

Fiskalizacija HR для WooCommerce — фіскалізація чеків у CIS Porezne uprave (ZKI, JIR, QR)

Хорватська фіскалізація чеків для WooCommerce: захисний код ZKI, підписаний запит у сервіс CIS податкової (Porezna uprava) вашим аплікаційним сертифікатом, JIR і QR-код у замовленні, на сторінці подяки й у листах клієнту. Нумерація без пропусків, ПДВ за ставками, пізня доставка, коли CIS недоступний, реєстр чеків. Pro — storno-чеки на повернення, OIB покупця на чекауті, PDF Invoices, CSV і сповіщення.

Завантажити Free
Pro · ліцензія на рік Чим більше сайтів, тим дешевше кожен
Сумісність
WooCommerce 7.0+ (перевірено на 11.2) · WordPress 6.2+ (перевірено на 7.1) · PHP 7.4+ з OpenSSL (прогін на 7.4 і 8.3) · HPOS · класичний і блоковий чекаут · CIS: специфікація v2.7, WSDL/XSD 1.10
Ліцензія
один сайт, річна
Тріал
7 днів, без картки, один на сайт
Оновлено
жовтень 2026
Або всі 173 Pro-модулів з All Access — 4 990 ₴ / рік

Що є в Free,
а що дає Pro

Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.

Функція Free Pro
Фіскальний чек для замовлення на обраному статусі («В обробці» або «Виконано»), до листів клієнту ✔ ✔
Захисний код ZKI за розділом 12 специфікації CIS (підпис RSA-SHA256 + MD5) ✔ ✔
Запит RacunZahtjev, підписаний вашим аплікаційним сертифікатом (XMLDSig, Exclusive C14N, RSA-SHA256, SHA-256) — напряму в CIS, без посередника ✔ ✔
Нумерація без пропусків за приміщенням (P) або пристроєм (N), формат broj/prostor/uređaj, рестарт 1 січня, продовження номерів з іншої програми ✔ ✔
ПДВ за ставками 0, 5, 13 і 25 % з податків WooCommerce; рядки без ПДВ — звільнення, «не підлягає» або 0 %; povratna naknada — як Naknade ✔ ✔
Спосіб оплати для кожного шлюзу: G готівка, K картка, T рахунок, O інше ✔ ✔
JIR у замовленні, перевірка підпису відповіді CIS за сертифікатом fiskalcis і ланцюжком FINA ✔ ✔
CIS недоступний — чек дійсний із ZKI, автоматична пізня доставка (NakDost) з новим ідентифікатором повідомлення ✔ ✔
Номер, дата й час, спосіб оплати, оператор, ZKI, JIR і QR-код у замовленні, на сторінці подяки й у листах клієнту ✔ ✔
Реєстр чеків з останнім запитом і відповіддю CIS, «Send again» після виправлення, перевірка provjera в тестовому середовищі ✔ ✔
Тестове (cistest, DEMO-сертифікат) і робоче середовище з окремими сертифікатами й лічильниками, перевірка зв'язку echo ✔ ✔
Сертифікат .p12 зашифровано в базі або файлом поза веб-коренем через wp-config.php ✔ ✔
HPOS, класичний і блоковий чекаут; інтерфейс англійською й хорватською ✔ ✔
Storno-чеки на повернення: повні, часткові по позиціях і лише сумою — ✔
OIB покупця на класичному і блоковому чекауті з перевіркою контрольної цифри — ✔
Фіскальні дані й QR-код у документах PDF Invoices & Packing Slips — ✔
CSV-експорт реєстру чеків — ✔
Листи-сповіщення, коли CIS відхилив чек або недоступний — ✔

Як це виглядає

Блок Fiskalizirani račun з ZKI, JIR і QR-кодом на сторінці подяки WooCommerce
Сторінка подяки (класичний чекаут, хорватська вітрина): під замовленням — фіскальний чек з номером 84/WEB1/1, способом оплати, оператором, ZKI, JIR і QR-кодом. Тестове середовище, JIR — від моделі CIS.
Фіскальний чек на сторінці подяки на телефоні
Той самий блок на телефоні 375 px — без горизонтального скролу.
Лист клієнту WooCommerce з фіскальним чеком і QR-кодом
Лист «Hvala Vam na narudžbi»: фіскальні дані й QR-код під підсумками замовлення, оплата карткою (K).

Тріал стартує, коли ви попросите

Свіжий інстал — безкоштовна версія, нічого не вмикається само. Кнопка «Спробувати Pro 7 днів» → e-mail → ключ одразу у вікні і листом.

Один ключ — один сайт

Переносите магазин — відв’яжіть ліцензію на старому домені й активуйте на новому самі. Для студій — ключі на 5, 25 сайтів або без обмежень.

Технічні вимоги

  • WooCommerce 7.0+ (перевірено на 11.2), класичний або блоковий чекаут, сумісність з HPOS
  • WordPress 6.2+ (перевірено на 7.1) · PHP 7.4+ з OpenSSL і DOM (прогін на PHP 7.4 і 8.3)
  • Валюта магазину — EUR; замовлення в інших валютах і на 0 € плагін пропускає
  • Аплікаційний сертифікат для фіскалізації на ваш OIB (FINA або інший довірений постачальник): DEMO для тесту, робочий для продакшну. Старі .p12 з шифруванням RC2/3DES PHP з OpenSSL 3 не читає — плагін підкаже перевипустити або перепакувати файл
  • Пословний простір вебмагазину, зареєстрований у ePorezna
  • Податки WooCommerce з хорватськими ставками (25/13/5/0 %)
  • Не робить: eRačun і Fiskalizacija 2.0 між фірмами, eIzvještavanje, реєстрацію пословного простору; продажі OSS з іноземними ставками ПДВ CIS не приймає — такі замовлення не фіскалізуються, причину видно в реєстрі
  • Мови плагіна: англійська й хорватська. Українською інтерфейс не перекладено — плагін зроблено для хорватських магазинів.

Історія версій

v1.0.0 Поточна жовтень 2026

Фіскалізація чеків у CIS за специфікацією v2.7 і WSDL/XSD 1.10.

Разом з Fiskalizacija HR для WooCommerce купують

4 модулі одним замовленням — на 40% дешевше, ніж окремо

Набір «Старт магазину» Fiskalizacija HR Nova Poshta Premium Mono Acquiring Telegram-сповіщення і Viber/SMS покупцям Потрібно більше — усі 173 модулі в All Access за 4 990 ₴.
2 490 ₴ / рік замість 4 160 ₴ поштучно
Купити набір →

Повний опис модуля

Fiskalizacija HR для WooCommerce — плагін для інтернет-магазинів у Хорватії, які продають на WooCommerce. У Хорватії кожен чек кінцевому покупцеві має бути фіскалізований, хоч би як він платив: з 1 січня 2026 року це стосується й оплати на рахунок. Магазин рахує захисний код ZKI, надсилає підписаний чек у сервіс фіскалізації CIS податкової (Porezna uprava) і друкує на чеку ідентифікатор JIR та QR-код. Плагін робить це для замовлень WooCommerce напряму в CIS вашим аплікаційним сертифікатом, без стороннього сервісу рахунків посередині й без щомісячної підписки.

Магазин на OpenCart? Для нього є окрема версія — Fiskalizacija HR для OpenCart (4.x, 3.x і 2.3), з тим самим підписом, ZKI і форматом запиту; ліцензія для OpenCart — одна оплата, назавжди.

Що потрібно від вас. OIB фірми або обрту; вебмагазин, зареєстрований як пословний простір у ePorezna (плагін цього не робить — потрібна лише позначка простору, наприклад WEB1); аплікаційний сертифікат для фіскалізації, виданий на ваш OIB довіреним постачальником, наприклад FINA. Тестове середовище CIS приймає лише DEMO-сертифікати, робоче — лише робочі. Валюта магазину — EUR.

Чесно про перевірку. Плагін перевірено за офіційною технічною специфікацією CIS «Tehnička specifikacija za korisnike» v2.7 і схемою FiskalizacijaSchema / WSDL 1.10: кожен згенерований запит — звичайні чеки, пізня доставка, storno з мінусами, чеки з OIB покупця — пройшов офіційну XSD і незалежну перевірку підпису, кожен ZKI перераховано окремо. Повний прогін ішов на локальному магазині WooCommerce (PHP 7.4 і 8.3, HPOS увімкнено й вимкнено, класичний і блоковий чекаут) з моделлю відповідей CIS: успіх, відмови s001–s006 і s013, недоступність, зламані відповіді. Справжній тестовий сервер CIS відповідав нам лише без DEMO-сертифіката: щоб отримати його, потрібен хорватський OIB, якого в CatCode нема. Тому живий JIR ви отримаєте у своєму 7-денному тріалі Pro з DEMO-сертифікатом FINA — податкова й так радить щонайменше два дні стабільної роботи в тестовому середовищі перед переходом на робоче. Якщо CIS відповість не так, як описано в специфікації, виправимо оперативно.

Відповідальність за дані чека лишається за магазином. Плагін бере суми й податки із замовлення WooCommerce, а систему ПДВ, позначки приміщення й пристрою, оператора, способи оплати й категорію для рядків без ПДВ — з ваших налаштувань. Звірте ці налаштування з бухгалтером до переходу на робоче середовище.

Як це виглядає для покупця

Після оплати на сторінці подяки з’являється блок «Fiskalizirani račun»: номер чека у форматі broj/prostor/uređaj, дата й час, спосіб оплати, оператор, ZKI, JIR і QR-код з посиланням на перевірку чека на porezna.gov.hr. Той самий блок є в «Мій акаунт» у замовленні клієнта.

Фіскальні дані й QR-код ідуть і в листи WooCommerce клієнту — «В обробці», «Виконано», рахунок, повернення. QR-код у листі — картинка PNG. Блок на сторінці й у листах можна вимкнути окремо.

Pro. На класичному і блоковому чекауті з’являється поле «OIB tvrtke (za B2B račun)» — для фірм, що платять карткою чи готівкою й хочуть свій OIB на чеку. Плагін перевіряє контрольну цифру OIB: хибний номер не дасть оформити замовлення, з поясненням хорватською. Поле можна сховати, зробити необов’язковим або обов’язковим для B2B-магазину.

Що отримує адмін

  • WooCommerce → Fiskalizacija з вкладками «Receipts», «Settings» і «Licence» (у хорватській адмінці — Računi, Postavke, Licenca).
  • Реєстр чеків: номер і дата, замовлення, сума, спосіб оплати, статус («Fiskaliziran (JIR)», у черзі, відхилений), ZKI і JIR, текст помилки CIS; фільтр за статусом і пошук за номером чи замовленням.
  • «Deliver waiting receipts now» надсилає чергу одразу, не чекаючи крону, а «Send all refused receipts again» і «Send again» на окремому чеку — відхилені чеки після виправлення налаштувань.
  • Зверху сторінки видно середовище (TEST або PRODUCTION) і повідомлення, якщо CIS відхилив чеки.

Сторінка чека показує все, що пішло в CIS і повернулось: середовище, статус, ZKI, JIR, чи перевірено підпис відповіді, кількість спроб, ідентифікатор останнього повідомлення, а нижче — останній запит і остання відповідь XML. У тестовому середовищі є кнопка «Check at CIS test» — метод provjera, яким CIS звіряє чек без фіскалізації.

У кожному замовленні — блок «Fiskalizacija» з номером, сумою, статусом, ZKI, JIR і QR-кодом, а нотатки замовлення фіксують кожен крок: видано чек, фіскалізовано, у черзі, відхилено.

Як це працює — крок за кроком

  1. Пословний простір. Ви реєструєте вебмагазин у ePorezna і записуєте його позначку (наприклад, WEB1) — у плагіні вона має бути точно такою.
  2. Налаштування. OIB обвезника, чи ви в системі ПДВ, позначка простору, номер пристрою, послідовність нумерації (за простором або пристроєм), рестарт 1 січня, оператор, статус замовлення, на якому видається чек, і останній використаний номер, якщо продовжуєте серію з іншої програми.
  3. Сертифікат. Завантажте .p12 з паролем — для тесту DEMO, для робочого середовища робочий. Плагін показує власника й строк дії сертифіката, попереджає, якщо OIB у ньому не збігається з OIB обвезника (CIS відхилив би такі чеки з s005), і зберігає приватний ключ зашифрованим. «Check connection to CIS» перевіряє зв’язок методом echo.
  4. Замовлення. Коли замовлення стає «В обробці» або «Виконано» (як оберете), плагін перевіряє суми й ставки локально, лише тоді бере наступний номер, рахує ZKI, будує й підписує RacunZahtjev і надсилає його в CIS.
  5. Відповідь. CIS повертає JIR — плагін перевіряє підпис відповіді, зберігає JIR у замовленні й показує чек клієнту. Помилка s001–s005 чи s013 — чек «відхилено», причину видно в реєстрі, «Send again» після виправлення.
  6. Збій зв’язку. CIS не відповів за кілька секунд (типово 8) — чек уже дійсний із ZKI, клієнт його бачить, а плагін доставляє його пізніше з позначкою NakDost і новим ідентифікатором повідомлення, з наростаючою паузою між спробами.

ПДВ береться з податкових рядків кожного замовлення й групується за ставкою — 25 %, 13 %, 5 % або 0 %. Ставку, якої CIS не приймає (наприклад, 19 %), плагін зупиняє ще до відправки, номер не витрачається. Рядки без податку йдуть як звільнення від ПДВ, «не підлягає оподаткуванню» або 0 % — як оберете; збори з назвою на кшталт «povratna naknada» — як Naknade. Копійки округлення між рядками й підсумком замовлення плагін зводить так, щоб сума чека збігалась до цента. Спосіб оплати задається для кожного шлюзу: G готівка, K картка, T рахунок, O інше.

Pro. Повернення WooCommerce — повне, часткове по позиціях або лише сумою — дає storno-чек з мінусовими сумами за тими самими ставками ПДВ; кожне наступне повернення «лише сумою» рахується від залишку після попередніх storno. Фіскальні дані й QR-код (25×25 мм) додаються в рахунки плагіна PDF Invoices & Packing Slips. Реєстр вивантажується в CSV (UTF-8 з BOM, роздільник «;», десяткова кома), а на вказану адресу приходять листи, коли CIS відхилив чек або недоступний.

Що під капотом

  • CIS: RacunZahtjev (фіскалізація), ProvjeraZahtjev (перевірка, лише тест), echo (зв’язок); адреси cistest.apis-it.hr:8449 і cis.porezna-uprava.hr:8449.
  • ZKI — MD5 від підпису RSA-SHA256 рядка OIB + дата й час + номер + простір + пристрій + сума, як у розділі 12 специфікації v2.7.
  • Підпис запиту — enveloped XMLDSig: Exclusive C14N, RSA-SHA256, дайджест SHA-256. RSA-SHA1 не використовується: тестовий CIS відхиляє його з 1 липня 2026, робочий — з 1 січня 2027.
  • TLS і відповідь: з’єднання перевіряється за вкладеними сертифікатами FINA (Fina RDC 2020, Fina Demo CA 2020), підпис відповіді — за сертифікатом fiskalcis. Після заміни CA сертифікати оновлюються з новою версією або фільтром ccfh_ca_file.
  • Нумерація з блокуванням: паралельні замовлення не отримують однакового номера й не лишають дірок; окремі лічильники для тесту й продакшну.
  • Черга — Action Scheduler WooCommerce (або WP-Cron) з наростаючою паузою; чеки старші за 30 днів не надсилаються (CIS їх відхиляє).
  • Сертифікат: приватний ключ зберігається в базі зашифрованим AES-256 ключем, похідним від солей сайту, або як файл поза веб-коренем через CCFH_CERT_FILE і CCFH_CERT_PASSWORD у wp-config.php.
  • Модель CIS: константа CCFH_CIS_MOCK (ok, down, s002, s004, s006, s013) моделює відповіді лише в тестовому середовищі — щоб перевірити магазин до отримання сертифіката.
  • Видалення плагіна прибирає сертифікати й завдання крону; реєстр, лічильники й налаштування лишаються як податкові записи. Константа CCFH_DELETE_DATA прибирає й їх.

Як встановити

  1. Плагіни → Додати новий → Завантажити плагін: оберіть catcode-fiskalizacija-hr-for-woocommerce-1.0.0.zip і активуйте (WooCommerce має бути активний).
  2. Зареєструйте вебмагазин як пословний простір у ePorezna і запишіть його позначку.
  3. WooCommerce → Fiskalizacija → Settings: OIB обвезника, система ПДВ, позначка простору, номер пристрою, оператор, способи оплати.
  4. Завантажте DEMO-сертифікат .p12 з паролем і натисніть «Check connection to CIS».
  5. Оформіть тестові замовлення, перевірте чеки в реєстрі й кнопкою «Check at CIS test».
  6. Покажіть налаштування бухгалтеру, перемкніть середовище на Production і завантажте робочий сертифікат.
  7. Для Pro: вставте ліцензійний ключ з листа після оплати або запустіть 7-денний тріал у вкладці «Licence».

Питання
про модуль

Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.

@catcode_support Налаштування, сумісність, активація
Що потрібно, щоб почати?

OIB вашої фірми або обрту, вебмагазин, зареєстрований як пословний простір у ePorezna, і аплікаційний сертифікат для фіскалізації від довіреного постачальника (наприклад, FINA). Для тестового середовища CIS — DEMO-сертифікат, для робочого — робочий. Валюта магазину — EUR.

На чому плагін перевірено?

За офіційною технічною специфікацією CIS v2.7 і схемою FiskalizacijaSchema / WSDL 1.10: кожен згенерований запит пройшов офіційну XSD і перевірку підпису, кожен ZKI перераховано незалежно. Відповіді CIS у тесті моделювались — з успіхом, відмовами s001–s013, недоступністю. Справжній тестовий сервер CIS ми досягали лише без DEMO-сертифіката: для нього потрібен хорватський OIB. Живий JIR отримаєте у своєму 7-денному тріалі Pro з DEMO-сертифікатом FINA.

Що як CIS не відповідає, коли покупець платить?

Чек видається з ZKI (він є і в QR-коді) і доставляється автоматично, щойно CIS відповідає, з позначкою пізньої доставки. Закон (Zakon o fiskalizaciji NN 89/2025, čl. 21) дає на це два робочі дні від збою; чеки старші за 30 днів CIS технічно відхиляє.

Які ставки ПДВ підтримуються?

Ті, що приймає CIS: 0, 5, 13 і 25 %. Рядки без податку йдуть як звільнення, «не підлягає оподаткуванню» або 0 % — як оберете в налаштуваннях. Яка категорія правильна для ваших товарів, вирішує бухгалтер.

Чи робить плагін e-рахунки між фірмами (eRačun, Fiskalizacija 2.0 B2B)?

Ні. Плагін фіскалізує чеки кінцевим покупцям. eRačun, eIzvještavanje і реєстрацію пословного простору в ePorezna він не робить.

Хто відповідає за дані чека?

Магазин. Плагін бере дані з замовлення WooCommerce і з ваших налаштувань: системи ПДВ, позначки приміщення й пристрою, способів оплати, оператора. Звірте налаштування з бухгалтером до переходу на робоче середовище.

Не той варіант, що шукаєте?

Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль