Skip to content

SergioFloresG/sat-cadenaoriginal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mrgenis/sat-cadenaoriginal

Latest Version Build Status

Clase para generar la cadena original de un CFDI v3.3

Instalar

Puedes instalar este paquete via composer.

composer require mrgenis/sat-cadenaoriginal

Usar

Se envia la cadena de texto del CFDI XML 3.3 y 4.0

// Versión de CFDI 3.3
MrGenis\Sat\CadenaOriginal33::default_xslt_directory('/absolute-directory/to-store-xslt-files');
MrGenis\Sat\CadenaOriginal33::cadenaOriginal($xml);

// Versión de CFDI 4.0
MrGenis\Sat\CadenaOriginal40::default_xslt_directory('/absolute-directory/to-store-xslt-files');
MrGenis\Sat\CadenaOriginal40::cadenaOriginal($xml);

Xml como texto

$xml = <<< EOF
<?xml version="1.0" encoding="utf-8" ?>
<cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd"
      Version="3.3" Folio="FOL123456" Fecha="2017-05-04T09:36:11"
      FormaPago="01"
      Sello=""
      NoCertificado=""
      Certificado=""
      CondicionesDePago="CondicionesDePago" SubTotal="1000.00" Descuento="100.00" Moneda="MXN"
      TipoCambio="1" Total="900.00" TipoDeComprobante="I" MetodoPago="PUE" LugarExpedicion="72000"
      xmlns:cfdi="http://www.sat.gob.mx/cfd/3">
      
  <cfdi:Emisor Rfc="TEST010204002" Nombre="ETHAN HUNT" RegimenFiscal="601"/>
  <cfdi:Receptor Rfc="TEST010203001" Nombre="JAMES BOND 007" UsoCFDI="G02"/>
  <cfdi:Conceptos>
  ...
EOF;

use MrGenis\Sat\CadenaOriginal33;
$cadena = CadenaOriginal33::cadenaOriginal($xml);

DOMDocument

$dom = new \DOMDocument();
$dom->load('documento.xml');

use MrGenis\Sat\CadenaOriginal33;
$cadena = CadenaOriginal33::cadenaOriginal($dom);

SimpleXml

$dom = simplexml_load_file('documento.xml');

use MrGenis\Sat\CadenaOriginal33;
$cadena = CadenaOriginal33::cadenaOriginal($dom);

Test

docker run --rm -it \
  -v "$PWD":/usr/src/app \
  thecodingmachine/php:7.4-v4-cli bash -c \
  "composer install && ./vendor/bin/phpunit --configuration test/phpunit.xml"

Licencia

MIT License (MIT). Ver archivo de licencia para mas información.

About

Clase para generar la cadena original de un CFDI v3.3

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages