
Verifactu для WooCommerce — записи рахунків AEAT і податковий QR
Записи VERI*FACTU з ланцюжком SHA-256, надсилання в AEAT і податковий QR у листах. Pro — повні рахунки з NIF, коригувальні, анулювання, PDF, експорт.
- Сумісність
- WooCommerce 7.0+ · WordPress 6.2+ · PHP 7.4+
- Ліцензія
- один сайт, річна
- Тріал
- 7 днів, без картки, один на сайт
- Оновлено
- вересень 2026
Що є в Free,
а що дає Pro
Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.
Як це виглядає

Тріал стартує, коли ви попросите
Свіжий інстал — безкоштовна версія, нічого не вмикається само. Кнопка «Спробувати 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 і попереджає про це в налаштуваннях. Напишіть нам — підкажемо, як це налаштувати під вашу ситуацію.
Історія версій
Записи RegistroAlta на кожне оплачене замовлення, спрощені рахунки F2 з власними серіями, ланцюжок SHA-256 за специфікацією AEAT, надсилання SOAP з електронним сертифікатом, черга з…
Разом з Verifactu для WooCommerce купують
4 модулі одним замовленням — на 40% дешевше, ніж окремо


Nova Poshta Premium — Нова Пошта для WooCommerce

Mono Acquiring — оплата карткою monobank для WooCommerce

Telegram-сповіщення і Viber/SMS покупцям для WooCommerce
Повний опис модуля
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 окремо — свої ланцюжки записів і свої лічильники номерів, тож тестові рахунки не псують бойову нумерацію.
Як це працює — крок за кроком
- Замовлення переходить у статус, який ви обрали («Виконано» або «В обробці»).
- Плагін виставляє рахунок: бере наступний номер зі своєї серії (наприклад
T2027-000001) і складає записRegistroAlta— спрощений (F2) або, з Pro, повний (F1) з NIF покупця. - Розбивка податків береться з того, що WooCommerce реально нарахував: іспанський ПДВ (S1), експорт без податку (звільнено, режим 02), дистанційні продажі в ЄС через OSS (N2, режим 17), внутрішні рядки за нульовою ставкою. Для Канарських островів тип податку перемикається на IGIC у налаштуваннях.
- Запис зчіплюється хешем SHA-256 з попереднім записом магазину — точно за специфікацією AEAT. Ланцюжок захищений блокуванням, тож два одночасні замовлення не зламають порядок.
- Запис іде в AEAT по SOAP вашим електронним сертифікатом. Плагін дотримується часу очікування між надсиланнями, який вказує сама AEAT.
- Відповідь розкладається по записах: прийнято, прийнято з помилками, відхилено — з кодом помилки AEAT у журналі й у нотатках замовлення.
- Якщо AEAT недоступна, запис лишається в черзі й повторюється з наростаючими паузами (2, 4, 8 хвилин… до 256 хвилин). Рахунок і його QR-код дійсні з моменту створення запису.
- Відхилений запис виправляється одним кліком: плагін створює новий зчеплений запис з прапорцями
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.
Як встановити
- Плагіни → Додати новий → Завантажити плагін: оберіть
catcode-verifactu-for-woocommerce-1.0.0.zipі активуйте. - WooCommerce → Verifactu → Налаштування: NIF і назва емітента точно так, як зареєстровано в AEAT, статус замовлення для виставлення рахунку, серії рахунків.
- Завантажте сертифікат .p12/.pfx з паролем або пропишіть
CCVF_CERT_FILE,CCVF_KEY_FILEіCCVF_CERT_PASSWORDуwp-config.php. - Лишаючись на «Тестовому порталі», натисніть «Перевірити зʼєднання», увімкніть «Створювати записи Verifactu» і проведіть тестове замовлення.
- Коли тестові записи приймаються, переходьте на production.
- Для Pro: вставте ліцензійний ключ з листа після оплати у вкладку «Ліцензія» або запустіть 7-денний тріал.
Питання
про модуль
Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.
Який сертифікат потрібен?
Електронний сертифікат емітента (компанії або самозайнятої особи), його уповноваженого представника або сертифікат електронної печатки (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-код лишаються безкоштовними без обмеження в часі.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—