Les comparto un método sencillo para validar un CFDI. Sé que les será de gran ayuda al momento de recibirlos o enviarlos para que su PAC los timbre.
Lo primero que necesitas es contar con tu archivo CFDI sin timbrar y con éste archivo que nos proporciona el SAT podrás ejecutarlo para leer el contenido del XML. Y al final con la clase gratuita de PHP XSLTProcessor podrás saber si es válido o no tu XML.
Los comandos que necesitas son:
mb_check_encoding($nombre_tu_xml, «UTF-8»); //validar que este en formato UTF-8
$tu_instancia_del_DOM->schemaValidate(‘UBICACION-DEL-cfdv3.xsd’)
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( ‘UBICACION-cadenaoriginal_3_0.xslt’, LIBXML_NOCDATA);
$cadena = $xslt->transformToXML( );
Para instalar la clase XSLTProcessor solamente necesitas ejecutar en consola el siguiente comando:
apt-get install php5-xsl
No olvides que el SAT también proporciona su lista de validadores para aquellos que no son desarrolladores. De cualquier forma puedes consultar todas mis memorias de Facturación Electrónica entrando en el enlace
Cualquier duda en los comentarios.
Hola que tal, quiseira ver si me puedes ayudar con una duda… tengo un sistema de inventarios hecho en Java con NetBeans, ahora es necesario que le implemente la factiracion electronica, la cuestion es que no sé cómo generar los XML que piden el anexo 20 del SAT que programas puedo usar? Gracias
Validador gratuito y muy completo