Зв'язатись
  • WordPress
  • Payments
  • v1.0.0

Verifactu для WooCommerce — записи рахунків AEAT і податковий QR

Записи VERI*FACTU з ланцюжком SHA-256, надсилання в AEAT і податковий QR у листах. Pro — повні рахунки з NIF, коригувальні, анулювання, PDF, експорт.

Завантажити Free
Pro · ліцензія на рік Чим більше сайтів, тим дешевше кожен
Сумісність
WooCommerce 7.0+ · WordPress 6.2+ · PHP 7.4+
Ліцензія
один сайт, річна
Тріал
7 днів, без картки, один на сайт
Оновлено
вересень 2026
Або всі 144 Pro-модулів з All Access — 4 990 ₴ / рік

Що є в Free,
а що дає Pro

Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.

Функція Free Pro
Запис про рахунок (registro de alta) на кожне оплачене замовлення ✔ ✔
Спрощені рахунки F2 з власними серіями й нумерацією за роками ✔ ✔
Ланцюжок SHA-256 за специфікацією AEAT; записи незмінні ✔ ✔
Надсилання в AEAT по SOAP вашим електронним сертифікатом (.p12/.pfx) ✔ ✔
Черга з автоповторами, якщо AEAT недоступна ✔ ✔
Виправлення відхилених записів (subsanación) одним кліком ✔ ✔
Податковий QR «VERI*FACTU» у листах, на сторінці подяки й у кабінеті ✔ ✔
Журнал записів з повним XML, хешем і відповіддю AEAT ✔ ✔
Тестовий портал і production з окремими ланцюжками й лічильниками ✔ ✔
Класичний і блоковий чекаут WooCommerce, сумісність з HPOS ✔ ✔
Переклади: іспанська та українська ✔ ✔
Повні рахунки F1 з NIF / NIE / CIF покупця — ✔
Поле NIF на класичному й блоковому чекауті з перевіркою — ✔
B2B у ЄС без ПДВ (E5 / N2) за VAT-номером — ✔
Коригувальні рахунки з повернень WooCommerce (R1 / R4 / R5) — ✔
Анулювання (anulación) помилково виставленого запису — ✔
QR у PDF-рахунку «PDF Invoices & Packing Slips» — ✔
Експорт записів у CSV і XML для бухгалтера — ✔
Сповіщення на пошту про відхилені записи й збої доставки — ✔

Як це виглядає

Податковий QR-код VERI*FACTU на сторінці подяки WooCommerce
Одразу після замовлення покупець бачить блок «QR tributario:» з QR-кодом і написом VERI*FACTU та номером рахунку. Той самий блок додається у верх листа про замовлення і на сторінку замовлення в «Мій акаунт».
QR-код VERI*FACTU у PDF-рахунку WooCommerce
З Pro той самий QR-код і легенда стають у верх PDF-рахунку плагіна «PDF Invoices & Packing Slips». За бажанням плагін бере номер рахунку саме з нього, щоб нумерація не роздвоїлась.
Поле NIF / VAT-номера на чекауті WooCommerce
Pro додає на чекаут поле NIF / NIE / CIF або VAT-номера ЄС — і на класичному, і на блоковому чекауті. Контрольний символ перевіряється одразу: з помилковим NIF замовлення не оформиться.

Тріал стартує, коли ви попросите

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

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

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

Технічні вимоги

  • WooCommerce 7.0+ з класичним або блоковим чекаутом, сумісність з HPOS
  • WordPress 6.2+ · PHP 7.4+ з розширеннями openssl і curl
  • Електронний сертифікат емітента, його представника або сертифікат печатки (sello) — у форматі .p12 / .pfx. Той самий сертифікат працює і з тестовим порталом AEAT.
  • Магазин з іспанським оподаткуванням: ставки ПДВ налаштовані в WooCommerce, валюта — євро.
  • Виробник ПЗ. RD 1007/2023 вимагає, щоб у кожному записі було ідентифіковано виробника програми, а сам виробник мав «declaración responsable». У цій збірці бойовий режим (production) відкривається після того, як ідентифікацію виробника задано константами в wp-config.php; без цього плагін лишається на тестовому порталі AEAT і попереджає про це в налаштуваннях. Напишіть нам — підкажемо, як це налаштувати під вашу ситуацію.

Історія версій

v1.0.0 Поточна вересень 2026

Записи RegistroAlta на кожне оплачене замовлення, спрощені рахунки F2 з власними серіями, ланцюжок SHA-256 за специфікацією AEAT, надсилання SOAP з електронним сертифікатом, черга з…

Разом з Verifactu для WooCommerce купують

4 модулі одним замовленням — на 40% дешевше, ніж окремо

Набір «Старт магазину» Verifactu Nova Poshta Premium Mono Acquiring Telegram-сповіщення і Viber/SMS покупцям Потрібно більше — усі 144 модулі в All Access за 4 990 ₴.
2 390 ₴ / рік замість 4 060 ₴ поштучно
Купити набір →

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

Verifactu для WooCommerce — плагін, який перетворює магазин на WooCommerce на систему виставлення рахунків VERI*FACTU за іспанськими правилами. На кожне оплачене замовлення плагін створює запис про рахунок (registro de alta), зчіплює його хешем SHA-256 з попереднім, надсилає у веб-сервіс Податкової агенції Іспанії (AEAT) вашим електронним сертифікатом і додає податковий QR-код з написом «VERI*FACTU» у лист покупцю, на сторінку подяки та в особистий кабінет.

Правила боротьби з фальсифікацією обліку (Real Decreto 1007/2023, Orden HAC/1177/2024) вимагають, щоб програма для виставлення рахунків створювала незмінний запис на кожен рахунок. У режимі VERI*FACTU такий запис одразу йде в AEAT, а покупець може перевірити рахунок за QR-кодом на сайті AEAT. Обовʼязок починає діяти з 1 січня 2027 року для компаній і з 1 липня 2027 року для решти (Real Decreto-ley 15/2025).

Що отримує адмін

  • Метабокс на сторінці замовлення — номер рахунку, статус у AEAT і дії: надіслати, виправити, анулювати (Pro).
  • Нотатки до замовлення — плагін пише в історію замовлення, який рахунок виставлено і що відповіла AEAT, включно з кодом помилки.
  • «Перевірити зʼєднання» — окрема кнопка, яка доводить, що AEAT приймає ваш сертифікат, і при цьому нічого не реєструє.
  • Тест і production окремо — свої ланцюжки записів і свої лічильники номерів, тож тестові рахунки не псують бойову нумерацію.

Як це працює — крок за кроком

  1. Замовлення переходить у статус, який ви обрали («Виконано» або «В обробці»).
  2. Плагін виставляє рахунок: бере наступний номер зі своєї серії (наприклад T2027-000001) і складає запис RegistroAlta — спрощений (F2) або, з Pro, повний (F1) з NIF покупця.
  3. Розбивка податків береться з того, що WooCommerce реально нарахував: іспанський ПДВ (S1), експорт без податку (звільнено, режим 02), дистанційні продажі в ЄС через OSS (N2, режим 17), внутрішні рядки за нульовою ставкою. Для Канарських островів тип податку перемикається на IGIC у налаштуваннях.
  4. Запис зчіплюється хешем SHA-256 з попереднім записом магазину — точно за специфікацією AEAT. Ланцюжок захищений блокуванням, тож два одночасні замовлення не зламають порядок.
  5. Запис іде в AEAT по SOAP вашим електронним сертифікатом. Плагін дотримується часу очікування між надсиланнями, який вказує сама AEAT.
  6. Відповідь розкладається по записах: прийнято, прийнято з помилками, відхилено — з кодом помилки AEAT у журналі й у нотатках замовлення.
  7. Якщо AEAT недоступна, запис лишається в черзі й повторюється з наростаючими паузами (2, 4, 8 хвилин… до 256 хвилин). Рахунок і його QR-код дійсні з моменту створення запису.
  8. Відхилений запис виправляється одним кліком: плагін створює новий зчеплений запис з прапорцями Subsanacion і RechazoPrevio саме такими, яких чекає AEAT. Записи ніколи не редагуються заднім числом — виправлення завжди новий запис.

Що під капотом

  • Хеш рівно за специфікацією AEAT (документ про huella, v0.1.2): порядок полів, форматування сум, SHA-256 у верхньому регістрі. Усі три приклади з документа AEAT відтворюються байт у байт.
  • Ланцюжок під замком: номер і попередній хеш беруться під блокуванням на рівні БД, тому паралельні замовлення не дають дірки чи дублі в ланцюжку.
  • Записи незмінні: жоден запис не редагується після створення. Виправлення, коригувальний рахунок і анулювання — це завжди новий запис у ланцюжку.
  • QR за документом AEAT (v0.5.0): власний енкодер ISO 18004 без зовнішніх сервісів, URL ValidarQR на потрібному середовищі, картинка в листах віддається за підписаним URL — чужий рахунок за посиланням не відкрити.
  • Сертифікат: приватний ключ перешифровується ключем, похідним від солей вашого сайту, і лежить у теці з випадковою назвою. Надійніший варіант — константи в wp-config.php і файли поза веб-корінням; плагін підтримує обидва.
  • Черга, яка не губить записи: до 1000 записів за одне надсилання, повтори з наростанням, окремий банер в адмінці, якщо доставка стабільно не йде.
  • Мок AEAT для стендів: константа CCVF_AEAT_MOCK дає відповіді за схемою AEAT, нічого не залишає сайт. У бойовому режимі ігнорується.
  • Видалення не стирає податкові дані: записи лишаються після деінсталяції, якщо ви свідомо не задали CCVF_DELETE_DATA.

Як встановити

  1. Плагіни → Додати новий → Завантажити плагін: оберіть catcode-verifactu-for-woocommerce-1.0.0.zip і активуйте.
  2. WooCommerce → Verifactu → Налаштування: NIF і назва емітента точно так, як зареєстровано в AEAT, статус замовлення для виставлення рахунку, серії рахунків.
  3. Завантажте сертифікат .p12/.pfx з паролем або пропишіть CCVF_CERT_FILE, CCVF_KEY_FILE і CCVF_CERT_PASSWORD у wp-config.php.
  4. Лишаючись на «Тестовому порталі», натисніть «Перевірити зʼєднання», увімкніть «Створювати записи Verifactu» і проведіть тестове замовлення.
  5. Коли тестові записи приймаються, переходьте на production.
  6. Для Pro: вставте ліцензійний ключ з листа після оплати у вкладку «Ліцензія» або запустіть 7-денний тріал.

Питання
про модуль

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

@catcode_support Налаштування, сумісність, активація
Який сертифікат потрібен?

Електронний сертифікат емітента (компанії або самозайнятої особи), його уповноваженого представника або сертифікат електронної печатки (sello). Той самий сертифікат підходить і для тестового порталу AEAT.

Чи можна перевірити роботу без сертифіката?

Так, на тестовому сайті: задайте CCVF_AEAT_MOCK у wp-config.php. Жоден запит не залишить сайт, а відповіді йдуть за схемою AEAT. У бойовому режимі константа ігнорується.

Що буде, якщо AEAT недоступна?

Записи лишаються в черзі й повторюються автоматично з наростаючими паузами. Рахунок і його QR-код дійсні з моменту створення запису, а не з моменту відповіді податкової.

AEAT відхилила запис — що робити?

Відкрийте WooCommerce → Verifactu, прочитайте помилку, виправте дані замовлення чи налаштування і натисніть «Виправити й надіслати». Новий запис з тим самим номером рахунку зчіплюється в ланцюжок і йде в AEAT.

Чи замінює це програму мого бухгалтера?

Ні. Плагін створює й подає записи про рахунки вашого інтернет-магазину. Типові податкові налаштування підходять звичайному магазину на материковій Іспанії — звірте їх зі своїм податковим консультантом.

Чи безпечно тримати сертифікат на сервері?

Приватний ключ зберігається перешифрованим, у теці з випадковою назвою під uploads. На nginx додайте правило, що забороняє wp-content/uploads/ccvf-*, або тримайте файли поза веб-корінням через константи в wp-config.php.

Що як я не хочу платити за Pro?

Спрощені рахунки F2, ланцюжок, надсилання в AEAT, виправлення відхилених записів і QR-код лишаються безкоштовними без обмеження в часі.

Не той варіант, що шукаєте?

Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

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