Facturae-PHP es un paquete escrito puramente en PHP que permite generar facturas electrónicas siguiendo el formato estructurado Facturae e incluso añadirlas firma electrónica XAdES y sellado de tiempo sin necesidad de ninguna librería o clase adicional.
En apenas 25 líneas de código y con un tiempo de ejecución inferior a 0,4 µs es posible generar, firmar y exportar una factura electrónica totalmente válida:
$fac = new Facturae();
$fac->setNumber('FAC201804', '123');
$fac->setIssueDate('2018-04-01');
$fac->setSeller(new FacturaeParty([
"taxNumber" => "A00000000",
"name" => "Perico de los Palotes S.A.",
"address" => "C/ Falsa, 123",
"postCode" => "123456",
"town" => "Madrid",
"province" => "Madrid"
]));
$fac->setBuyer(new FacturaeParty([
"isLegalEntity" => false,
"taxNumber" => "00000000A",
"name" => "Antonio",
"firstSurname" => "García",
"lastSurname" => "Pérez",
"address" => "Avda. Mayor, 7",
"postCode" => "654321",
"town" => "Madrid",
"province" => "Madrid"
]));
$fac->addItem("Lámpara de pie", 20.14, 3, Facturae::TAX_IVA, 21);
$fac->sign("certificado.pfx", NULL, "passphrase");
$fac->export("mi-factura.xsig");
- PHP 5.6 o superior
- OpenSSL (solo para firmar facturas)
- Generación de facturas 100% conformes con la Ley 25/2013 del 27 de diciembre listas para enviar a FACe
- Exportación según las versiones 3.2, 3.2.1 y 3.2.2 de Facturae
- Firmado de acuerdo a la política de firma de Facturae 3.1 basada en XAdES
- Sellado de tiempo (TSA)
- 1. Introducción: instalación y uso básico
- 2. Entidades: compradores, vendedores y centros
- 3. Líneas de producto
- 4. Propiedades de una factura
- 5. Firma electrónica y sellado de tiempo
- Otros métodos
- Anexo: tabla de constantes y validadores
Facturae-PHP se encuentra bajo licencia MIT. Eso implica que puedes utilizar este paquete en cualquier proyecto (incluso con fines comerciales), siempre y cuando hagas referencia al uso y autoría de la misma.