
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
.
Iniciando desde Cero la creacion de CFDI
-
- Mensajes: 15
- Registrado: Mar Jul 31, 2012 12:07 pm
Iniciando desde Cero la creacion de CFDI
Hola buenas tardes
Estoy iniciando con la generación de facturas electronicas he visto que existe dos formas CFD Y CFDI, la verdad ya me confundi un poquito. Lo que necesito es saber si ya existe un foro donde indiquen los pasos a seguir para la creación de estas facturas. Por lo que tengo entendido lo que se necesita es lo siguiente:
1 Cadena original
2 Hacer digestion de la cadena con MD5 o SHA1?
3 crear el sello con la digestion de la cadena y el archivo .pem
4 convertir sello a B64
5 crear XML
Me podrían ayudar por favor si estoy en lo correcto y que otros pasos necesito para generar la factura y posteriormente el timbrado por las PAC.
De antemano gracias.
Estoy iniciando con la generación de facturas electronicas he visto que existe dos formas CFD Y CFDI, la verdad ya me confundi un poquito. Lo que necesito es saber si ya existe un foro donde indiquen los pasos a seguir para la creación de estas facturas. Por lo que tengo entendido lo que se necesita es lo siguiente:
1 Cadena original
2 Hacer digestion de la cadena con MD5 o SHA1?
3 crear el sello con la digestion de la cadena y el archivo .pem
4 convertir sello a B64
5 crear XML
Me podrían ayudar por favor si estoy en lo correcto y que otros pasos necesito para generar la factura y posteriormente el timbrado por las PAC.
De antemano gracias.
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Iniciando desde Cero la creacion de CFDI
Casi, solo que el primer paso debe ser el XML, asi :
0 crear XML
1 Cadena original
2 Hacer digestion de la cadena con SHA1
3 crear el sello con la digestion de la cadena y el archivo .pem
4 convertir sello a B64
5. insertar el sello en el XML
0 crear XML
1 Cadena original
2 Hacer digestion de la cadena con SHA1
3 crear el sello con la digestion de la cadena y el archivo .pem
4 convertir sello a B64
5. insertar el sello en el XML
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 15
- Registrado: Mar Jul 31, 2012 12:07 pm
Re: Iniciando desde Cero la creacion de CFDI
Muchas gracias por su información voy a iniciar con este proceso de generar facuturas electrónicas, haber que tal me va.
Gracias y saludos cordiales,
Gracias y saludos cordiales,
-
- Mensajes: 288
- Registrado: Jue Ago 04, 2011 8:41 pm
Re: Iniciando desde Cero la creacion de CFDI
Te voy a compartir algo que a mi me sirvió para iniciar con la factura electrónica.
Es un documento que, aunque tiene un par de años, todavía está vigente la mayoría, porque lo que ha cambiado de entonces acá es que se usa el hash SHA-1 y no el MD5, además de las diferencias entre CFD y CFDi.
Un HASH es un algoritmo que te puede recordar el de un dígito verificador. Se toma un texto de casi cualquier longitud (desde 0 en adelante hasta varios miles de millones) y te genera SIEMPRE una cadena de 160 bits (20 bytes) que garantiza ser diferente para cada diferente entrada (bueno, CASI es perfecto). Con eso se garantiza que el original no se ha alterado.
La diferencia entre CFD y CFDi es que el primero le llaman "por medios propios" y las empresas pudieron optar por ese método hasta el 12 de Dic. del 2010. La empresa genera su propia factura electrónica CFD y a fin de mes le avisa al SAT, mediante reporte, lo que facturó. Los que iniciaron con la factura a partir del 2011, deben usar CFDi en donde la principal diferencia es que la factura debe ser certificada (o timbrada, como se le dice) por un tercero llamado PAC. Haces la factura, luego, a través de un servicio Web (Web Services Security) lo mandas con el PAC, que te regresa un segundo sello y un número de 32 caracteres (más 4 guiones, para ser 36) que será el folio oficial de la factura. Gracias al PAC, ya no tienes que enviar el reporte mensual.
Espero que este archivo te sirva para iniciar. Léelo y luego comenta qué tal te ha ido.
¡Saludos!
El archivo estará por un par de semanas aquí: RecetaCFD
Es un documento que, aunque tiene un par de años, todavía está vigente la mayoría, porque lo que ha cambiado de entonces acá es que se usa el hash SHA-1 y no el MD5, además de las diferencias entre CFD y CFDi.
Un HASH es un algoritmo que te puede recordar el de un dígito verificador. Se toma un texto de casi cualquier longitud (desde 0 en adelante hasta varios miles de millones) y te genera SIEMPRE una cadena de 160 bits (20 bytes) que garantiza ser diferente para cada diferente entrada (bueno, CASI es perfecto). Con eso se garantiza que el original no se ha alterado.
La diferencia entre CFD y CFDi es que el primero le llaman "por medios propios" y las empresas pudieron optar por ese método hasta el 12 de Dic. del 2010. La empresa genera su propia factura electrónica CFD y a fin de mes le avisa al SAT, mediante reporte, lo que facturó. Los que iniciaron con la factura a partir del 2011, deben usar CFDi en donde la principal diferencia es que la factura debe ser certificada (o timbrada, como se le dice) por un tercero llamado PAC. Haces la factura, luego, a través de un servicio Web (Web Services Security) lo mandas con el PAC, que te regresa un segundo sello y un número de 32 caracteres (más 4 guiones, para ser 36) que será el folio oficial de la factura. Gracias al PAC, ya no tienes que enviar el reporte mensual.
Espero que este archivo te sirva para iniciar. Léelo y luego comenta qué tal te ha ido.
¡Saludos!
El archivo estará por un par de semanas aquí: RecetaCFD
-
- Mensajes: 279
- Registrado: Mar Ene 18, 2011 11:29 am
- Ubicación: Guadalajara
- Contactar:
Re: Iniciando desde Cero la creacion de CFDI
¿En que lenguaje lo estas haciendo?
Te invito a visitar mi blog personal http://www.luiscisneros.com.mx/
-
- Mensajes: 288
- Registrado: Jue Ago 04, 2011 8:41 pm
Re: Iniciando desde Cero la creacion de CFDI
Veo que en todos los foros lo preguntas, Luis.
Desarrollo en 4th Dimension, un RAD (rapid application development) francés, que inició con la Mac y que desde hace un buen tiempo funciona en Mac y en Windows.
Tiene esquema cliente-servidor, tiene una buena base de datos, a la que puedes acceder con el lenguaje o con SQL, con ODBC, tiene front-end para Oracle y otras bases de datos e incluso puedes prestar servicios web y es un servidor web, tanto de páginas estáticas como dinámicas.
Es muy interesante.
Pero la "Receta CFD" es genérico, para que te inicies con los CFD/CFDi.
¡Saludos!
Desarrollo en 4th Dimension, un RAD (rapid application development) francés, que inició con la Mac y que desde hace un buen tiempo funciona en Mac y en Windows.
Tiene esquema cliente-servidor, tiene una buena base de datos, a la que puedes acceder con el lenguaje o con SQL, con ODBC, tiene front-end para Oracle y otras bases de datos e incluso puedes prestar servicios web y es un servidor web, tanto de páginas estáticas como dinámicas.
Es muy interesante.
Pero la "Receta CFD" es genérico, para que te inicies con los CFD/CFDi.
¡Saludos!
-
- Mensajes: 158
- Registrado: Mié Ene 11, 2012 2:08 pm
- Contactar:
Re: Iniciando desde Cero la creacion de CFDI
El procedimiento a seguir esta bastante bien especificado en el Anexo 20 respecto de a lo que se le debe aplicar SHA1 y que se debe sellar y como.
Respecto de la tecnologia a usar, eso ya dependera de tus habilidades.
En mi caso particular, para evitar el uso de openssl.exe, use .net y c#, a traves de codigo puro opensslkey.cs que te permite acceder a archivo .key, a traves de las clases de criptografia de .net generar el sello.
Para la cadena original, lo mas comodo es generar primero el XML y luego usar el archivo de transformacion .xslt y ya con dicha cadena original procedes como te indican con el SHA.
Me parece q en el foro de VB vi codigo fuente publicado, y es muy estandar con lo que yo estuve manejando en .NET
Basicamente para el caso de CFD y CFD varia un poco los prefijos, pero las etiquetas vienen siendo las mismas, incluso, es necesario el CFDI generar el sello con tu propio .key tal como se hace con el CFD.
Para CFDI luego viene la parte extra, la de obtener el timbre, lo que haces a traves del PAC, quien con un webservice te solicita la info, y te envia una respuesta, la cual se incorpora como etiqueta dentro del XML timbrado, asi, tu XML lleva 2 sellos: el de tu .key y el que retorna el PAC.
Ademas, en la representacion impresa del CFD debes generarle un CBB, bastante sencillo de resolver x cierto con las bibliotecas que .net tiene para ello.
Halcon Divino publico codigo fuente para generar las etiquetas del CFDI y se me hicieron muy comodas sus rutinas (goglealo x si te etas interesado)
Para timbrad, ECODEX resulto ser muy confiable en mis pruebas.
Respecto de la tecnologia a usar, eso ya dependera de tus habilidades.
En mi caso particular, para evitar el uso de openssl.exe, use .net y c#, a traves de codigo puro opensslkey.cs que te permite acceder a archivo .key, a traves de las clases de criptografia de .net generar el sello.
Para la cadena original, lo mas comodo es generar primero el XML y luego usar el archivo de transformacion .xslt y ya con dicha cadena original procedes como te indican con el SHA.
Me parece q en el foro de VB vi codigo fuente publicado, y es muy estandar con lo que yo estuve manejando en .NET
Basicamente para el caso de CFD y CFD varia un poco los prefijos, pero las etiquetas vienen siendo las mismas, incluso, es necesario el CFDI generar el sello con tu propio .key tal como se hace con el CFD.
Para CFDI luego viene la parte extra, la de obtener el timbre, lo que haces a traves del PAC, quien con un webservice te solicita la info, y te envia una respuesta, la cual se incorpora como etiqueta dentro del XML timbrado, asi, tu XML lleva 2 sellos: el de tu .key y el que retorna el PAC.
Ademas, en la representacion impresa del CFD debes generarle un CBB, bastante sencillo de resolver x cierto con las bibliotecas que .net tiene para ello.
Halcon Divino publico codigo fuente para generar las etiquetas del CFDI y se me hicieron muy comodas sus rutinas (goglealo x si te etas interesado)
Para timbrad, ECODEX resulto ser muy confiable en mis pruebas.
-
- Mensajes: 279
- Registrado: Mar Ene 18, 2011 11:29 am
- Ubicación: Guadalajara
- Contactar:
Re: Iniciando desde Cero la creacion de CFDI
Lo pregunto, por que cualquier cosa que se tenga que hacer, no es lo mismo programarlo con Delphi, que con C# o PHP, a lo mejor con uno se hace en 10 líneas, y en otro se hace con 50, desconozco de ese programa, ¿que lenguaje es? y pues si leí el documento.RickAlanis escribió:Veo que en todos los foros lo preguntas, Luis.
Desarrollo en 4th Dimension, un RAD (rapid application development) francés, que inició con la Mac y que desde hace un buen tiempo funciona en Mac y en Windows.
Tiene esquema cliente-servidor, tiene una buena base de datos, a la que puedes acceder con el lenguaje o con SQL, con ODBC, tiene front-end para Oracle y otras bases de datos e incluso puedes prestar servicios web y es un servidor web, tanto de páginas estáticas como dinámicas.
Es muy interesante.
Pero la "Receta CFD" es genérico, para que te inicies con los CFD/CFDi.
¡Saludos!
Saludos
Te invito a visitar mi blog personal http://www.luiscisneros.com.mx/
-
- Mensajes: 15
- Registrado: Mar Jul 31, 2012 12:07 pm
Re: Iniciando desde Cero la creacion de CFDI
Gracias a la información que me han brindado en este foro he podido avanzar con esto de la facturación electrónica. Ya estoy generando el XML con todo y sello el problema que ahora tengo es que al momento de agregar el un "ComplementoConcepto" el de Instituciones educativas me pone por default el namespace "xmlns:iedu="http://www.sat.gob.mx/cfd/3"" y ese no es el correcto, el correcto debería ser "xmlns:iedu="http://www.sat.gob.mx/iedu"" pero como les comente lo pone por default y no se como quitarlo.
Mi codigo este hecho en VB6 y lo unico que tengo para poner ese complemento es esto:
Coomo ven, no pongo el namespace, pero creo que lo toma por default.
Adjunto el XML para que lo puedan revisar por favor y me den una sugerencia.
De antemano gracias por el apoyo.
Saludos cordiales,
Mi codigo este hecho en VB6 y lo unico que tengo para poner ese complemento es esto:
Código: Seleccionar todo
Set instEducativas = CrearNodo("iedu:instEducativas")
instEducativas.setAttribute "version", "1.0"
instEducativas.setAttribute "nombreAlumno", "Carlos Uriel Marieles García"
instEducativas.setAttribute "CURP", "MAGC870912HGTRRS06"
instEducativas.setAttribute "nivelEducativo", "Profesional técnico"
instEducativas.setAttribute "autRVOE", "4587-MHD"
instEducativas.setAttribute "rfcPago", "ASI100623H46"
Alinear Concepto, 3
ComplementoConcepto.appendChild instEducativas
IndentarNodo ComplementoConcepto, 3
Concepto.appendChild ComplementoConcepto
Alinear Concepto, 2
Adjunto el XML para que lo puedan revisar por favor y me den una sugerencia.
De antemano gracias por el apoyo.
Saludos cordiales,
- Adjuntos
-
- cfdi_tf_030812.xml
- (3.78 KiB) Descargado 307 veces
-
- Mensajes: 1
- Registrado: Mar Nov 20, 2012 9:26 am
Re: Iniciando desde Cero la creacion de CFDI
Hola rent84:
me gustaría saber si me puedes ayudar a generar todos los pasos para el xml listo para timbrar el PAC, quisiera saber si lo pudiste generar
sabes tengo dudas como agregar el sello digital
espero y me puedas ayudar
saludos y sigo al pendiente
me gustaría saber si me puedes ayudar a generar todos los pasos para el xml listo para timbrar el PAC, quisiera saber si lo pudiste generar
sabes tengo dudas como agregar el sello digital
espero y me puedas ayudar
saludos y sigo al pendiente