PHPackages                             josemmo/verifactu-php - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. josemmo/verifactu-php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

josemmo/verifactu-php
=====================

Librería para la implementación del sistema VERI\*FACTU de la AEAT española

v0.3.4(2mo ago)947.1k↓12.9%45[1 issues](https://github.com/josemmo/Verifactu-PHP/issues)1MITPHPPHP &gt;=8.2CI passing

Since Jun 21Pushed 2mo ago14 watchersCompare

[ Source](https://github.com/josemmo/Verifactu-PHP)[ Packagist](https://packagist.org/packages/josemmo/verifactu-php)[ Docs](https://github.com/josemmo/Verifactu-PHP)[ GitHub Sponsors](https://github.com/josemmo)[ RSS](/packages/josemmo-verifactu-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (12)Used By (1)

Verifactu-PHP
=============

[](#verifactu-php)

[![CI](https://github.com/josemmo/Verifactu-PHP/workflows/CI/badge.svg)](https://github.com/josemmo/Verifactu-PHP/actions)[![Última versión estable](https://camo.githubusercontent.com/0b6a1a26ffedfd42c51c993d210bd97b8ef40801b797af81a6b8dc39875a9260/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a6f73656d6d6f2f7665726966616374752d706870)](https://packagist.org/packages/josemmo/verifactu-php)[![Versión de PHP](https://camo.githubusercontent.com/8f0af9c5395ae4ef8ba7a7ad65fa61c44927ea9c3eb3be91a13c678254f29bd4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d383839324246)](composer.json)[![Documentación](https://camo.githubusercontent.com/3d7ade9635b634ef7989c8040782b3b39292eafe4c719bb48b2bb9ff43506865/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f6e6c696e652d646f63732d626c756576696f6c6574)](https://josemmo.github.io/Verifactu-PHP/)

Verifactu-PHP es una librería sencilla escrita en PHP que permite generar registros de facturación según el sistema [VERI\*FACTU](https://sede.agenciatributaria.gob.es/Sede/iva/sistemas-informaticos-facturacion-verifactu.html) y posteriormente enviarlos telemáticamente a la Agencia Tributaria (AEAT).

Instalación
-----------

[](#instalación)

Asegúrate de que tu entorno de ejecución cumple los siguientes requisitos:

- PHP 8.2 o superior
- libXML

Puedes instalar la librería utilizando el gestor de dependencias [Composer](https://getcomposer.org/):

```
composer require josemmo/verifactu-php
```

Ejemplo de uso
--------------

[](#ejemplo-de-uso)

```
use josemmo\Verifactu\Models\ComputerSystem;
use josemmo\Verifactu\Models\Records\BreakdownDetails;
use josemmo\Verifactu\Models\Records\FiscalIdentifier;
use josemmo\Verifactu\Models\Records\InvoiceIdentifier;
use josemmo\Verifactu\Models\Records\InvoiceType;
use josemmo\Verifactu\Models\Records\OperationType;
use josemmo\Verifactu\Models\Records\RegimeType;
use josemmo\Verifactu\Models\Records\RegistrationRecord;
use josemmo\Verifactu\Models\Records\TaxType;
use josemmo\Verifactu\Models\Responses\ResponseStatus;
use josemmo\Verifactu\Services\AeatClient;

require __DIR__ . '/vendor/autoload.php';

// Genera un registro de facturación
$record = new RegistrationRecord();
$record->invoiceId = new InvoiceIdentifier();
$record->invoiceId->issuerId = 'A00000000';
$record->invoiceId->invoiceNumber = 'TICKET-2025-06-001';
$record->invoiceId->issueDate = new DateTimeImmutable('2025-06-10');
$record->issuerName = 'Perico de los Palotes, S.A.';
$record->invoiceType = InvoiceType::Simplificada;
$record->description = 'Factura simplificada de prueba';
$record->breakdown[0] = new BreakdownDetails();
$record->breakdown[0]->taxType = TaxType::IVA;
$record->breakdown[0]->regimeType = RegimeType::C01;
$record->breakdown[0]->operationType = OperationType::Subject;
$record->breakdown[0]->baseAmount = '10.00';
$record->breakdown[0]->taxRate = '21.00';
$record->breakdown[0]->taxAmount = '2.10';
$record->totalTaxAmount = '2.10';
$record->totalAmount = '12.10';
$record->previousInvoiceId = null; // primera factura de la cadena
$record->previousHash = null;      // primera factura de la cadena
$record->hashedAt = new DateTimeImmutable();
$record->hash = $record->calculateHash();
$record->validate();

// Define los datos del SIF
$system = new ComputerSystem();
$system->vendorName = 'Perico de los Palotes, S.A.';
$system->vendorNif = 'A00000000';
$system->name = 'Sistema Informático de Prueba';
$system->id = 'PA';
$system->version = '0.0.1';
$system->installationNumber = '1234';
$system->onlySupportsVerifactu = true;
$system->supportsMultipleTaxpayers = false;
$system->hasMultipleTaxpayers = false;
$system->validate();

// Crea un cliente para el webservice de la AEAT
$taxpayer = new FiscalIdentifier('Perico de los Palotes, S.A.', 'A00000000');
$client = new AeatClient($system, $taxpayer);
$client->setCertificate(__DIR__ . '/certificado.pfx', 'contraseña');
$client->setProduction(false); // send([$record])->wait();

// Obtiene la respuesta
if ($aeatResponse->status === ResponseStatus::Correct) {
    $csv = $aeatResponse->csv;
    echo "Registro aceptado sin errores: $csv\n";
} else {
    $errorDescription = $aeatResponse->items[0]->errorDescription;
    echo "Registro rechazado o aceptado con errores: $errorDescription\n";
}
```

Exención de responsabilidad
---------------------------

[](#exención-de-responsabilidad)

Esta librería se proporciona sin una declaración responsable al no ser un Sistema Informático de Facturación (SIF). Verifactu-PHP es una herramienta para crear SIFs, es tu responsabilidad auditar su código y usarlo de acuerdo a la normativa vigente.

Para más información, consulta el [Artículo 13 del RD 1007/2023](https://www.boe.es/buscar/act.php?id=BOE-A-2023-24840#a1-5).

Licencia
--------

[](#licencia)

Verifactu-PHP se encuentra bajo [licencia MIT](LICENSE). Puedes utilizar este paquete en cualquier proyecto (incluso con fines comerciales), siempre y cuando hagas referencia al uso y autoría de la misma.

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance83

Actively maintained with recent releases

Popularity42

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 91.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Recently: every ~32 days

Total

11

Last Release

86d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/35634d9b598826205bb05ac611f5e0b322a79a1fdec13168ca0019d584e87450?d=identicon)[josemmo](/maintainers/josemmo)

---

Top Contributors

[![josemmo](https://avatars.githubusercontent.com/u/4470267?v=4)](https://github.com/josemmo "josemmo (90 commits)")[![davidromani](https://avatars.githubusercontent.com/u/698779?v=4)](https://github.com/davidromani "davidromani (2 commits)")[![tonibagur](https://avatars.githubusercontent.com/u/3865473?v=4)](https://github.com/tonibagur "tonibagur (2 commits)")[![DrakkoFire](https://avatars.githubusercontent.com/u/43972954?v=4)](https://github.com/DrakkoFire "DrakkoFire (1 commits)")[![germanAwA](https://avatars.githubusercontent.com/u/232325703?v=4)](https://github.com/germanAwA "germanAwA (1 commits)")[![manelgavalda](https://avatars.githubusercontent.com/u/17626490?v=4)](https://github.com/manelgavalda "manelgavalda (1 commits)")[![mitoral](https://avatars.githubusercontent.com/u/72401394?v=4)](https://github.com/mitoral "mitoral (1 commits)")

---

Tags

aeatverifactusiiverifactuaeat

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/josemmo-verifactu-php/health.svg)

```
[![Health](https://phpackages.com/badges/josemmo-verifactu-php/health.svg)](https://phpackages.com/packages/josemmo-verifactu-php)
```

###  Alternatives

[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[libredte/libredte-lib-core

LibreDTE: Biblioteca PHP (Núcleo)

2082.7k](/packages/libredte-libredte-lib-core)[symfony/ux-cropperjs

Cropper.js integration for Symfony

19280.3k3](/packages/symfony-ux-cropperjs)[aeliot/todo-registrar

Register TODOs from source code in issue tracker

153.0k](/packages/aeliot-todo-registrar)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
