
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, печатный счёт для клиента. Лицензия навсегда.
- Совместимость
- 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
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.

Триал стартует, когда вы попросите
Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать 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. Сторонние чекауты и темы, перерисовывающие страницу заказа, не проверялись.
Языки модуля: английский и румынский. На русский интерфейс не переведён — модуль сделан для румынских магазинов.
История версий
Для 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% дешевле, чем по отдельности


Nova Poshta Premium — модуль Новая Почта для OpenCart 2.3, 3.x и 4.x

LiqPay — оплата картой для OpenCart 2.3, 3.x и 4.x

Telegram-уведомления и Viber/SMS покупателям для OpenCart
Полное описание модуля
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 с неверной контрольной цифрой не пройдёт: ошибка появляется под полем, и заказ не оформляется, пока номер не исправлен. Номера плательщиков НДС других стран ЕС и иностранные налоговые номера поле принимает.
Как это работает — шаг за шагом
- Приложение ANAF. На портале ANAF в разделе разработчиков регистрируете приложение для сервиса «E-Factura» с адресом колбэка из настроек модуля; ANAF выдаёт Client ID и Client Secret.
- Подключение. Settings → Connection to ANAF: Client ID и Client Secret, «Connect with ANAF», выбор квалифицированного сертификата, «Check the connection».
- Продавец. CUI, название, адрес, уезд или сектор Бухареста, плательщик НДС или нет, серия номеров; кнопка «Create the CUI field».
- Статус заказа. Заказ получает статус, который вы выбрали (например, «Complete»), — модуль строит XML со следующим номером и ставит в очередь.
- Отправка. Счёт загружается в ANAF сразу после смены статуса; планировщик OpenCart проверяет очередь раз в час, а для более быстрых статусов добавьте на хостинге крон с адресом из вкладки «Tools» каждые 5 минут.
- Ответ. Принято — статус «In SPV», индекс и подписанный ответ ANAF в счёте; отклонено — список ошибок и «Regenerate and send».
- Сбои. 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.
Как установить
- Extensions → Installer → Upload:
cc_efactura.ocmod.zip, затем Install. - Extensions → Extensions → Modules → e-Factura ANAF → Install → Edit.
- Зарегистрируйте приложение «E-Factura» на портале ANAF с адресом колбэка из вкладки «Settings».
- Вставьте Client ID и Client Secret, «Connect with ANAF», войдите сертификатом, «Check the connection».
- Заполните данные продавца, нажмите «Create the CUI field», включите счета, оставьте среду TEST.
- Оформите тестовый заказ с CUI и переведите в «Complete» — счёт появится в журнале со статусом ANAF.
- Покажите настройки НДС бухгалтеру и переключите среду на PRODUCTION. Для Pro — ключ из письма после оплаты или 7-дневный триал.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Что нужно, чтобы начать?
Фирма, зарегистрированная в 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 лицензия навсегда: одна оплата, без ежегодных платежей.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—


