PHPackages                             nowo-tech/verifactu-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. nowo-tech/verifactu-bundle

ActiveSymfony-bundle

nowo-tech/verifactu-bundle
==========================

Symfony bundle for Spanish Veri\*Factu (RD 1007/2023) billing record compliance: SHA-256 hash chains, XML generation, QR codes, and AEAT submission hooks

v1.0.5(2w ago)04MITPHPPHP &gt;=8.1 &lt;8.6CI passing

Since Jul 18Pushed 1w agoCompare

[ Source](https://github.com/nowo-tech/VerifactuBundle)[ Packagist](https://packagist.org/packages/nowo-tech/verifactu-bundle)[ Docs](https://github.com/nowo-tech/VerifactuBundle)[ GitHub Sponsors](https://github.com/HecFranco)[ RSS](/packages/nowo-tech-verifactu-bundle/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (8)Dependencies (46)Versions (7)Used By (0)

VerifactuBundle
===============

[](#verifactubundle)

[![CI](https://github.com/nowo-tech/VerifactuBundle/actions/workflows/ci.yml/badge.svg)](https://github.com/nowo-tech/VerifactuBundle/actions/workflows/ci.yml) [![Packagist Version](https://camo.githubusercontent.com/911ce9e065549d6adb6282f5706a36b29c686d9502174e520e18caacae2de75d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f776f2d746563682f7665726966616374752d62756e646c652e7376673f7374796c653d666c6174)](https://packagist.org/packages/nowo-tech/verifactu-bundle) [![Packagist Downloads](https://camo.githubusercontent.com/d2ba8d52f9d9de6cfb06d4bc34b925c7bc04c7985046eb603aba2a690f098245/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e6f776f2d746563682f7665726966616374752d62756e646c652e737667)](https://packagist.org/packages/nowo-tech/verifactu-bundle) [![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE) [![PHP](https://camo.githubusercontent.com/3f99b197569aa2dcfbefff17ecc68d74098e7f929d8b52dc40f3a898f740eae1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d3737374242343f6c6f676f3d706870)](https://php.net) [![Symfony](https://camo.githubusercontent.com/b43d1688d52c63d771fe5f9f56c9120e3a4e9601779936d3dc0a436df1f874c3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53796d666f6e792d362e30253242253230253743253230372e34253242253230253743253230382e30253230253743253230382e312532422d3030303030303f6c6f676f3d73796d666f6e79)](https://symfony.com) [![GitHub stars](https://camo.githubusercontent.com/063589da069061ed9c8d946a2c529cec3ec3fa47c3251cd4592d88cb1e6c271b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6e6f776f2d746563682f56657269666163747542756e646c652e7376673f7374796c653d736f6369616c266c6162656c3d53746172)](https://github.com/nowo-tech/VerifactuBundle) [![Coverage](https://camo.githubusercontent.com/cd0704b56f1d56def350b6d0164316307bb2f47834225fd85443b6fb0059bc73/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f7665726167652d3130302532352d627269676874677265656e)](#tests-and-coverage)

> ⭐ **Found this useful?** Give it a star on GitHub! It helps us maintain and improve the project.

**Symfony bundle for Spanish Veri\*Factu compliance (RD 1007/2023)** — SHA-256 hash chains, billing record XML, AEAT QR codes, validation, and submission hooks for SIF-compatible invoicing systems.

[![FrankenPHP Friendly Worker Mode](docs/images/frankenphp-friendly.png)](docs/images/frankenphp-friendly.png)

This bundle is **FrankenPHP worker mode friendly**.

Features
--------

[](#features)

- ✅ **Hash chain (SHA-256)**: AEAT-compliant fingerprint calculation and encadenamiento
- ✅ **Billing record XML**: Registro de facturación generation (Alta / Anulación)
- ✅ **QR codes**: ISO/IEC 18004 QR with AEAT verification URL and mandatory legend
- ✅ **Business rules validation**: NIF/CIF/NIE, dates, amounts, invoice types
- ✅ **Symfony events**: Before/after generation and AEAT submission hooks
- ✅ **Console commands**: Validate records and verify hashes from CLI
- ✅ **Twig helpers**: `verifactu_qr_data_uri`, `verifactu_qr_url`, `verifactu_legend`
- ✅ **Pluggable storage**: `HashChainRepositoryInterface` with in-memory and Doctrine backends
- ✅ **AEAT SOAP client**: mTLS submission to sandbox/production with client certificate
- ✅ **XAdES signing**: No-Veri\*Factu modalidad with PKCS#12/PEM certificates
- ✅ **XSD validation**: Official AEAT schemas shipped with the bundle
- ✅ **Nowo integration**: `InvoiceDraft` + `InvoiceToBillingRecordMapper` for ERP adoption
- ✅ **Sandbox CLI**: `nowo:verifactu:submit-sandbox` smoke-test command
- ✅ **Veri*Factu and No-Veri*Factu modes**: Configuration-driven behaviour
- ✅ **i18n**: Validation messages in 7 locales (en, es, it, fr, pt, de, nl)

Installation
------------

[](#installation)

```
composer require nowo-tech/verifactu-bundle
```

Register the bundle in `config/bundles.php`:

```
