
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
Algunos campos del XML
-
- Mensajes: 6
- Registrado: Lun Ago 30, 2010 3:24 pm
Algunos campos del XML
Hola, tengo una duda sobre los datos del XML ... veo 2 campos que no estoy del todo seguro como ponerlos, supongo lo siguiente
sello="uMdBnVYNkXyaLDCHNDCtcrrPZQMEnoXu9dQTVJcEAzaDlvatxHaSh9W7C36yVjALzylWq/f1Aq3BiFxxFtGCwVC7F5AMornrBUT6Cm8xXHiwKjwLH2py33j1QCGAgrHxjJ1hcrLzq+33nAn46C7hBgj93V9LJvyGW7BSKN2E9+E="
noCertificado="20001000000100000377"
¿SELLO, es el que genero usando .cer y .key y OpenSSL ?
¿NoCertificado, este campo no se si lo tendria que capturar o de donde sale?
¿Hay alguna especificacion de cada campo que sea mas clara que el propio XSD ?
sello="uMdBnVYNkXyaLDCHNDCtcrrPZQMEnoXu9dQTVJcEAzaDlvatxHaSh9W7C36yVjALzylWq/f1Aq3BiFxxFtGCwVC7F5AMornrBUT6Cm8xXHiwKjwLH2py33j1QCGAgrHxjJ1hcrLzq+33nAn46C7hBgj93V9LJvyGW7BSKN2E9+E="
noCertificado="20001000000100000377"
¿SELLO, es el que genero usando .cer y .key y OpenSSL ?
¿NoCertificado, este campo no se si lo tendria que capturar o de donde sale?
¿Hay alguna especificacion de cada campo que sea mas clara que el propio XSD ?
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Algunos campos del XML
Si, el sello sale usando UNICAMENTE el Key, la cadena original y OpenSSL
El NoCertificado se obtiene del CER, tambien se obtiene usando OpenSSL
Se me olvidaba, ESTAS PROGRAMANDO LA FACTURA ELECTRONICA Y NO TIENES EL ANEXO 20??
DEBES BAJARLO, IMPRIMIRLO Y PONERLO BAJO TU ALMOHADA
Mmmh, no tengo a la mano la liga, busca aqui en el foro "Anexo 20" seguro apareceran las entradas que he puesto con la liga de donde debes bajarlo.........
El NoCertificado se obtiene del CER, tambien se obtiene usando OpenSSL
Se me olvidaba, ESTAS PROGRAMANDO LA FACTURA ELECTRONICA Y NO TIENES EL ANEXO 20??
DEBES BAJARLO, IMPRIMIRLO Y PONERLO BAJO TU ALMOHADA

Mmmh, no tengo a la mano la liga, busca aqui en el foro "Anexo 20" seguro apareceran las entradas que he puesto con la liga de donde debes bajarlo.........
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Algunos campos del XML
Hola...
Como ya te comento el compañero Dado, el anexo 20 debe ser tu biblia de aquí en adelante: ftp://ftp2.sat.gob.mx/asistencia_servic ... MF2010.pdf
Los pasos simplificados para que te vayas dando una idea son:
Saludos
Como ya te comento el compañero Dado, el anexo 20 debe ser tu biblia de aquí en adelante: ftp://ftp2.sat.gob.mx/asistencia_servic ... MF2010.pdf
Los pasos simplificados para que te vayas dando una idea son:
- Generar el archivo XML de acuerdo al anexo 20
- Generar la cadena original a partir del XML (esto es importante)
- Obtener el sello digital a partir de la cadena original
- Agregar el sello digital al archivo original XML
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 6
- Registrado: Lun Ago 30, 2010 3:24 pm
Re: Algunos campos del XML
mauricio escribió:Hola...
Como ya te comento el compañero Dado, el anexo 20 debe ser tu biblia de aquí en adelante: ftp://ftp2.sat.gob.mx/asistencia_servic ... MF2010.pdf
Los pasos simplificados para que te vayas dando una idea son:Cualquier duda vela publicando en el subforo correcto de estos foros para poder ayudarte.
- Generar el archivo XML de acuerdo al anexo 20
- Generar la cadena original a partir del XML (esto es importante)
- Obtener el sello digital a partir de la cadena original
- Agregar el sello digital al archivo original XML
Saludos
Hola dado, mauricio:
Gracias por sus respuestas, si tengo el Anexo20 solo que no me ha quedado del todo claro la relacion entre cada inciso del anexo (A....F) con estos pasos que comenta mauricio ya me queda un poco mas claro, solo que tengo una duda respecto a la cadena original ya que dado comenta que el sello que lleva el XML se genera a partir de la cadena original, pero por lo que leo aqui, la cadena original se genera a partir del XML , entonces ya no entendi muy bien que es primero o que debo generar primero para obtener el sello

Gracias de antemano por su ayuda
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Algunos campos del XML
La lista de pasos de Mauricio esta mejor redactada que mi respuesta, hazle caso a esa lista :
Los pasos simplificados para que te vayas dando una idea son:
Generar el archivo XML de acuerdo al anexo 20
Generar la cadena original a partir del XML (esto es importante)
Obtener el sello digital a partir de la cadena original
Agregar el sello digital al archivo original XML
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Algunos campos del XML
Hola...
Es sencillo...
Generas el XML, puedes agregar el atributo sello, pero estará vacío, te muestro una factura que ya he validado:
A partir de este archivo XML, generas la cadena original, hay muchas formas, yo uso la siguiente:
Donde:
cadenaoriginal.xslt = archivo proporcionado por el SAT específicamente para general la cadena original, lo puedes descargar desde aquí: http://www.sat.gob.mx/sitio_internet/cf ... l_2_0.xslt
factura.xml = archivo que has generado aun sin el sello digital
cadenaoriginal.txt = archivo generado con la cadena original
El siguiente paso es general el sello a partir de la cadena original, firmarlo con tu archivo KEY y pasarlo a base64:
Nota que hago uso del archivo PEM que previamente debes de haber generado a partir de tu KEY:
Por ultimo, agregamos el sello digital al archivo original XML, con lo cual tenemos nuestra factura completa....
Todo esto lo hago desde Linux y por código (uso Python), estoy documentando todo para publicarlo muy pronto y empiezo a hacer pruebas para hacerlo desde Windows, usa estos foros para publicar tus dudas...
Saludos
Es sencillo...
Generas el XML, puedes agregar el atributo sello, pero estará vacío, te muestro una factura que ya he validado:
Código: Seleccionar todo
<?xml version='1.0' encoding='UTF-8'?>
<Comprobante folio='1' xmlns='http://www.sat.gob.mx/cfd/2' sello='' noAprobacion='72293' subTotal='4200.00' fecha='2010-08-09T23:56:40' formaDePago='Esta factura se paga en una sola exhibición' anoAprobacion='2010' version='2.0' tipoDeComprobante='ingreso' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' total='4872.00' xsi:schemaLocation='http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd' noCertificado='00001000000101721765'>
<Emisor rfc='BASM740115RW0' nombre='Mauricio Baeza Servín'>
<DomicilioFiscal colonia='Culhuacan CTM Obrero Seccion 7' calle='Carlota Armero' pais='México' codigoPostal='04489' noExterior='1000-5' estado='D.F.' municipio='Coyoacan'/>
<ExpedidoEn colonia='Culhuacan CTM Obrero Seccion 7' calle='Carlota Armero' pais='México' codigoPostal='04489' noExterior='1000-5' estado='D.F.' municipio='Coyoacan'/>
</Emisor>
<Receptor rfc='LME060310BQ3' nombre='Laetus México, S. de R.L. de C.V.'>
<Domicilio colonia='El Rosedal' calle='Pacifico' pais='México' codigoPostal='04300' noExterior='468-A' estado='D.F.' municipio='Coyoacan'/>
</Receptor>
<Conceptos>
<Concepto descripcion='Toner Q6470A de 6000 impresiones para impresora HP LaserJet' valorUnitario='2100.00' cantidad='2' importe='4200.00'/>
</Conceptos>
<Impuestos>
<Traslados>
<Traslado tasa='16.0' impuesto='IVA' importe='672.00'/>
</Traslados>
</Impuestos>
</Comprobante>
Código: Seleccionar todo
xsltproc cadenaoriginal.xslt factura.xml > cadenaoriginal.txt
cadenaoriginal.xslt = archivo proporcionado por el SAT específicamente para general la cadena original, lo puedes descargar desde aquí: http://www.sat.gob.mx/sitio_internet/cf ... l_2_0.xslt
factura.xml = archivo que has generado aun sin el sello digital
cadenaoriginal.txt = archivo generado con la cadena original
El siguiente paso es general el sello a partir de la cadena original, firmarlo con tu archivo KEY y pasarlo a base64:
Código: Seleccionar todo
openssl dgst -md5 -sign mau.pem cadenaoriginal.txt | openssl enc -base64 -A > sello.txt
Código: Seleccionar todo
openssl pkcs8 -inform DER -in archivo.key -passin pass:a0123456789 -out archivo.pem
Código: Seleccionar todo
<?xml version='1.0' encoding='UTF-8'?>
<Comprobante folio='1' xmlns='http://www.sat.gob.mx/cfd/2' sello='nsS+UnHUvqdf0EuKmOsxTtq0XpEQdGjw24XhKHDPSgbm/UzxiG01UUmWQSDhJBmKOTRzmo3FV6aKNkQMt/5D72PFED79dJV8EFuVP1v99GMrnoZJy5jn/HdEIyQ5DhusdSzsN0cVWeV/g32JBTlFhFtEiBBk6VpMFfoi9RiGcos=' noAprobacion='72293' subTotal='4200.00' fecha='2010-08-09T23:56:40' formaDePago='Esta factura se paga en una sola exhibición' anoAprobacion='2010' version='2.0' tipoDeComprobante='ingreso' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' total='4872.00' xsi:schemaLocation='http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd' noCertificado='00001000000101721765'>
<Emisor rfc='BASM740115RW0' nombre='Mauricio Baeza Servín'>
<DomicilioFiscal colonia='Culhuacan CTM Obrero Seccion 7' calle='Carlota Armero' pais='México' codigoPostal='04489' noExterior='1000-5' estado='D.F.' municipio='Coyoacan'/>
<ExpedidoEn colonia='Culhuacan CTM Obrero Seccion 7' calle='Carlota Armero' pais='México' codigoPostal='04489' noExterior='1000-5' estado='D.F.' municipio='Coyoacan'/>
</Emisor>
<Receptor rfc='LME060310BQ3' nombre='Laetus México, S. de R.L. de C.V.'>
<Domicilio colonia='El Rosedal' calle='Pacifico' pais='México' codigoPostal='04300' noExterior='468-A' estado='D.F.' municipio='Coyoacan'/>
</Receptor>
<Conceptos>
<Concepto descripcion='Toner Q6470A de 6000 impresiones para impresora HP LaserJet' valorUnitario='2100.00' cantidad='2' importe='4200.00'/>
</Conceptos>
<Impuestos>
<Traslados>
<Traslado tasa='16.0' impuesto='IVA' importe='672.00'/>
</Traslados>
</Impuestos>
</Comprobante>
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 6
- Registrado: Lun Ago 30, 2010 3:24 pm
Re: Algunos campos del XML
Muchas Gracias mauricio tu respuesta me ha aclarado muchas dudas, solo una ultima.. quiero crear una aplicacion, pero en una respuesta en otra parte de este foro me dicen que hacienda pide que los datos de la factura se tomen directamente de algun sistema , yo tenia pensando hacer un formulario de captura para que a partir de ahi se generara el XML , pero ahora ya no se si es posible o tengo que integrar algun sistema como SAE, CONTPAQ o EXCEL :S me podrias ayudar al respecto , saben algo al respecto ? que debo hacer 

- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Algunos campos del XML
Esa pregunta ya ha sido formulada (y contestada) dos veces :escomvicto escribió:Muchas Gracias mauricio tu respuesta me ha aclarado muchas dudas, solo una ultima.. quiero crear una aplicacion, pero en una respuesta en otra parte de este foro me dicen que hacienda pide que los datos de la factura se tomen directamente de algun sistema , yo tenia pensando hacer un formulario de captura para que a partir de ahi se generara el XML , pero ahora ya no se si es posible o tengo que integrar algun sistema como SAE, CONTPAQ o EXCEL :S me podrias ayudar al respecto , saben algo al respecto ? que debo hacer
http://www.validacfd.com/phpbb3/viewtop ... p=279#p279
http://www.validacfd.com/phpbb3/viewtop ... p=280#p280
Y como dice el dicho, "para la misma pregunta, la misma respuesta"........Si puedes hacer un formulario de captura, es mas, ese es el metodo primordial que se usa.
El orden que debes seguir es
1. crear la factura a partir de un formulario
2. hacer el asiento contable en un sistema electronico
Ahora, el orden es por simple logica, no puedes hacer un asiento contable (registrarlo en contabilidad) si no has hecho la factura, para hacer el registro contable necesitas saber el numero de folio, el nombre del cliente, el total, etc y esos datos se toman de la factura, asi que primero facturas y luego registras contablemente.
Dicho de otra forma, no puedes tomar los datos del SAE o Contpaq o Excel y luego hacer la factura PERO por pura logica, no porque el SAT lo establezca asi.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Algunos campos del XML
Hola...
Complementando la respuesta acertada del compañero Dado...
Tomas los datos de un sistema, puede referirse a tomar, por ejemplo, el cliente y los artículos a facturar de una simple hoja de Excel o de cualquier sistema que implementes, o de plano capturarlos cada ves que haces una factura (he visto gente que lo hace), después, con estos datos, generas la factura completa (importes, totales, etc..), la cual, debes de guardar en tu sistema, de nuevo puede ser una simple hoja de Excel. Toma en cuenta que la autoridad pide que a más tardar en 24 hr después de hacer la factura, esta tiene que ser contabilizada en tu sistema contable, pero esto ya es otro tema...
Saludos
Complementando la respuesta acertada del compañero Dado...
Tomas los datos de un sistema, puede referirse a tomar, por ejemplo, el cliente y los artículos a facturar de una simple hoja de Excel o de cualquier sistema que implementes, o de plano capturarlos cada ves que haces una factura (he visto gente que lo hace), después, con estos datos, generas la factura completa (importes, totales, etc..), la cual, debes de guardar en tu sistema, de nuevo puede ser una simple hoja de Excel. Toma en cuenta que la autoridad pide que a más tardar en 24 hr después de hacer la factura, esta tiene que ser contabilizada en tu sistema contable, pero esto ya es otro tema...
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 3
- Registrado: Mié Nov 10, 2010 1:43 pm
Re: Algunos campos del XML
Disculpa, en que generas el archivo???
xsltproc
Como se usa esto? yo uso el Windows XP, no entiendo en que lo generas, es linux o en donde ejecuto este comando?
Gracias
Disculpa, ya que que es linux....
Ojala tengas una version para windows, si tienes algo ojala lo puedas publicar... estoy trabadisimo en esto.
xsltproc
Como se usa esto? yo uso el Windows XP, no entiendo en que lo generas, es linux o en donde ejecuto este comando?
Gracias
Disculpa, ya que que es linux....
Ojala tengas una version para windows, si tienes algo ojala lo puedas publicar... estoy trabadisimo en esto.
Última edición por jorgeroele el Jue Nov 11, 2010 11:09 am, editado 1 vez en total.