Связаться
  • OpenCart
  • Оплата
  • v1.0.0

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

Хорватская фискализация чеков для OpenCart 4, 3 и 2.3: защитный код ZKI, подписанный запрос в сервис CIS налоговой (Porezna uprava) вашим сертификатом, JIR и QR-код в заказе, в печатном чеке и в кабинете клиента. Нумерация без пропусков, НДС по ставкам, поздняя доставка, когда CIS недоступен, реестр чеков. Pro — storno-чеки, OIB покупателя на чекауте, чек письмом, другие валюты, CSV и уведомления. Лицензия — одна оплата, навсегда.

Скачать Free
Pro · лицензия навсегда Чем больше сайтов, тем дешевле каждый
Совместимость
OpenCart 4.0.2 – 4.1.x (проверено на 4.1.0.3 и 4.0.2.3 с драйвером pdo) · OpenCart 3.0.x (проверено на 3.0.5.0) · OpenCart 2.3.0.2 · PHP 7.0+ с OpenSSL и DOM · CIS: спецификация v2.7, WSDL/XSD 1.10
Версия
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Лицензия
один сайт, навсегда
Триал
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) — напрямую в CIS, без посредника ✔ ✔
Нумерация 1…n каждый год по помещению (P) или устройству (N), без пропусков, «первый номер года» для продолжения серии ✔ ✔
НДС по ставкам 0, 5, 13 и 25 % из налоговых строк заказа; купоны раскладываются по ставкам, доставка — по её налогу ✔ ✔
Способ оплаты для каждого платёжного модуля: G наличные, K карта, T счёт, O другое ✔ ✔
JIR в заказе, проверка подписи ответа CIS по цепочке FINA ✔ ✔
CIS недоступен — чек действителен с ZKI, автоматическая поздняя доставка (NakDost) с новым идентификатором сообщения ✔ ✔
QR-код, печатный чек по ссылке с ключом и блок чека в кабинете клиента ✔ ✔
Реестр чеков, страница чека с подписанным запросом и ответом, панель в заказе, «Send again» после исправления ✔ ✔
Тестовая (DEMO-сертификат) и рабочая среда с отдельной нумерацией, проверка связи echo, provjera в тесте ✔ ✔
Сертификат .p12 или .pem, закрытый ключ зашифрован, предупреждения о сроке действия и OIB ✔ ✔
Интерфейс на английском и хорватском, сборки для OpenCart 4.x, 3.x и 2.3 ✔ ✔
Storno-чеки на возвраты — по статусу или кнопкой — ✔
OIB покупателя (B2B): поле на чекауте с проверкой контрольной цифры и ручной OIB в заказе — ✔
Чек клиенту письмом после получения JIR — ✔
Заказы в других валютах — чек в евро по курсу магазина — ✔
Чеки для старых заказов пакетом, CSV-реестр и уведомления владельцу — ✔

Как это выглядит

Печатный фискальный чек с ZKI, JIR и QR-кодом
Чек 1/WEB1/1 в тестовой среде: позиции со ставками 25 % и 13 %, доставка, разбивка НДС, ZKI, JIR и QR-код. JIR — от модели CIS.
Блок фискального чека в кабинете клиента на телефоне
Кабинет клиента на телефоне: блок «Fiscal receipt» с QR-кодом, номером, суммой, ZKI и JIR.
Реестр фискальных чеков в админке OpenCart
Вкладка «Receipts»: чеки с JIR, storno −243,00, чеки с поздней доставкой и OIB покупателя, оплаты T, K и O. Тестовая среда с моделью CIS.

Триал стартует, когда вы попросите

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

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

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

Технические требования

  • OpenCart 4.0.2 – 4.1.x (проверено на 4.1.0.3 и 4.0.2.3, с драйвером базы mysqli и pdo), 3.0.x (проверено на 3.0.5.0) или 2.3.0.2 (проверено на PHP 7.0).
  • PHP 7.0+ с OpenSSL и DOM, исходящие соединения с сервером на порт 8449 (TLS 1.2+).
  • Сертификат для фискализации на ваш OIB: DEMO для теста, рабочий для продакшна. Старые .p12 с шифрованием RC2 PHP с OpenSSL 3 не открывает — модуль покажет команду, как один раз перепаковать файл в .pem.
  • Пословный простор интернет-магазина, зарегистрированный в ePorezna; налоговые классы OpenCart с хорватскими ставками (25/13/5/0 %).
  • Крон: в OpenCart 4 повторы запускает планировщик OpenCart; в 3.x и 2.3 добавьте адрес из вкладки «Tools» в cron хостинга (раз в 5 минут). Без крона повторы идут только при просмотрах страниц.
  • Не делает: eRačun и Fiskalizacija 2.0 между фирмами, eIzvještavanje, регистрацию пословного простора, PNP и смену способа оплаты методом promijeniPodatkeRacuna (вместо неё — storno и новый чек).
  • Языки модуля: английский и хорватский. На русский интерфейс не переведён — модуль сделан для хорватских магазинов.

История версий

v1.0.0 Текущая октябрь 2026

Для OpenCart 4.x, 3.x и 2.3: фискализация чеков в CIS по спецификации v2.7 и WSDL/XSD 1.10.

Вместе с Fiskalizacija HR для OpenCart покупают

4 модуля одним заказом — на 40% дешевле, чем по отдельности

Набор «Старт магазина» Fiskalizacija HR Nova Poshta Premium LiqPay Telegram-уведомления и Viber/SMS покупателям Нужно больше — все 173 модулей в All Access за 4 990 ₴.
3 790 ₴ навсегда вместо 6 260 ₴ поштучно
Купить набор →

Полное описание модуля

Fiskalizacija HR для OpenCart — модуль для интернет-магазинов в Хорватии на OpenCart 4, 3 и 2.3. В Хорватии каждый чек конечному покупателю должен быть фискализирован, как бы он ни платил. Магазин считает защитный код ZKI, отправляет подписанный чек в сервис фискализации CIS налоговой (Porezna uprava) и печатает на чеке идентификатор JIR и QR-код. Модуль делает это для заказов OpenCart напрямую в CIS вашим сертификатом, без стороннего сервиса посередине и без ежемесячной подписки.

Магазин на WooCommerce? Для него есть отдельная версия — Fiskalizacija HR для WooCommerce, с той же подписью, ZKI и форматом запроса.

Что нужно от вас. OIB фирмы или обрта; интернет-магазин, зарегистрированный как пословный простор в ePorezna (модуль этого не делает — нужно только обозначение помещения, например WEB1); сертификат для фискализации, выданный на ваш OIB, например FINA «Fiskal». Тестовая среда CIS принимает только DEMO-сертификаты, рабочая — только рабочие.

Честно о проверке. Модуль сделан и проверен по официальной технической спецификации CIS «Tehnička specifikacija za korisnike» v2.7 и схеме FiskalizacijaSchema / WSDL 1.10: каждый сгенерированный запрос — обычные чеки, поздняя доставка, storno с минусами, чеки с OIB покупателя — прошёл официальную XSD и независимую проверку подписи, ZKI пересчитан отдельно. Полный прогон шёл на локальных магазинах OpenCart 4.1.0.3, 4.0.2.3 (драйвер pdo), 3.0.5.0 и 2.3.0.2 на PHP 7.0 с моделью ответов CIS: успех, отказы, недоступность. Настоящий тестовый сервер CIS отвечал нам только без DEMO-сертификата: для него нужен хорватский OIB, которого у CatCode нет. Поэтому живой JIR вы получите в своём 7-дневном триале Pro с DEMO-сертификатом FINA. Если CIS ответит не так, как описано в спецификации, исправим оперативно.

Ответственность за данные чека остаётся за магазином. Модуль берёт суммы и налоги из заказа OpenCart, а систему НДС, обозначения помещения и устройства, оператора, способы оплаты и категорию для строк без НДС — из ваших настроек. Сверьте эти настройки с бухгалтером до перехода на рабочую среду.

Как это выглядит для покупателя

Покупатель получает чек: данные магазина и OIB, номер в формате broj/prostor/uređaj, дата и время по хорватскому времени, оператор, способ оплаты, позиции со ставками НДС, разбивка НДС, ZKI, JIR и QR-код со ссылкой на проверку чека на porezna.gov.hr. Страница чека открывается только по ссылке с ключом и печатается кнопкой «Print».

В кабинете клиента, в истории заказа, появляется блок «Fiscal receipt» с QR-кодом, номером, суммой, ZKI, JIR и ссылкой на чек. Чужих чеков клиент не видит; на телефоне блок без горизонтальной прокрутки.

Pro. Фирма, которая платит картой или наличными, может вписать свой OIB в поле «Company OIB» на чекауте — штатном и One Page Checkout CatCode. Модуль проверяет контрольную цифру: неверный OIB останавливает оформление возле поля. После JIR клиент получает чек письмом.

Что получает админ

  • Расширения → Модули → CatCode Fiskalizacija HR с вкладками «Receipts», «Settings», «Tools» и «Licence» (в хорватской админке — на хорватском).
  • Реестр чеков: номер и время, заказ, покупатель и его OIB, сумма, способ оплаты, статус («Fiscalised», ждёт JIR, отклонён, поздняя доставка), JIR и ZKI; фильтр по статусу и поиск по номеру, JIR, ZKI, OIB или заказу.
  • «Send receipts without a JIR now» отправляет очередь сразу, «Send again» — отклонённый чек после исправления настроек.
  • Вверху страницы видна среда (TEST или PRODUCTION) и предупреждения: сертификат просрочен или заканчивается, OIB в сертификате не совпадает с настройками, DEMO-сертификат в рабочей среде, чеки без JIR дольше 30 минут.

Страница чека показывает всё, что ушло в CIS и вернулось: номер, статус, ZKI, JIR, проверена ли подпись ответа, количество попыток, строки чека и разбивку НДС, все чеки этого заказа, а ниже — подписанный запрос и ответ XML. В тестовой среде есть проверка provjera — CIS сверяет чек без фискализации.

На странице заказа — панель «Fiscal receipt» с чеками и storno этого заказа, кнопкой «Issue and fiscalise the receipt» и полем OIB покупателя для следующего чека (Pro). Каждый шаг пишется в историю заказа.

Как это работает — шаг за шагом

  1. Сертификат. Загрузите .p12 с паролем или .pem. Модуль показывает владельца, издателя, OIB и срок действия, хранит закрытый ключ зашифрованным (ключ шифрования — в system/storage, не в базе) и берёт OIB из сертификата в настройки. «Check the connection» проверяет связь с CIS методом echo.
  2. Обвезник и нумерация. OIB, в системе ли вы НДС, название и адрес для чека, обозначение помещения, номер устройства, последовательность (по помещению P или устройству N), «первый номер года», если продолжаете серию из другой программы, OIB и обозначение оператора (пусто — OIB обвезника и «WEB»).
  3. Оплаты и налоги. Для каждого платёжного модуля — код G, K, T или O; категория строк без НДС; коды итогов, которые являются оплатой, а не продажей (по умолчанию voucher и credit).
  4. Заказ. Когда заказ получает выбранный статус, модуль проверяет суммы и ставки локально, только тогда берёт следующий номер, считает ZKI, строит и подписывает RacunZahtjev и отправляет его в CIS. Повторный статус второго чека не создаёт.
  5. Ответ. CIS возвращает JIR — модуль проверяет подпись ответа и сохраняет JIR. Ошибка s001–s005 или s013 — чек «Refused», причина видна в реестре, «Send again» после исправления.
  6. Сбой связи. CIS не ответил — чек уже действителен с ZKI, а модуль доставляет его позже с отметкой NakDost и новым идентификатором сообщения, с нарастающей паузой от 1 до 360 минут.

НДС берётся из налоговых строк заказа и группируется по ставке — 25 %, 13 %, 5 % или 0 %. Ставку, которую CIS не принимает, модуль останавливает ещё до отправки с пояснением, номер не расходуется. Купоны раскладываются между ставками, доставка считается по её налогу, а копейки округления модуль сводит так, чтобы сумма чека совпадала с суммой заказа. Строки без налога по умолчанию идут как освобождение от НДС, товар с реальной ставкой 0 % — как НДС 0 %; другие категории можно задать принудительно.

Pro. Возврат даёт storno-чек с минусовыми суммами по тем же ставкам — автоматически на статусах «Refunded» и «Reversed» (можно изменить) или кнопкой. OIB покупателя уходит в CIS только с оплатой G или K, как требует спецификация. Заказ в другой валюте получает чек в евро по курсу магазина, старые заказы можно фискализировать пакетом по ID, реестр выгружается в CSV, а владелец получает письмо, когда чек отклонён или после 5 попыток всё ещё без JIR.

Что под капотом

  • CIS: RacunZahtjev (фискализация), ProvjeraZahtjev (проверка, только тест), echo (связь); адреса cistest.apis-it.hr:8449 и cis.porezna-uprava.hr:8449, SOAP 1.1.
  • ZKI — MD5 от подписи RSA-SHA256 строки OIB + дата и время + номер + помещение + устройство + сумма, как в разделе 12 спецификации v2.7.
  • Подпись запроса — enveloped XMLDSig: Exclusive C14N, RSA-SHA256. RSA-SHA1 не используется: тестовый CIS отклоняет его с 1 июля 2026, рабочий — с 1 января 2027.
  • TLS и ответ: соединение проверяется по вложенным сертификатам FINA (Fina RDC 2020, Fina Demo CA 2020), подпись ответа — по сертификату сервиса.
  • Нумерация с блокировкой: параллельные заказы не получают одинакового номера и не оставляют дыр; отдельные счётчики для теста и продакшна. Проверено на 40 параллельных заказах и реестре на 3 000 чеков.
  • События OpenCart: модуль не меняет файлы ядра — работает через события, поэтому совместим с One Page Checkout CatCode (проверено на 4.1 и 3.0).
  • Удаление модуля: OpenCart убирает настройки и сертификат, а реестр и счётчики остаются как налоговые записи; опция «Delete data on uninstall» убирает и их.

Как установить

  1. OpenCart 4: Расширения → Установщик → загрузите cc_fiskalhr.ocmod.zip (имя архива не меняйте) и нажмите «Установить». OpenCart 3: Расширения → Установщик → cc_fiskalhr-oc3.ocmod.zip. OpenCart 2.3: залейте содержимое папки upload/ из cc_fiskalhr-oc2.ocmod.zip в корень магазина (FTP или файловый менеджер хостинга).
  2. Расширения → Модули → CatCode Fiskalizacija HR → «Установить» → «Редактировать».
  3. Settings: загрузите DEMO-сертификат, нажмите «Check the connection», заполните OIB, обозначение помещения, устройство, оператора и способы оплаты, включите фискализацию в среде TEST.
  4. Оформите тестовые заказы, проверьте чеки в реестре и проверкой provjera.
  5. Покажите настройки бухгалтеру, переключите среду на PRODUCTION и загрузите рабочий сертификат.
  6. Для Pro: вставьте лицензионный ключ из письма после оплаты или запустите 7-дневный триал во вкладке «Licence».

Вопросы
о модуле

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

@catcode_support Настройка, совместимость, активация
Что нужно, чтобы начать?

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

На чём проверен модуль?

По официальной технической спецификации CIS v2.7 и схеме XSD/WSDL 1.10: сгенерированные запросы прошли официальную XSD и независимую проверку подписи, ZKI пересчитан отдельно. Ответы CIS в тесте моделировались. Живой JIR вы получите в своём 7-дневном триале Pro с DEMO-сертификатом FINA — без хорватского OIB он нам недоступен.

Лицензия на год?

Нет. Для OpenCart это одна оплата, лицензия навсегда, одна на все три сборки: 4.x, 3.x и 2.3. Триал Pro стартует только по вашей кнопке, после триала чеки фискализируются дальше.

Кто отвечает за данные чека?

Магазин. Модуль берёт суммы и налоги из заказа, а систему НДС, обозначения помещения и устройства, оператора, способы оплаты и категорию строк без НДС — из ваших настроек. Сверьте их с бухгалтером до перехода на рабочую среду.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль