Зв'язатись
  • 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 Mono Acquiring Telegram-сповіщення і Viber/SMS покупцям Потрібно більше — усі 144 модулі в All Access за 4 990 ₴.
2 490 ₴ / рік замість 4 160 ₴ поштучно
Купити набір →

Повний опис модуля

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. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль