Связаться
  • WordPress
  • Payments
  • v1.0.1

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

Румынские е-счета RO e-Factura из заказов WooCommerce: UBL 2.1 по CIUS-RO 1.0.1, отправка напрямую в API ANAF (SPV) через ваше собственное OAuth-приложение, без бухгалтерского SaaS. Индекс загрузки, статус ANAF и подписанный ZIP-ответ — в заказе, поле CUI на чекауте, очередь с повторами, TEST и PRODUCTION. Pro — B2C, кредит-ноты из возвратов, иностранные покупатели, PDF от ANAF для клиента, сообщения SPV.

Скачать Free
Pro · лицензия на год Чем больше сайтов, тем дешевле каждый
Совместимость
WooCommerce 8.0+ · WordPress 6.2+ · PHP 7.4+ · HPOS · классический и блочный чекаут · 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: продавец, покупатель, товары, доставка и сборы строками, НДС по ставкам ✔ ✔
Автоматически на статусе «Выполнен» или «В обработке» + кнопка «Send to e-Factura» в заказе ✔ ✔
Прямая отправка в API ANAF (upload) через ваше OAuth-приложение ANAF, без сторонних сервисов ✔ ✔
Статус ANAF (stareMesaj) и подписанный ZIP-ответ с печатью Минфина — в заказе и журнале ✔ ✔
Отклонено — причина текстом из ответа ANAF, «Rebuild and send» с тем же номером, «Discard» ✔ ✔
Очередь с повторами: сеть, технические ошибки ANAF и лимит запросов не теряют счёт ✔ ✔
Поля CUI, Nr. Reg. Com. и названия фирмы на классическом и блочном чекауте, проверка контрольной цифры CUI ✔ ✔
Проверка румынского адреса до отправки: уезд как RO-XX, сектор 1–6 для Бухареста, длины полей ✔ ✔
Несколько ставок НДС из налогов WooCommerce, строки без НДС (E/Z/AE), продавец — неплательщик НДС (O), отметка «TVA la încasare» ✔ ✔
Своя серия номеров со счётчиком за год или месяц, отдельные счётчики для TEST и PRODUCTION ✔ ✔
Среды TEST (api.anaf.ro/test) и PRODUCTION ✔ ✔
Автообновление токена ANAF и напоминание, когда соединение заканчивается ✔ ✔
Языки плагина: English, română ✔ ✔
Отчётность B2C через uploadb2c: CNP покупателя или 13 нулей — ✔
Кредит-ноты 381 из возвратов WooCommerce — по позициям или суммой, со ссылкой на счёт — ✔
Покупатели из ЕС (K) и вне ЕС (G) с extern=DA — ✔
PDF счёта, который формирует ANAF, в админке и для клиента в «Мой аккаунт» — ✔
Вкладка «SPV messages»: полученные и отправленные сообщения за 1–60 дней, ZIP и PDF — ✔
Массовая отправка прошлых заказов, CSV-реестр, письма об отклонённых счетах и конце соединения — ✔

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

Журнал счетов e-Factura ANAF в админке WooCommerce со статусами ANAF
Журнал счетов: отклонённый ANAF счёт с текстом ошибки BR-RO-111 и кнопками «Rebuild and send» и «Discard», ниже — принятые счета, кредит-ноты и иностранные покупатели с индексами загрузки и ссылками на XML, ZIP и PDF. Среда TEST, ответы ANAF смоделированы.
Блок e-Factura в заказе WooCommerce: счёт принят ANAF
Блок «e-Factura» в заказе: номер счёта, «Accepted by ANAF», индекс загрузки, ссылки на детали, XML и ZIP из SPV.
Ошибка «The CUI is not valid» на блочном чекауте WooCommerce
Блочный чекаут: поля CUI / CIF, название фирмы и Nr. Reg. Com.; CUI с неверной контрольной цифрой останавливает заказ.

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

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

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

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

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

  • WooCommerce 8.0+ с классическим или блочным чекаутом, совместимость с HPOS
  • WordPress 6.2+ · PHP 7.4+ с OpenSSL и ZipArchive
  • Квалифицированный сертификат лица с правами SPV для CUI продавца (законный представитель, назначенный представитель или уполномоченное лицо)
  • Приложение ANAF для сервиса «E-Factura» с адресом колбэка сайта. Советуем «красивые» постоянные ссылки (/wp-json/…): принимает ли ANAF колбэк с «?rest_route=», не проверено. Плагины безопасности, отключающие REST API, сломают колбэк — тогда токены можно вставить вручную.
  • Валюта — только RON; заказы в других валютах пропускаются с пояснением
  • Налоги WooCommerce с румынскими ставками — ставки идут в счёт из налогов каждого заказа
  • Языки плагина: английский и румынский. На русский интерфейс не переведён — плагин сделан для румынских магазинов.

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

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

Ответы ANAF (ZIP с подписью, списки ошибок, сообщения SPV, PDF) хранятся в базе данных сайта вместо папки uploads, которую nginx отдавал по прямой ссылке; имеющиеся файлы переносятся при…

v1.0.0 Первый релиз сентябрь 2026

UBL 2.1 / CIUS-RO 1.0.1, OAuth ANAF, upload, stareMesaj, descarcare, очередь с повторами, поля CUI на классическом и блочном чекауте, проверка адресов RO, TEST и PRODUCTION; английский и румынский.

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

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

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

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

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

Что нужно от вас. Фирма, зарегистрированная в SPV; квалифицированный электронный сертификат лица с правами SPV для CUI фирмы; собственное приложение ANAF для сервиса «E-Factura», зарегистрированное в профиле разработчика на anaf.ro с адресом колбэка, который показывает плагин. Счета — только в RON.

Честно о проверке. Плагин проверен на локальном магазине WooCommerce, где ответы ANAF смоделированы по официальной документации API (upload, stareMesaj, descarcare, uploadb2c) и примерам Минфина Румынии. Каждый XML из тестовых заказов — B2B, B2C, неплательщик НДС, кредит-ноты — прошёл официальный валидатор ANAF (XSD UBL 2.1 + схематрон CIUS-RO 1.0.9). С живым ANAF, тестовым или рабочим, мы его ещё не запускали: для этого нужен сертификат румынской фирмы. Начните со среды TEST на своей фирме в 7-дневном триале Pro — если ANAF ответит не так, как описано в документации, исправим оперативно.

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

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

  • WooCommerce → e-Factura: вкладки «Invoices», «SPV messages», «Settings» и «Licence».
  • Журнал счетов: номер, заказ, покупатель с CUI, сумма, статус ANAF, индекс загрузки или текст отказа; фильтр по статусу и поиск. Ссылки на детали, XML, ZIP ответа ANAF и PDF (Pro).
  • «Send / check now» отправляет очередь и проверяет статусы сразу, не дожидаясь крона.
  • Уведомления вверху админки: отклонённые или недоставленные счета, нет соединения с ANAF, соединение скоро закончится.

В каждом заказе — блок «e-Factura»: номер счёта, статус («Accepted by ANAF», «Rejected by ANAF», в очереди), индекс загрузки и ссылки на XML и ZIP. Для заказа без счёта — кнопка «Send to e-Factura». Заметки заказа фиксируют каждый шаг: счёт создан, загружен с индексом, принят или отклонён с причиной.

Отклонённый счёт виден сразу: в журнале, в заказе и в уведомлении вверху админки, рядом — текст ошибки из ZIP-ответа ANAF (например, BR-RO-111 о коде уезда). Исправили заказ — «Rebuild and send» перестраивает счёт с тем же номером, который так и не дошёл до покупателя; ненужный — «Discard».

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

На чекауте появляются поля «CUI / CIF (for an invoice to a company)», «Trade register no.» и, пока WooCommerce прячет своё поле «Компания», «Company name (for the invoice)». Без CUI заказ оформляется как обычный. Если CUI введён, плагин проверяет контрольную цифру (с префиксом RO и без), а CNP, введённый в поле CUI, отклоняет с подсказкой. CUI без названия фирмы не проходит. Работает на классическом и блочном чекауте.

ANAF требует для адреса в Бухаресте сектор (SECTOR1–SECTOR6). Покупателя из Бухареста без сектора в поле «Город» чекаут попросит дописать его, например «Sector 3», — иначе счёт отклонили бы уже в ANAF.

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

  1. Приложение ANAF. В профиле разработчика на anaf.ro регистрируете приложение для сервиса «E-Factura» с адресом колбэка из настроек плагина; ANAF выдаёт Client ID и Client Secret.
  2. Подключение. WooCommerce → e-Factura → Settings: Client ID и Client Secret, «Connect to ANAF», выбор квалифицированного сертификата. «Check the connection» проверяет токен запросом к ANAF.
  3. Продавец. CUI, название, адрес, уезд (для Бухареста — сектор), IBAN, плательщик НДС или нет, серия номеров.
  4. Чекаут. Покупатель-фирма вводит CUI; неверный CUI или Бухарест без сектора не пройдут.
  5. Статус заказа. Заказ становится «Выполнен» (или «В обработке» — как выберете) — плагин проверяет данные по правилам RO, строит XML со следующим номером и ставит в очередь. Номер не расходуется, пока данные не пройдут проверку.
  6. Отправка. Action Scheduler сразу загружает XML в ANAF (upload), крон — страховка. Дальше плагин опрашивает состояние (stareMesaj) с нарастающей паузой в пределах лимитов ANAF.
  7. Ответ. Принято — ZIP со счётом и подписью Минфина сохраняется с заказом; отклонено — текст ошибок в журнале и в заказе.
  8. Сбои. ANAF недоступен, техническая ошибка или 429 — счёт ждёт и повторяется сам с тем же XML; дубликат «transmisa anterior» привязывается к оригинальному индексу.

Pro. Возврат WooCommerce — по позициям или суммой — даёт кредит-ноту 381 со ссылкой на счёт, которая уходит в ANAF так же. Заказы без CUI отчитываются через uploadb2c с CNP (если покупатель его указал) или 13 нулями. Покупатели из ЕС с VAT-номером получают категорию K, вне ЕС — G, оба с extern=DA.

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

  • UBL 2.1, CustomizationID CIUS-RO 1.0.1: счёт 380 и кредит-нота 381; XML не меняется после создания, поэтому повтор отправляет тот же файл байт в байт.
  • OAuth ANAF: authorization code на logincert.anaf.ro, token_content_type=jwt, state против подделки колбэка. Токен доступа — 90 дней, обновляется автоматически за 10 дней до конца; refresh-токен — 365 дней, дальше новый вход сертификатом. Client Secret и токены — в базе в зашифрованном виде (AES-256 с ключами сайта).
  • API RO e-Factura: upload / uploadb2c, stareMesaj, descarcare, listaMesajeFactura и transformare (PDF) — с учётом лимитов ANAF на количество запросов.
  • Ответы ANAF (ZIP с подписью, списки ошибок, сообщения SPV, PDF) с версии 1.0.1 хранятся в базе данных сайта, а не в папке uploads — ни один веб-сервер, в том числе nginx, не отдаст их по прямой ссылке. Скачивание — только через админку с проверкой прав, PDF клиента — с проверкой ключа заказа и владельца.
  • Нумерация с блокировкой: два заказа в одну и ту же секунду не получат одинаковый номер; отдельные счётчики для TEST и PRODUCTION.
  • Режим имитации: константа CCEF_ANAF_MOCK в wp-config.php моделирует ответы ANAF в среде TEST — чтобы проверить магазин без сертификата.
  • Удаление плагина убирает токены, кроны и кеши; реестр счетов и ответы ANAF остаются как бухгалтерские записи. Константа CCEF_DELETE_DATA убирает всё.

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

  1. Плагины → Добавить новый → Загрузить плагин: выберите efactura-anaf-for-woocommerce-1.0.1.zip и активируйте.
  2. Зарегистрируйте приложение «E-Factura» в профиле разработчика ANAF с адресом колбэка из настроек плагина.
  3. WooCommerce → e-Factura → Settings: Client ID и Client Secret, «Connect to ANAF», сертификат, «Check the connection».
  4. Заполните данные продавца и серию номеров (отдельная серия, если счета выписывает ещё и другая программа), оставьте среду TEST.
  5. Оформите тестовый заказ с CUI и переведите его в «Выполнен» — через минуту в заказе будет индекс и статус ANAF.
  6. Покажите настройки НДС бухгалтеру и переключите среду на PRODUCTION.
  7. Для Pro: вставьте лицензионный ключ из письма после оплаты или запустите 7-дневный триал.

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

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

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

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

На чём проверен плагин?

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

Работает ли плагин в других валютах, кроме RON?

Нет. Эта версия отправляет счета только в RON; заказы в других валютах пропускаются с пояснением в заказе.

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

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

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

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

Где хранятся ответы ANAF?

В базе данных сайта, а не в папке с веб-доступом: ZIP можно скачать только в админке, PDF — клиенту, сделавшему заказ.

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

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

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