Payments · WordPress

Catcode PRRO Connector — фискализация чеков (Вчасно.Каса, Checkbox) для WooCommerce

Фискализация заказов WooCommerce через ПРРО: чек пробивается автоматически по статусу, с fallback между сервисами и отправкой покупателю.

Скачать бесплатно
Версия
v1.1.0
Совместимость
WordPress 6.4+ / WooCommerce 8.0+
Платформа
WordPress
Catcode PRRO Connector — фискализация чеков (Вчасно.Каса, Checkbox) для WooCommerce

Что внутри

  • Автоматический фискальный чек при переходе заказа в заданный статус
  • Два ПРРО в одном плагине: Вчасно.Каса и Checkbox, с резервным переключением
  • Открытие и закрытие смены по расписанию, Z-отчёт при закрытии
  • Журнал чеков со статусами, ошибками и экспортом в CSV
  • Ссылка на чек в заказе, письмо и SMS покупателю
  • Источник заказов KeyCRM
  • Совместимость с HPOS
  • Чек возврата на каждый частичный возврат (Pro)
  • Возврат через API Вчасно.Каса (Pro)
  • Повтор неудачного чека прямо из журнала (Pro)
  • Сверка смен: Z-отчёт против суммы чеков (Pro)

Catcode PRRO Connector — плагин фискализации для WooCommerce, который связывает магазин с украинскими программными РРО и пробивает фискальный чек автоматически, как только заказ переходит в заданный статус (например, «processing» после оплаты LiqPay или Monobank). Один плагин покрывает несколько ПРРО-сервисов с fallback между ними, управляет сменой кассы и сам отправляет чек покупателю на email и SMS.

Плагин полностью бесплатный. Скачать: каталог WordPress.org.

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

Настройки кассы Вчасно.Каса
Подключение кассы: роль (основная или резервная), API-ключ, фискальный номер ПРРО, налоговая группа — и кнопка «Сохранить и проверить связь», которая сразу ходит в API.
Автоматическое пробитие чеков и статус-триггер
Вкладка «Чеки»: в каком статусе заказа пробивать чек, что делать с возвратами, отправлять ли чек покупателю.
Журнал чеков со статусами и фискальными номерами
Журнал: статус каждого чека, фискальный номер, текст ошибки если касса отказала, ссылка на PDF и экспорт в CSV.
Смены кассы и Z-отчёты
Смена кассы открывается и закрывается по расписанию (cron) с Z-отчётом на закрытии, плюс авто-открытие, если чек пришёл в закрытую смену.
Фискальный чек в карточке заказа
В самом заказе — блок с фискальным номером, сервисом, которым пробит, и ссылкой на чек.

Поддерживаемые ПРРО

  • Вчасно.Каса — полная поддержка: чеки продажи, управление сменой, проверка связи.
  • Checkbox — адаптер по публичной документации API.

Можно назначить основной сервис и резервный (fallback): если основной не отвечает, чек автоматически идёт через запасной.

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

  1. Покупатель оплачивает заказ через любой платёжный сервис — LiqPay, Monobank, WayForPay и так далее.
  2. Платёжка переводит заказ в статус «processing» своим callback-ом.
  3. Плагин ловит смену статуса (woocommerce_order_status_changed) и отправляет данные чека в ПРРО; если смена кассы закрыта — сначала открывает её и повторяет чек.
  4. ПРРО возвращает фискальный номер — он пишется в заметку заказа и в журнал чеков.
  5. Покупатель получает чек: email со ссылкой на PDF и, при желании, SMS через TurboSMS.
  6. Бухгалтерия забирает журнал чеков с PDF/HTML-ссылками через CSV-экспорт.

Отдельно: кнопка «Пробить чек» на странице заказа, список методов оплаты, которые фискализируются как наличные (наложенные платежи Новой Почты, Укрпочты), доставка в чеке, пропуск нулевых позиций, УКТЗЕД-код на каждый товар + дефолтный код.

Источник KeyCRM

С версии 0.5.0 плагин фискализирует не только заказы WooCommerce: он тянет оплаченные заказы из KeyCRM (агрегатор Rozetka, Prom, Instagram и собственных сайтов) и пробивает для них чеки через те же ПРРО-сервисы. Меню «Касса → Заказы KeyCRM»: API-ключ, интервал опроса, триггер, журнал запусков, опциональная запись ссылки на чек обратно в заказ KeyCRM. Каждый заказ фискализируется ровно один раз.

Заказы KeyCRM → ПРРО: настройки и журнал запусков
Экран «Касса → Заказы KeyCRM»: подключение по API-ключу, триггер фискализации и журнал запусков опроса.

Что входит в бесплатную версию, а что в Pro

Фискализация как таковая — бесплатная и остаётся такой: автоматический чек по статусу заказа, два сервиса с резервным переключением, смены по расписанию, журнал чеков, письмо и SMS покупателю, тестовый режим. Это то, что уже роздано в каталоге WordPress.org, и оно никуда не переезжает.

Pro-лицензия добавляет то, что нужно магазину, когда начинаются возвраты:

  • Чек возврата на каждый частичный возврат. Вернули одну позицию из трёх, только доставку или произвольную сумму — плагин пробивает отдельный чек ровно на то, что вернулось, и привязывает его к чеку продажи.
  • Возврат через API Вчасно.Каса. Без Pro такой чек приходится пробивать руками в кабинете сервиса.
  • Повтор чека из журнала. Касса была недоступна или смена закрылась — одна кнопка на строке или «повторить все неудачные». Уже пробитый чек повторно в ПРРО не уйдёт.
  • Сверка смен. Каждый Z-отчёт против суммы чеков из журнала (продажи минус возвраты) и подсвеченное расхождение — именно то место, где виден чек, пробитый мимо магазина.
Фискальные чеки и возвраты в карточке заказа WooCommerce
Карточка заказа: чек продажи, фискальный номер и отдельный чек на каждый возврат (Pro).
Журнал чеков ПРРО с повтором неудачного чека
Журнал чеков: статус каждой попытки, текст ошибки кассы и кнопка «Повторить» (Pro).
Сверка смен: Z-отчёт против суммы чеков в журнале
Сверка смен: Z-отчёт против суммы чеков из журнала — расхождение сразу видно (Pro).
Pro-лицензия и пробный период в плагине фискализации
Pro-лицензия: 7-дневный пробный период включается прямо в админке.

Сколько стоит

Бесплатная версия — 0 грн, всегда и без регистрации. Pro — 1490 грн в год за один домен: год обновлений и поддержки. Перед покупкой можно включить 7-дневный пробный период прямо в админке — без карты и без автопродления.

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

  • WordPress 6.4+ / WooCommerce 8.0+ (HPOS-совместимость, протестировано до WC 10.7)
  • PHP 7.4+
  • Зарегистрированный ПРРО в налоговой — через кабинет выбранного сервиса (Вчасно.Каса, Checkbox)
  • API-ключ из кабинета ПРРО-сервиса и настроенная там ставка НДС

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

  • API-ключи и пароли шифруются в БД — sodium_crypto_secretbox, с фолбеком на HMAC-потоковый шифр, когда расширение libsodium недоступно. Секреты не выводятся обратно в HTML форм.
  • Архитектура адаптеров: общий интерфейс провайдера + отдельный адаптер на каждый ПРРО-сервис, цепочка основной → fallback.
  • Защита от дублей — фискальный номер сверяется через БД, повтор зафейленных чеков не создаёт второй чек; купоны учтены так, чтобы sum(позиций) совпадала с total.
  • Телефон покупателя нормализуется до E.164 (+380…) перед отправкой в ПРРО.
  • Хук mpc_after_fiscalize — для собственных интеграций после успешного чека.

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

  1. Скачайте плагин из каталога WordPress.org, установите через «Плагины → Добавить новый → Загрузить плагин» и активируйте.
  2. Меню «Касса → Настройки» → вкладка Вчасно.Каса: введите API-ключ и фискальный номер ПРРО из кабинета Вчасно.
  3. Нажмите «Проверить связь» — должно ответить OK.
  4. На вкладке «Общее» выберите основной сервис и включите «Автоматически пробивать чеки».
  5. Проверьте на копеечном заказе через «Касса → Тест» → «Пробить чек».
  6. В «Касса → Чеки» появится строка «успешно» с реальным фискальным номером — готово.

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

1.1.0 — август 2026
Появился Pro-уровень, бесплатная часть не изменилась. Pro: чек возврата на каждый возврат WooCommerce, включая частичный и с произвольной суммой; возврат через API Вчасно.Каса вместо ручного чека в кабинете; повтор одного или всех неудачных чеков прямо из журнала; сверка смен — Z-отчёт против суммы чеков. Повторная фискализация теперь идемпотентна: чек, который уже прошёл, второй раз в ПРРО не отправляется.
1.0.2 — август 2026
Обновление со сборок до 1.0.0 теперь переносит журнал чеков, журнал смен и карту заказов KeyCRM в переименованные таблицы. Без этого после обновления журналы выглядели пустыми, а защита от дубля читает именно таблицу чеков — то есть заказ с уже пробитым чеком мог получить второй фискальный чек. Удаление плагина теперь убирает собственные таблицы (в обработчике оставались их старые имена). Внутренняя константа версии застряла на 1.0.0, из-за чего процедура обновления не запускалась.
1.0.1 — август 2026
Обновлённый украинский перевод, статусы смен на экране «Смены» стали переводимыми.
1.0.0 — август 2026
Первый публичный релиз в каталоге WordPress.org.
0.5.3 — июль 2026
Экранирование всего вывода: ссылка на чек и дополнительный текст в plain-text письме, сгенерированные элементы форм и бейджи на странице настроек (wp_kses с явным перечнем разрешённых тегов). Санитизация API-ключа KeyCRM при чтении, англоязычный readme для каталога WordPress.org.
0.5.2 — июль 2026
Единый префикс catcodeprro_ для всех опций, хуков, мета-полей и таблиц. Стили и скрипты админки вынесены в assets/ и подключены через wp_enqueue_*. Убраны нерабочие адаптеры Cashalot/SmartPOS. Плагин переименован в «Catcode PRRO Connector».
0.5.0 — июль 2026
Встроенный источник KeyCRM: фискализация оплаченных заказов из Rozetka/Prom/Instagram через KeyCRM Open API (меню «Касса → KeyCRM»). Каждый заказ фискализируется ровно один раз; журнал запусков; лимит 60 req/мин и обработка 429.
0.4.0 — 2026
Новый экран настроек: один мастер вместо вкладок, статус-блок «работает / требует внимания», кнопка «Сохранить и проверить связь». Fix базового URL Checkbox API (api.checkbox.in.ua); Checkbox возвращён в расширенные настройки.
0.3.x — 2026
Автоматическое управление сменой кассы по расписанию (cron дважды в сутки), авто-открытие смены при чеке, ручные кнопки на странице «Смены». Вкладки настроек, защита секретов в формах, фиксы логгера.
0.2.x — 2026
Реальные endpoint-ы Вчасно.Каса, фикс купонов (sum(items) == total), защита от дублей чеков, УКТЗЕД-коды, нормализация телефона, кнопка «Пробить чек», CSV-экспорт, email-шаблон чека, TurboSMS.
0.1.0 — 2026
Первый релиз: 4 адаптера ПРРО и базовая автофискализация при смене статуса заказа.

Частые вопросы

Что нужно в Вчасно.Кассе перед стартом?

Зарегистрировать ПРРО в налоговой через кабинет Вчасно, настроить ставку НДС (без НДС для ФЛП на ЕН или 20% для плательщиков) и открыть смену — без открытой смены API вернёт ошибку. Впрочем, плагин умеет и сам открывать смену по расписанию или на первой продаже.

Ломает ли плагин checkout или тему?

Нет. Плагин работает только в админке и на хуках заказов — на витрину и чекаут ничего не добавляет.

Можно ли делать возвраты чеков?

Да. В бесплатной версии чек возврата на всю сумму пробивает Checkbox, а для Вчасно заказ со статусом «возвращено» получает напоминание пробить чек в кабинете. Pro пробивает чек возврата сам — в том числе на частичный возврат (одна позиция, только доставка или произвольная сумма) и для Вчасно через API.

Кто управляет ставкой НДС в чеке?

Для Вчасно — кабинет ПРРО (в payload плагин НДС не передаёт). Для Checkbox/Cashalot можно указать УКТЗЕД-код в редакторе товара.

Какая сумма идёт в чек — с комиссией эквайера или без?

Полная сумма заказа, как заплатил покупатель. Это требование ЗУ «О РРО».

Что останется после удаления плагина?

Заказы WooCommerce не меняются — фискальные номера остаются в заметках заказов, уже пробитые чеки живут в кабинете вашего ПРРО-сервиса.

Вопросы по модулю?

Пишите в Telegram — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.

@catcode_support

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

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

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