josemmo / facturae-php
Librería para la generación, firma y envío de facturas electrónicas
Installs: 265 255
Dependents: 1
Suggesters: 0
Security: 0
Stars: 227
Watchers: 30
Forks: 99
Open Issues: 3
Requires
- php: >=5.6
Requires (Dev)
Suggests
- ext-curl: For communicating with remote TSA Servers and SOAP Web Services
- ext-fileinfo: For getting MIME types when using FacturaeFile
- ext-openssl: For signing and timestamping both invoices and SOAP requests
- lib-libxml: For parsing SOAP XML responses for FACe and FACeB2B
This package is auto-updated.
Last update: 2024-12-07 16:25:11 UTC
README
Facturae-PHP es un paquete escrito puramente en PHP que permite generar facturas electrónicas siguiendo el formato estructurado Facturae, añadirlas firma electrónica XAdES y sellado de tiempo, e incluso enviarlas a FACe o FACeB2B 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" => "12345", "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" => "54321", "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");
También permite firmar facturas que hayan sido generadas con otro programa:
$signer = new FacturaeSigner(); $signer->loadPkcs12("certificado.pfx", "passphrase"); $xml = file_get_contents(__DIR__ . "/factura.xml"); $signedXml = $signer->sign($xml); file_put_contents(__DIR__ . "/factura.xsig", $signedXml);
Requisitos
- PHP 5.6 o superior
- OpenSSL (solo para firmar facturas)
- cURL (solo para timestamping y FACe / FACeB2B)
- libXML (solo para FACe y FACeB2B)
Características
- Generación de facturas 100% conformes con la Ley 25/2013 del 27 de diciembre
- Exportación según las versiones de formato 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 según el RFC3161
- Envío automatizado de facturas a FACe y FACeB2B 🔥
Usan Facturae-PHP
Estas son algunas de las organizaciones y soluciones software que usan Facturae-PHP o mantienen un fork interno basado en el código de la librería:
Licencia
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.