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

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