Escolar Documentos
Profissional Documentos
Cultura Documentos
Cadena Original
De acuerdo con el SAT la cadena original se entiende como:
"La secuencia de datos formada con la informacin contenida dentro de la factura electrnica, establecida en el Rubro C del Anexo 20 de la Resolucin Miscelnea Fiscal."
La cadena original se genera procesando la factura electrnica en formato .XML (o cualquier otro comprobante fiscal digital CFD) con una plantilla XSL o XSLT (es el mismo tipo de archivo, se le conoce como XSLT, pero se acostumbra dejar las extensiones de archivos con 3 letras por eso el XSL) que brinda el SAT de acuerdo a la versin de CFD que se quiera obtener. La cadena original es un elemento muy importante y delicado de el comprobante fiscal digital, en sta se incluye informacin que integra a la factura es por eso que su generacin debe ser con sumo cuidado y para esto es preferible usar herramientas previamente aprobadas como libreras (JAR o DLL). A continuacin se muestra un ejemplo de como obtener la cadena original usando los siguientes elementos que brinda el SAT:
cadenaoriginal_3_0.xslt ejemplo1 cfdv3.xml En caso de no encontrar los archivos, puede descargarlos haciendo click aqui
cadenaoriginal_3_2.xslt cfdv32.xsd
Resultado:
||3.0|2010-03-06T20:38:12|ingreso|PAGO EN UNA SOLA EXHIBICION|488.50|488.50|PPL961114GZ1|PHARMA PLUS SA DE CV|AV. RIO MIXCOAC|No. 140|ACACIAS|BENITO JUAREZ|MEXICO, D.F.|Mexico|03240|AV. UNIVERSIDAD|1858|OXTOPULCO|DISTRITO FEDERAL|Mexico|03910|PEPJ8001019Q8|JUAN PEREZ PEREZ|AV UNIVERSIDAD|16 EDF 3|DPTO 101|COPILCO UNIVERSIDAD|COYOACAN|DISTRITO FEDERAL|Mexico|04360|1.0|CAPSULAS|VIBRAMICINA 100MG
?
1 2 3
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
public static void main(String[] args StreamSource sourceXSL = new Str File("C:/SAT/cadenaoriginal_3_0.xslt")); StreamSource sourceXML = new Str File("C:/SAT/ejemplo1cfdv3.xml")); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(sourceXSL); OutputStream output = new ByteArrayOutputStream();
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
using using using using using System; System.Xml.XPath; System.Xml.Xsl; System.Xml; System.IO;
namespace pruebas { public class GeneradorCadenas { public GeneradorCadenas() { //Cargar el XML StreamReader reader = new StreamReader(@"C:\Users\Solucion\Factura_2319E_2012XPathDocument myXPathDoc = new XPathDocu
//Cargando el XSLT XslCompiledTransform myXslTrans = new Xs myXslTrans.Load(@"C:\Users\Solucion\cade StringWriter str = new StringWriter();
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
1.3.3. Herramienta
Generador de Cadena Original
sta herramienta toma una factura electrnica (CFD) (.xml) y obtiene su cadena original aplicando el XSLT que haya elegido en: Version de cadena
Modalidad "Generar", Procesa un XML previamente seleccionado, calcula su cadena original y la muestra Modalidad "Descargar", Procesa un XML previamente seleccionado, calcula su cadena original y descarga un archivo .txt con la cadena
XML: Versin de cadena (Si no se especifica Versin de Cadena, se tomar del archivo XML):
Generar Descargar