Связаться
  • OpenCart
  • Payments
  • v1.0.0

e-Factura ANAF для OpenCart — е-счета RO e-Factura в ANAF (SPV) прямо из заказов

Румынские е-счета RO e-Factura из заказов OpenCart 4: UBL 2.1 по CIUS-RO 1.0.1, отправка напрямую в API ANAF (SPV) через ваше собственное OAuth-приложение, без бухгалтерского SaaS. Индекс загрузки, статус и подписанный ответ ANAF — в заказе, поле CUI с проверкой на чекауте, уезды и секторы Бухареста, TEST и PRODUCTION. Pro — B2C, кредит-ноты, покупатели из ЕС и вне ЕС, валюты с курсом BNR, печатный счёт для клиента. Лицензия навсегда.

Скачать Free
Pro · лицензия навсегда Чем больше сайтов, тем дешевле каждый
Совместимость
OpenCart 4.0.2+ и 4.1 · PHP 8.0+ · штатный чекаут OpenCart · UBL 2.1 / CIUS-RO 1.0.1 · API RO e-Factura (OAuth)
Лицензия
один сайт, навсегда
Триал
7 дней, без карты, один на сайт
Обновлено
сентябрь 2026
Или все 144 Pro-модулей в All Access — 4 990 ₴ / год

Что есть во Free,
а что даёт Pro

Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.

Функция Free Pro
Счёт 380 (UBL 2.1, CIUS-RO 1.0.1) из заказа румынской фирмы с CUI в RON: продавец, покупатель, товары, доставка, купоны, НДС по ставкам ✔ ✔
Автоматически на статусах заказа, которые вы выбираете ✔ ✔
Прямая отправка в API ANAF (upload) через ваше OAuth-приложение ANAF, без сторонних сервисов ✔ ✔
Статус ANAF (stareMesaj) и подписанный ZIP-ответ — в журнале и на странице счёта ✔ ✔
Отклонено — список ошибок ANAF и «Regenerate and send» с тем же номером ✔ ✔
Неопределённая загрузка (таймаут) не повторяется вслепую — «Send again as it is» после проверки в SPV ✔ ✔
Поле CUI на чекауте с проверкой контрольной цифры (с RO и без), создаётся одной кнопкой ✔ ✔
Уезды как RO-XX и секторы Бухареста для CIUS-RO ✔ ✔
Несколько ставок НДС из налогов OpenCart, строки без НДС, продавец — неплательщик НДС (O), «TVA la încasare» ✔ ✔
Своя серия номеров со счётчиком за год или месяц ✔ ✔
Среды TEST и PRODUCTION ✔ ✔
Журнал счетов, страница счёта, панель e-Factura на странице заказа ✔ ✔
Проверка XML и PDF через публичные сервисы ANAF ✔ ✔
Языки модуля: English, română ✔ ✔
Отчётность B2C через uploadb2c: CNP или 13 нулей — ✔
Кредит-ноты 381: полная по статусу заказа, частичная по строкам или суммой — ✔
Покупатели из ЕС (K) и вне ЕС (G) с extern=DA — ✔
Счета в EUR, USD и других валютах с курсом BNR и НДС в RON — ✔
Печатный счёт для клиента: ссылка в письме и блок в аккаунте — ✔
Счета для прошлых заказов, CSV-реестр, письма об отклонённых счетах и проблемах соединения — ✔

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

Журнал счетов e-Factura ANAF в админке OpenCart 4 со статусами ANAF
Журнал счетов: счета и кредит-ноты со статусом «In SPV» и индексами загрузки, счёт в EUR, покупатель из ЕС и счёт, отклонённый ANAF при загрузке. Среда TEST, ответы ANAF смоделированы.
Панель e-Factura на странице заказа в админке OpenCart
Панель «e-Factura» в заказе: налоговый номер покупателя с проверкой, поле для исправления CUI и счёт со статусом «In SPV».
Поле CUI / CIF на штатном чекауте OpenCart 4
Штатный чекаут OpenCart 4.1: поле «CUI / CIF (company)» рядом с e-mail; цены в леях, НДС 21 %.

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

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

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

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

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

  • OpenCart 4.0.2.0+ или 4.1 (проверено 4.0.2.3 и 4.1.0.3, драйверы mysqli и pdo). Сборок для OpenCart 3 и 2.3 нет.
  • PHP 8.0+ с cURL, OpenSSL и ZipArchive
  • Квалифицированный сертификат лица с правами SPV для CUI продавца
  • Приложение ANAF для сервиса «E-Factura» с адресом колбэка витрины (index.php?route=extension/cc_efactura/efactura.oauth). Принимает ли ANAF адрес колбэка с параметрами, вживую не проверено; если нет — токены из Postman можно вставить в настройках вручную.
  • Валюта: RON во Free; другие валюты с курсом BNR — в Pro
  • Чекаут: штатный чекаут OpenCart. Сторонние чекауты и темы, перерисовывающие страницу заказа, не проверялись.
  • Языки модуля: английский и румынский. На русский интерфейс не переведён — модуль сделан для румынских магазинов.

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

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

Для OpenCart 4.0.2+ и 4.1: UBL 2.1 / CIUS-RO 1.0.1, OAuth ANAF, upload, stareMesaj, descarcare, подписанный ответ в базе, отклонённые счета и «Regenerate and send», поле CUI с проверкой,…

Вместе с e-Factura ANAF для OpenCart покупают

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

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

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

e-Factura ANAF для OpenCart — модуль для магазинов в Румынии на OpenCart 4, которые обязаны передавать счета в национальную систему RO e-Factura (SPV) налоговой службы ANAF. Модуль превращает заказ в электронный счёт в формате UBL 2.1 по румынской спецификации CIUS-RO 1.0.1 и сам отправляет его в API ANAF через ваше собственное OAuth-приложение — без бухгалтерского SaaS посередине и без ежемесячной подписки. Индекс загрузки, статус ANAF и подписанный ответ Министерства финансов сохраняются со счётом.

Что нужно от вас. Фирма, зарегистрированная в SPV; квалифицированный электронный сертификат лица с правами SPV для CUI фирмы; собственное приложение ANAF для сервиса «E-Factura», зарегистрированное на портале ANAF с адресом колбэка, который показывает модуль. OpenCart 4.0.2+ или 4.1.

Честно о проверке. Модуль проверен на локальных магазинах OpenCart 4.1.0.3 и 4.0.2.3 (драйверы базы mysqli и pdo), где ответы ANAF смоделированы по официальной документации API (upload, stareMesaj, descarcare, uploadb2c) и примерам Минфина Румынии: установка штатным инсталлятором, чекаут гостем, счета B2B, B2C, кредит-ноты, EUR с курсом BNR, покупатель из ЕС, отказ и повторная отправка. XML из тестовых заказов прошли официальный валидатор ANAF (XSD UBL 2.1 + схематрон CIUS-RO 1.0.9); документ покупателя из ЕС офлайн-валидатор идентифицировать не умеет (extern=DA), он прошёл XSD и схематрон. С живым ANAF, тестовым или рабочим, мы модуль ещё не запускали: нужен сертификат румынской фирмы. Начните со среды TEST в 7-дневном триале Pro — если ANAF ответит не так, как описано в документации, исправим оперативно.

Ответственность за содержание счёта остаётся за магазином. Модуль строит счёт из данных заказа OpenCart и из настроек НДС, которые вы выбираете: категории строк без НДС, режим неплательщика, «TVA la încasare», отчётность B2C, курс BNR для валют. Это решение вашего бухгалтера — покажите ему настройки до перехода на PRODUCTION.

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

  • Extensions → Modules → e-Factura ANAF: вкладки «Invoices», «Settings», «Tools» и «Licence».
  • Журнал счетов: номер, заказ, покупатель с CUI, сумма и валюта, статус («In SPV», «Rejected by ANAF», «Not delivered»), индекс загрузки или сообщение ANAF; фильтр и поиск. «Send queued invoices now» отправляет очередь сразу.
  • Страница счёта: XML, подписанный ответ ANAF, проверка и PDF через публичные сервисы ANAF, «Regenerate and send» для отклонённого счёта.
  • Уведомления вверху модуля: нет соединения или оно закончилось, счета давно не дошли в SPV.

На странице заказа в админке — панель «e-Factura»: налоговый номер покупателя с результатом проверки, поле, чтобы исправить CUI для счёта (данные покупателя не меняются), и счета заказа со статусом ANAF. Отклонённый счёт показывает список ошибок из ответа ANAF; после исправления — «Regenerate and send» с тем же номером.

Неопределённая загрузка. Если ANAF не ответил после старта загрузки (таймаут), модуль не отправляет счёт повторно вслепую — иначе в SPV мог бы появиться дубль. Счёт становится «Not delivered», а кнопка «Send again as it is» отправляет тот же XML после того, как вы проверили в SPV, что первый не дошёл.

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

На штатном чекауте OpenCart появляется поле «CUI / CIF (company)» — собственное поле OpenCart (Customers → Custom Fields), которое модуль создаёт кнопкой в настройках. Заполнять его необязательно: без CUI заказ — обычный, для фирмы с CUI будет счёт в RON. Принимаются записи «14399840», «RO14399840» и «RO 14399840».

Румынский CUI с неверной контрольной цифрой не пройдёт: ошибка появляется под полем, и заказ не оформляется, пока номер не исправлен. Номера плательщиков НДС других стран ЕС и иностранные налоговые номера поле принимает.

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

  1. Приложение ANAF. На портале ANAF в разделе разработчиков регистрируете приложение для сервиса «E-Factura» с адресом колбэка из настроек модуля; ANAF выдаёт Client ID и Client Secret.
  2. Подключение. Settings → Connection to ANAF: Client ID и Client Secret, «Connect with ANAF», выбор квалифицированного сертификата, «Check the connection».
  3. Продавец. CUI, название, адрес, уезд или сектор Бухареста, плательщик НДС или нет, серия номеров; кнопка «Create the CUI field».
  4. Статус заказа. Заказ получает статус, который вы выбрали (например, «Complete»), — модуль строит XML со следующим номером и ставит в очередь.
  5. Отправка. Счёт загружается в ANAF сразу после смены статуса; планировщик OpenCart проверяет очередь раз в час, а для более быстрых статусов добавьте на хостинге крон с адресом из вкладки «Tools» каждые 5 минут.
  6. Ответ. Принято — статус «In SPV», индекс и подписанный ответ ANAF в счёте; отклонено — список ошибок и «Regenerate and send».
  7. Сбои. ANAF недоступен — счёт ждёт в очереди и уходит позже; неопределённая загрузка ждёт вашего решения.

Pro. Статус «Refunded» (или выбранный вами) даёт полную кредит-ноту 381 со ссылкой на счёт; частичную кредит-ноту создаёте вручную по строкам или суммой. Заказы без CUI отчитываются через uploadb2c с CNP (отдельное поле по желанию) или 13 нулями. Покупатели из ЕС с VAT-номером получают категорию K, вне ЕС — G, оба с extern=DA. Заказы в EUR, USD и других валютах получают счёт с курсом BNR и суммой НДС в RON.

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

  • UBL 2.1, CustomizationID CIUS-RO 1.0.1: счёт 380 и кредит-нота 381; уезды в коде ISO 3166-2:RO, секторы Бухареста как SECTOR1–6.
  • OAuth ANAF: authorization code на logincert.anaf.ro, token_content_type=jwt, state против подделки колбэка. Токены и Client Secret хранятся зашифрованными; ключ шифрования — в папке storage магазина.
  • API RO e-Factura: upload / uploadb2c, stareMesaj, descarcare с учётом лимитов ANAF — опрос с нарастающей паузой, ответ скачивается один раз.
  • Ответы ANAF хранятся в базе данных магазина, а не файлами в папке сайта: по прямой ссылке их не открыть, скачивание — только из админки.
  • События OpenCart (смена статуса заказа, чекаут, панель заказа) и задача планировщика OpenCart — без правки файлов ядра.
  • Журнал cc_efactura.log в папке логов магазина, просмотр во вкладке «Tools».
  • Удаление: без «Delete data» реестр счетов и счётчики остаются для бухгалтерии; с «Delete data» убираются также созданные модулем поля CUI/CNP.

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

  1. Extensions → Installer → Upload: cc_efactura.ocmod.zip, затем Install.
  2. Extensions → Extensions → Modules → e-Factura ANAF → Install → Edit.
  3. Зарегистрируйте приложение «E-Factura» на портале ANAF с адресом колбэка из вкладки «Settings».
  4. Вставьте Client ID и Client Secret, «Connect with ANAF», войдите сертификатом, «Check the connection».
  5. Заполните данные продавца, нажмите «Create the CUI field», включите счета, оставьте среду TEST.
  6. Оформите тестовый заказ с CUI и переведите в «Complete» — счёт появится в журнале со статусом ANAF.
  7. Покажите настройки НДС бухгалтеру и переключите среду на PRODUCTION. Для Pro — ключ из письма после оплаты или 7-дневный триал.

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

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

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

Фирма, зарегистрированная в SPV, квалифицированный электронный сертификат лица с правами SPV для её CUI и собственное приложение для сервиса «E-Factura», зарегистрированное на портале ANAF с адресом колбэка, который показывает модуль. Client ID и Client Secret вставляются в настройки, дальше — вход сертификатом.

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

На локальных магазинах OpenCart 4.1.0.3 и 4.0.2.3 (драйверы базы mysqli и pdo), где ответы ANAF смоделированы по официальной документации API. XML из тестовых заказов прошли официальный валидатор ANAF (схематрон CIUS-RO 1.0.9). С живым ANAF модуль ещё не работал: для этого нужен сертификат румынской фирмы. Попробуйте в среде TEST на своей фирме в 7-дневном триале Pro.

Есть ли сборки для OpenCart 3 и 2.3?

Нет, только OpenCart 4.0.2+ и 4.1.

Как часто нужно входить сертификатом?

Токен доступа действует 90 дней и обновляется модулем, refresh-токен — 365 дней. Раз в год нужно войти сертификатом снова; модуль предупреждает заранее.

Кто отвечает за содержание счёта?

Магазин. Модуль строит счёт из данных заказа и из настроек НДС, которые вы выбираете. Категории НДС, «TVA la încasare», отчётность B2C, курс BNR для валют — решение вашего бухгалтера; покажите ему настройки перед переходом на PRODUCTION.

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

Нет. Для OpenCart лицензия навсегда: одна оплата, без ежегодных платежей.

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

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

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