josemmo / Facturae-PHP

📝 Genera, firma, envía y recibe facturas electrónicas sin necesidad de ninguna librería adicional
https://josemmo.github.io/Facturae-PHP/
MIT License
211 stars 96 forks source link

importar xml? #132

Closed deook closed 1 year ago

deook commented 1 year ago

Se podría importar una factura? el xml? y poder extraer todos sus datos buyers, sellers, items...

Eseperio commented 1 year ago

La librería no lo soporta actualmente, pero si todos aportamos podríamos conseguirlo.

josemmo commented 1 year ago

Hola @deook,

Para leer una factura puedes usar las funciones que vienen con PHP para parsear XML. Por ejemplo, con este código puedes obtener el CIF del receptor:

$xml = file_get_contents(__DIR__ . '/factura.xsig');
$xml = new SimpleXMLElement($xml);

$taxNumber = (string) $xml->Parties->BuyerParty->TaxIdentification->TaxIdentificationNumber;
echo "Tax number is $taxNumber\n";

Como usar estas funciones es un poco verbose a veces, también puedes usar otra librería mía (un poquito de promoción) que simplifica el tratamiento de documentos XML.

Para instalar la librería:

composer require josemmo/uxml

Un ejemplo de uso:

$xml = file_get_contents(__DIR__ . '/salida-3.2.2-PKCS12.xsig');
$xml = \UXML\UXML::fromString($xml);

$taxNumber = $xml->get('Parties/BuyerParty/TaxIdentification/TaxIdentificationNumber')->asText();
echo "Tax number is $taxNumber\n";