Foros del Web » Programando para Internet » PHP »

Facturacion electronica en México

Estas en el tema de Facturacion electronica en México en el foro de PHP en Foros del Web. Voy a especificar muy bien mi problema para ver si me pueden ayudar: Lo que quiero es: GENERAR SELLO DIGITAL EN PHP PARA FACTURA ELECTRÓNICA ...

  #1 (permalink)  
Antiguo 28/10/2008, 18:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Información Facturacion electronica en México

Voy a especificar muy bien mi problema para ver si me pueden ayudar:

Lo que quiero es: GENERAR SELLO DIGITAL EN PHP PARA FACTURA ELECTRÓNICA EN MÉXICO CON LOS REQUERIMIENTOS DEL SAT

Para ello contamos con:

INFORMACIÓN SOBRE COMO HACER LA FACTURA ELECTRÓNICA SEGÚN EL SAT:

Anexo 20:
http://www.sat.gob.mx/sitio_internet...s/15_3445.html

Los archivos de ejemplo se encuentran en:
http://www.sat.gob.mx/sitio_internet...s/15_6522.html

Dentro trae:
ftp://ftp2.sat.gob.mx/asistencia_ser...uestra_xml.zip
- Un xml de muestra (Muestra.xml) del CFD (Comprobante Fiscal Digital)

ftp://ftp2.sat.gob.mx/asistencia_ser.../Cer_Sello.zip
- Certificados de muestra Cer_Sellos.zip y dentro trae:
- Certificados de muestra pero quiero que hagan enfasis en:
- aaa010101aaa_CSD_01.cer (El primer certificado solo necesitamos 1)
- aaa010101aaa_CSD_01.key (La primera key y solo necesitamos 1)
- Contraseña de Clave Privada.txt (Pass para abrir el key)

Nos facilita también una cadena original:

||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||

Y su digestión MD5:

8aa2b617944427353697e694a2e35a07

PROBLEMA CON ARCHIVOS DE EJEMPLO EN EL SAT

Hasta aquí todo va bien, tenemos todo claro y suficiente información de muestra, pero... al pasar el xml de muestra esta mal, pueden constatarlo en:

https://www.consulta.sat.gob.mx/SICO...Validador.html

Según el marco teórico mostrado en el Anexo 20, y otros recursos, podemos ver que es un proceso extremadamente sencillo, sin embargo, cuando validamos nos arroja que el sello no es válido.

DESARROLLO DE SELLO DIGITAL EN PHP

Voy a documentar el ensayo que hice para ver si ustedes me pueden auxiliar en ver que parte esta mal:

Como referencia usare Muestra.xml que tiene una estructura válida, y cuya cadena esta provista y pasa el validador como correcta y también la digestión MD5 que también es correcta, entonces lo que haré es generar un sello para dicho xml y posteriormente pegarlo para intentar pasar el validador, lo cual debería darme un resultado correcto pero no es así, pero bueno ahora puntualizo el procedimiento que seguí:

1. Primero generamos el PEM en base al key:

pem.php

Código php:
Ver original
  1. <? /* Introducimos el nombre del key provisto por hacienda y su respectivo password, al igual que el nombre del archivo de salida PEM */
  2. shell_exec('openssl pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out aaa010101aaa_CSD_01.key.pem'); ?>

En este punto generamos: aaa010101aaa_CSD_01.key.pem

2. Posteriormente lo usaremos en:

seal.php

Código php:
Ver original
  1. <?
  2. /* Definimos donde esta el key en formato PEM */
  3. $key='aaa010101aaa_CSD_01.key.pem';
  4.  
  5. /* Introducimos la cadena original provista por el SAT */
  6. $cadenaoriginal='||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||';
  7.  
  8. /* Transformamos la cadena a UTF8 */
  9. $cadena = utf8_encode($cadenaoriginal) ;
  10.  
  11. /* Hacemos un echo para ver la cadena en UTF8 (no es necesario pero es para ir paso por paso) */
  12. echo '<h5>UTF8</h5>'.$cadena;
  13.  
  14. /* Hacemos un echo para ver la cadena en MD5, aquí obtenemos el mismo resultado que el SAT */
  15. $cadena=md5($cadena);
  16. echo '<h5>MD5</h2>'.$cadena;
  17.  
  18. /* Aquí lo que hacemos es escribir un txt (md5.txt) con la digestión MD5 para usarlo en el sellado */
  19. $fp = fopen ("md5.txt", "w+");
  20.        fwrite($fp, $cadena);
  21. fclose($fp);
  22.  
  23. /* Aquí sellamos con el MD5 con el key para obtener el sello y guardarlo en sello.txt */
  24. exec("openssl dgst -sign $key md5.txt | openssl enc -base64 -A > sello.txt");
  25.  
  26. /* Aquí mostramos el sello que en teoría debería ser el correcto */
  27. echo "<h5>Seal</h5>";
  28. readfile("sello.txt");
  29. ?>

Hasta aqui el sello que obtengo es:

cLBps3/cBUFelW/uxxNmKGvxThUva3AjvppfCxioTBlgqttkrV0yjPvRmA2592l7W QfwN1iXCQT4eyRtblXQre37a+EV4+vGuJD5Oah6ED1U/sVP2ak53nH31RhnQQeQN8NV2TtpjKQaNn64doKwVg9SGDn8Ppk pzlPBiqH5164=

Ahora lo que hice para checarlo es pegar dicho sello a Muestra.xml, quedando así:

Código xml:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Comprobante fecha="2005-09-02T16:30:00" folio="1" noAprobacion="1" noCertificado="00001000000000000114" sello="[B]cLBps3/cBUFelW/uxxNmKGvxThUva3AjvppfCxioTBlgqttkrV0yjPvRmA2592l7WQfwN1iXCQT4eyRtblXQre37a+EV4+vGuJD5Oah6ED1U/sVP2ak53nH31RhnQQeQN8NV2TtpjKQaNn64doKwVg9SGDn8PpkpzlPBiqH5164=[/B]" serie="A" version="1.0">
  3.     <Emisor nombre="Industrias del Sur Poniente, S.A. de C.V." rfc="ISP900909Q88">
  4.         <DomicilioFiscal calle="Alvaro Obregón" codigoPostal="06700" colonia="Col. Roma Norte" estado="Distrito Federal" localidad="México" municipio="Cuauhtémoc" noExterior="37" noInterior="3" pais="México"/>
  5.         <ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="México"/>
  6.     </Emisor>
  7.     <Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
  8.         <Domicilio calle="Topochico" codigoPostal="95465" colonia="Jardines del Valle" estado="Nuevo León" localidad="Monterrey" municipio="Monterrey" noExterior="52" pais="México"/>
  9.     </Receptor>
  10.     <Conceptos>
  11.         <Concepto cantidad="10" descripcion="Vasos decorados" importe="200" unidad="Caja" valorUnitario="20"/>
  12.         <Concepto cantidad="1" descripcion="Charola metálica" importe="150" unidad="pieza" valorUnitario="150"/>
  13.     </Conceptos>
  14.     <Impuestos>
  15.         <Traslados>
  16.             <Traslado importe="52.5" impuesto="IVA"/>
  17.         </Traslados>
  18.     </Impuestos>
  19. </Comprobante>

RESULTADO

Pero a la hora de validarlo con el certificado de ejemplo (aaa010101aaa_CSD_01.cer) en:
https://www.consulta.sat.gob.mx/SICO...Validador.html

Este sello no es válido.

Me gustaría saber si alguien lo obtiene de manera diferente, no puse validaciones ni como generar el xml ya que lo que básicamente me interesa es que el sello sea válido y espero que también les sea de utilidad.

Saludos a todos.

Última edición por jam1138; 29/10/2008 a las 08:37
  #2 (permalink)  
Antiguo 29/10/2008, 08:13
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Encontré un código muy parecido, pero tampoco me resulta, les paso el link:

http://phylevn.mexrom.net/index.php/blog/show/145.html

en un rato mas les pongo otro que encontré
  #3 (permalink)  
Antiguo 29/10/2008, 09:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Respuesta: Facturacion electronica en México

También encontré este código:

http://www.lacorona.com.mx/fortiz/sat/

La desventaja es que es muy muy largo y es difícil encontrar el punto al que me refiero, pero en esencia el hace esto:

http://www.lacorona.com.mx/fortiz/sat/xml.php

Código PHP:
// La cadena es la cadena ya limpia  en UTF8, $pkeyid es el key en pem

openssl_sign($cadena_original$crypttext$pkeyidOPENSSL_ALGO_MD5);
openssl_free_key($pkeyid);
 
// El sello es el resultado arrojado en base 64
$sello base64_encode($crypttext); 
Y en efecto esto tampoco me da un sello válido, me gustaría que me ayudarán con el primer código que propuse porque es mas fácil implementarlo con otros lenguajes, este solo es viable en PHP5.

Si alguien tiene alguna idea se los agradeceré.
  #4 (permalink)  
Antiguo 29/10/2008, 09:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 1 mes
Puntos: 2135
Respuesta: Facturacion electronica en México

Mmm creo deberías reevaluar, si ninguno te esta generando como "valido" es probable que el "validador" este incorrecto, porque no intentas contactar al soporte tecnico del SAT?, digo si ni el ejemplo que ellos mismos exponen es porque igual cambiaron algo que no documentaron..

Saludos.
  #5 (permalink)  
Antiguo 29/10/2008, 10:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Mensaje Respuesta: Facturacion electronica en México

El problema es que en el Chat del SAT no hay personal calificado para responder este tipo de preguntas, no saben ni a que te refieres, ya me dejaron dos veces colgado el chat, estoy una tercera vez para ver que me responden, y llegar a la conclusión de que es lo que esta mal, si los archivos, el validador o el algoritmo.

Les comentaré la respuesta en cuanto la tenga, mientras si alguien mas detecta el bug, bienvenido.

Última edición por phpnewbie; 30/10/2008 a las 11:50
  #6 (permalink)  
Antiguo 29/10/2008, 12:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Mensaje Respuesta: Facturacion electronica en México

Hago notar un error mio, pero aun así este no fue el causante... esto sigue inválido:

en vez de el certificado que puse el valor es: 10001200000000022517 en vez de 00001000000000000114 en "noCertificado", realmente no afecta este valor ya que no se incluye en la cadena original, pero dejo aqui el ejemplo corregido:

Código:
<?xml version="1.0" encoding="UTF-8"?>
<Comprobante fecha="2005-09-02T16:30:00" folio="1" noAprobacion="1" noCertificado="10001200000000022517" sello="cLBps3/cBUFelW/uxxNmKGvxThUva3AjvppfCxioTBlgqttkrV0yjPvRmA2592l7WQfwN1iXCQT4eyRtblXQre37a+EV4+vGuJD5Oah6ED1U/sVP2ak53nH31RhnQQeQN8NV2TtpjKQaNn64doKwVg9SGDn8PpkpzlPBiqH5164=" serie="A" version="1.0">
	<Emisor nombre="Industrias del Sur Poniente, S.A. de C.V." rfc="ISP900909Q88">
		<DomicilioFiscal calle="Alvaro Obregón" codigoPostal="06700" colonia="Col. Roma Norte" estado="Distrito Federal" localidad="México" municipio="Cuauhtémoc" noExterior="37" noInterior="3" pais="México"/>
		<ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="México"/>
	</Emisor>
	<Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
		<Domicilio calle="Topochico" codigoPostal="95465" colonia="Jardines del Valle" estado="Nuevo León" localidad="Monterrey" municipio="Monterrey" noExterior="52" pais="México"/>
	</Receptor>
	<Conceptos>
		<Concepto cantidad="10" descripcion="Vasos decorados" importe="200" unidad="Caja" valorUnitario="20"/>
		<Concepto cantidad="1" descripcion="Charola metálica" importe="150" unidad="pieza" valorUnitario="150"/>
	</Conceptos>
	<Impuestos>
		<Traslados>
			<Traslado importe="52.5" impuesto="IVA"/>
		</Traslados>
	</Impuestos>
</Comprobante>

Última edición por phpnewbie; 29/10/2008 a las 12:29
  #7 (permalink)  
Antiguo 29/10/2008, 19:25
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

saludos... fijate que estoy intentando igual esto de la facturacion electronica, pero empece por esto de cifrar y todo el roollo.

tengo una linea cparecida a la tuya. pero a mi no me sale, inclusive he estado intentando directamente en linea de comandos de openssl.

openssl dgst -md5 -sign C:\WEB_SAT\aaa010101aaa.key.pem C:\WEB_SAT\cadenamd5.txt | openssl enc -base64 -a > C:\WEB_SAT\seal.txt

pero no me da nada, podrias ayudarme?

Saludss..... colega.
  #8 (permalink)  
Antiguo 30/10/2008, 11:34
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Respuesta: Facturacion electronica en México

Mismo caso, voy a intentar de nuevo comunicarme con el SAT (cuarta vez)
  #9 (permalink)  
Antiguo 30/10/2008, 11:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cuando ya sea válido será open source, así que si alguien sabe la falla ayudaría bastante, podemos convertir este post en un tutorial, ya que a la fecha no existe un tutorial "probado".
  #10 (permalink)  
Antiguo 30/10/2008, 12:02
 
Fecha de Ingreso: octubre-2008
Mensajes: 15
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Me comenta el autor de:

http://phylevn.mexrom.net/index.php/blog/show/145.html

esto:

Cita:
El problema con el validador de SAT es que solo soporta la version 1.0, para la version 2.0 hay nuevos campos que cuándo generas el Sello Digital, el validador de SAT no los reconoce por ende el Sello te lo manda erroneo, si generas el sello con el procedimiento que pongo con los campos de la version 1.0 no tienes problemas.
Haré un ensayo y lo documentaré si funciona, si no, publicaré lo que salio mal para ver si ya queda esto.
  #11 (permalink)  
Antiguo 30/10/2008, 19:18
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 3 meses
Puntos: 23
Respuesta: Facturacion electronica en México

buenas!!

la propuesta de dejarlo como tutorial es buena, creo que a mas de uno nos interesa el tema aunque algunos con poca experiencia como su servidor leemos para aprender ya que no tenemos mucho que poder aportar

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #12 (permalink)  
Antiguo 03/11/2008, 18:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

bueno eso que el validador solo funciona para la version 1.0 es falsa existen dentro del sat 2 validadores, el mas actual en su interface no tiene pesañas y es posible utilizar xml con el certificdo incluido. y ese validador es completamente para ambas versiones, en la pagina www.verificaCFD.com.mx una empresa coloco de manera libre su validador, que aunque tiene algunos defectos al no reconocer un CFD de honorarios jejeje. pero = funciona muy bien, por otro lado, si se documentan mejor podrian lograrlo, lo de la corona tiene unos lijeros errores, sean listos y arreglenlos, o adquieran una consultoria de www.rexsystemssoftwaredeveloper.com bueno saludos, no se desesperen, a los que les interesa implementar con java en JSP o java desktop o php consultenme soy la unica empresa que dota de consultoria para tecnologia JAVA u PHP. aprenderan los mas importante que es respetar el formato para la version 2.0 que pues si no se han dado cuenta ese es su error, un mal formato ocaciona una mala cadena original y por ende un mal sello. bien ya les dije el error, y les repido el verificador del sat funciona muy bien. mis CFD pasan sin problemas saludos...
  #13 (permalink)  
Antiguo 04/11/2008, 10:50
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

ps le verdad me parece interesante, me gustaria que compartieras lo ke pueda servirnos.

yo publico mis avances en diversos foros he publicado ensayos y codigos.

NO VENGO A HACER NEGOCIO. Vengo a aprender y compartir.

Saludsss.
  #14 (permalink)  
Antiguo 04/11/2008, 20:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Mira amigo yo estoy completamente deacuerdo con lo que dices de compartir, yo ya les dije cual es su error y que hacer para resolverlo, no es sencillo si no tienes pasion por la programacion, en otras palabras no es para amateurs, php no se equivoca lo que estan haciendo mal es que no siguen el formato establecido, lean el anexo 20 y la diferente informacion que proporciona el sat es lo unico que necesitan.


Otra cosa mi estimado compañero que posteo, es licencia gnu aprender no cuesta, pero se sincero, para que quieres aprender eso?, si es porque tu trabajas por honorarios y deseas proporcionar cfd's, existe mi version gratuita.

Y como lo dije en el otro post si tu trabajas para alguna empresa no seas valin compa, porque eso es no respetar gnu, ya que tu utilizarias a una comunidad para dar ganancia a otros. Lee las normas gnu. Y se sincero para que buscas esa informacion, porque en tu trabajo necesitan algo asi, o por mero aprendisaje. Si es por lo segundo congusto te proposiono todo lo que necesites para que lo logres, si es lo primero pues no seas valin y respeta las normas gnu.

El programador de la corona proporciono completamente todo, tiene ciertos errores que para programadores amateur son imperceptibles.

Yo aprendi por gusto, ya que trabajaria en una empresa por honorarios y comence a documentarme hasta que lo logre eso duro 2 meses, de pruebas y pruebas horas y horas de trabajo.

Ing en informatica
ricky lopez
edad: 22 años

saludos, les repito, lean el estandar del sat y encontraran los problemas, y respeten gnu.
  #15 (permalink)  
Antiguo 05/11/2008, 11:16
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

saludos gracias, he estado revisando el anoxo 20 como lo habias posteado y si hay muchas diferncias estoy en eso.

me da gusto que pienses en eso, pues yo tambien aprendo por gusto, asi comence con progress, 4gl, php, myslq, java, visual, C#..... y he logrado hacer cosas padres que son mias(GNU), no de una empresa, y las pongo a disposicion de mis cuates que ncesitan de ayuda. cualquiera que sea su necesidad.

me gusta programar, me gusta lo que hago. colega ya somos dos. y los que vienen en esto del php.

respeto tu esfuerzo y creeme colega, esto es pura vidaaaa......

y por eso busco quien pueda ayudarme, siempre lo hago en la web. y libros. me encanta los retos. somos informaticos, solos aveces no contamos con la suficiente informacion o el camino adecuado para aprender, colegas como tu que ya lo hicieron posible es lo que me agrada, y si me gustaria que nos ayudaras, digo posiblemente algunos de este foro se sientan intocables pero yo si quisiera que ME hecharas la mano. si quisiera aprender mas de esto que esta de BOOOM.

saludss colega


Lic. en informatica.
Hernan Sanchez Glez
24.

Última edición por GatorV; 05/11/2008 a las 11:36
  #16 (permalink)  
Antiguo 05/11/2008, 11:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 1 mes
Puntos: 2135
Respuesta: Facturacion electronica en México

Hola Nanox,

Es bueno que quieras aprender, pero recuerda que el foro es para retroalimentarnos todos, por lo que no esta permitido intercambiar emails dentro del foro, si quieres contactarlo enviale un mensaje privado.

Saludos.
  #17 (permalink)  
Antiguo 05/11/2008, 14:09
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Saludss GatorV.

disculpa, solo era referencia, no sucedera saludss,

de paso tendras algo que pueda ayudarnos en esto de la facturacion electronica...
  #18 (permalink)  
Antiguo 10/11/2008, 13:36
 
Fecha de Ingreso: septiembre-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

bueno aca les dejo esta direccion
http://phylevn.mexrom.net/index.php/blog/show/Script_PHP_para_generar_Sello_Digital_requerido_po r_el_estandar_de_SAT_para_facturacin_ele.html

segun su creador ya esta funcionando, y es libre y eso, en mi opinion personal esta mal implementado, quiza esta correcto lo que genere sin embargo la manera en que lo hace no es muy recomendable. pero bueno esa es mi humilde opinion, para los que no han encontrado la solucion pues en el link que les pase la muestran. bueno los dejo saludos.
  #19 (permalink)  
Antiguo 11/11/2008, 18:14
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

fijate que aun tengo el problema de que no obtengo un sello valido

puedo generar un xml, pero ya lo revise contra la estructura que da el anexo 20 y da correcto reviso uno por uno los nodos, pero al sacar la cadena y sellar, lo valido y ps nada.

colega como le hago para obtener una cadena valida, y ps antes de eso un xml valido.

agradecere cualquier comentario al respecto saludsss.....
  #20 (permalink)  
Antiguo 25/11/2008, 15:46
 
Fecha de Ingreso: septiembre-2006
Mensajes: 8
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Hola, soy nuevo aquí y también tuve muchos problemas al iniciar este proyecto de factura digital. Aunque yo programo en Visual Studio 2005 creo que la "médula espinal" de todo esto es la misma.

Con relación a conseguir una validación correcta, yo también tuve broncas, pero ahora les cuento como le hice.

Para empezar, y aunque quizá ya lo sepan, el SAT tiene 2 validadores:

1. La versión 1.0 (ó 1.5, no recuerdo bien) que es la que, en su interfaz, contiene 2 pestañitas.
2. La versión 2.0 (la que no tiene pestañas)

Es importante que al validar sepan cuál de las 2 versiones usar, que en teoría debería ser siempre la versión 2, pues es la que compara contra el esquema XML (.XSD) más reciente, expedido por el SAT.

Este "validador" hace una revisión, tanto de la SINTAXIS como del Sello digital que generado. Lo primero que tenemos que lograr, es "pasar con 10 :)" la validación de la sintaxis, ya después nos fijamos en el sello.

Pasar el examen de la sintaxis es muy simple, solo tenemos que seguir al pie de la letra el "anexo 20", que indica claramente la forma y orden que tenemos que seguir al generar nuestro archivo XML. (Presten mucha atención a los tipos de datos y el formato que deben seguir)

En cuanto al sello digital, observen que cuando el validador empieza a verificar nuestro archivo XML, él mismo genera una "Cadena original" en base al archivo que le pasamos (el XML), fíjenseee.... SI LA CADENA ORIGINAL QUE MUESTRA EL VALIDADOR ES DIFERENTE a la que nosotros utilizamos para crear nuestro Sello Digital, obviamente "reprobaremos" esa prueba. NO DEBE EXISTIR ABSOLUTAMENTE NINGUNA DIFERENCIA entre esa cadena original y la nuestra.

Bueno, espero haber aportado aunque sea un poco a esta charla.

Aporten y digan sus experiencias para que todos aprendamos.

Salu2

freebyte
  #21 (permalink)  
Antiguo 28/11/2008, 11:32
Avatar de Nanox  
Fecha de Ingreso: octubre-2008
Ubicación: Apizaco/Tlaxcala/Mexico
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Facturacion electronica en México

colegas PHPeros ya tengo un CFD pero no tengo folios validos....

he de pensar que por eso me dice que aun no esta weno el sello.

lo he probado en el validador. me dice que es invalido.

pero tengo un CFD valido al que le cambio el serie y folio y me da el mismo error.
por eso supongo que ya hice solo necesito folios validos.......

alguien sabe donde conseguir?

otra duda..... es cierto que despues de avisar que se expediran CFDs se tiene un mes para empezar?

o es choroooooo........yo no expedire nada, pero ya casi tengo esto.. solo es por aprender.....

quien quiera mi codigo mandame un MP. Por que sta medio desordenado, tu gustas mejorarlo perfectooo......

saludssss
  #22 (permalink)  
Antiguo 10/12/2008, 16:14
 
Fecha de Ingreso: septiembre-2006
Mensajes: 8
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Eyy compadre, con los Certificados y Llaves que el SAT te da para probar es suficiente para que puedas pasar las verificaciones de tus comprobantes.

Entra al sitio del SAT y descarga los Certificados de prueba...

Freebyte
  #23 (permalink)  
Antiguo 29/12/2008, 14:22
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Hola,

Queria saber si alguien pudiera subir un xml de la version 2, como ejemplo ya que yo tampoco estoy pudiendo generar la cadena con el programa del SAT, solo es para comparar si me estoy equivocando en algo o tengo mal una sintaxis q la vdd no creo ya que segui al pie de la letra el anexo 20.

Otra duda, q es mejor usar el archivo cadenaoriginal_2_0_.xslt o el (.XSD), mas bien cual es la diferencia entre ambos.

Gracias
Isaac Lañado
  #24 (permalink)  
Antiguo 24/01/2009, 10:17
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Información Respuesta: Facturacion electronica en México

Cuidado, los archivos de ejemplo que publica el SAT no están en la versión 2.0 del estándar, en mi caso lo que hice es seguir el estándar publicado y luego compararlo contra el XSD usando la función que para este propósito tiene PHP.

El ejemplo que publican en http://lacorona.com.mx/fortiz/sat/xsl.php sigue la versiòn 2.0, por lo que si pude validarlo usando XSD,sin embargo tuve problemas al generar el hash. Tengo varias teorìas, una de ellas es la conversiòn de caracteres a UTF-8, mejor no me detuve en averiguar el problema, pero generé mi mismo sello y si pasé la validaciòn.

Por otro lado, ni el validador del SAT ni usando el XSD (que supongo que internamente es lo que hace el SAT) garantiza que estén al 100% dentro del estándar, por ejemplo en el anexo 20 dice que hay que eliminar espacios en blanco redundantes y cosas así que ambas herramientas no se fijan. En resumen, recomiendo que hagan validaciòn extensiva y no confíen únicamente en el XSD.

La documentaciòn y herramientas del SAT dejan mucho que desear (es increíble que no puedan poner certificados correctos para sus páginas) y la herramienta que yo usé, que es PHP no hace un mejor papel.

Saludos cordiales
  #25 (permalink)  
Antiguo 23/02/2009, 18:53
 
Fecha de Ingreso: febrero-2008
Mensajes: 14
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Yo estoy entrando en este rollo desarrollandolo bajo JAVA, al final también me dice que no es un sello válido, independientemente de todo.. me pueden decir cual es el sello al que llegan usando el .key perteneciente al certificado 1 ??,

es decir si tenemos la cadena

||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||

el hash es

8aa2b617944427353697e694a2e35a07


Aplicando RSA con private key (.key ) y en base 64 obtengo.-

Pz9HPz8BOz8/Pj8/PyE/Vj8lPz8/bT8/Pz8HPxA/Pz8/Pz8/cGI/Pz8/RD9KNw4/Pwc/C2J8XUo/
N3x+MTsePz8/KgRCYj8AP2w/IAoEPz8sYj9KPzwWPxY/WBUDPz8NPwFzSEwlYD9TfD8/bj8/Iz5F
ay5nQD83GS4TPz8/XQc=

alguno obtiene esto mismo ?
  #26 (permalink)  
Antiguo 09/03/2009, 13:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 14
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Cita:
Iniciado por javierhernandezb Ver Mensaje
Yo estoy entrando en este rollo desarrollandolo bajo JAVA, al final también me dice que no es un sello válido, independientemente de todo.. me pueden decir cual es el sello al que llegan usando el .key perteneciente al certificado 1 ??,

es decir si tenemos la cadena

||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||

el hash es

8aa2b617944427353697e694a2e35a07


Aplicando RSA con private key (.key ) y en base 64 obtengo.-

Pz9HPz8BOz8/Pj8/PyE/Vj8lPz8/bT8/Pz8HPxA/Pz8/Pz8/cGI/Pz8/RD9KNw4/Pwc/C2J8XUo/
N3x+MTsePz8/KgRCYj8AP2w/IAoEPz8sYj9KPzwWPxY/WBUDPz8NPwFzSEwlYD9TfD8/bj8/Iz5F
ay5nQD83GS4TPz8/XQc=

alguno obtiene esto mismo ?

De antemano gracias pero ya pude solucionar los problemas y pasar todas las validaciones... por cierto el resultado del sello digital que pusé arriba no es correcto
  #27 (permalink)  
Antiguo 30/04/2009, 18:25
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Facturacion electronica en México

Cita:
Iniciado por javierhernandezb Ver Mensaje
De antemano gracias pero ya pude solucionar los problemas y pasar todas las validaciones... por cierto el resultado del sello digital que pusé arriba no es correcto
hola javier pues aca preguntadote q realizaste para poder obtener la cadena correcta ya que yo obtengo la misma que tu
me podrias indicar que es lo que realizaste por favor
  #28 (permalink)  
Antiguo 21/05/2009, 11:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Alguien me puede decir como se obtiene el noCertificado desde un archivo .pem o desde el archivo .cer?

Cuando ejecuto el comando de openSSL para obtener el numero de serie es diferente al que pide hacienda de 20 caracteres.
  #29 (permalink)  
Antiguo 12/06/2009, 12:28
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Facturacion electronica en México

Tlaxiaco, Oaxaca.
Buen colaborando con este foro, les informo que despues de un arduo trabajo para la realizacion de una factura digital, llegue a la conclución de que esta mal el procedimiento del SAT para el calculo del sello digital ya que el primer algoritmo no se raliza.
Esto es muy lamentable ya que una institucion con tanto prestigio como el SAT, que genera este tipo de aplicaciones para mejorar CFD y resulta que lo que proporcionan como documentación esta mal. Es demasiado complicado generar una factura electronica es a un mas complicado generarla con un a documentacion erronea(anexo 20.- generacion de sello digital)
Bueno foreros espero les sirva este tip.
Saludos TMLS
  #30 (permalink)  
Antiguo 22/06/2009, 16:17
Avatar de DestruKtor  
Fecha de Ingreso: marzo-2005
Mensajes: 95
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Facturacion electronica en México

Buenas,

En primer lugar gracias por sus aportes me han sido muy utiles, es segundo lugar va mi inquietud.

Eh logrado manipular y convertit los certificados a DER a PEM tal como explican, ahora bien cuando trato de obtener información del certificado publico PEM, por ejemplo el nro. de certificado:

openssl x509 -in aaa010101aaa_CSD_01.pem -serial -noout

Me muestra el error:

2239:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:644:Expecting: TRUSTED CERTIFICATE

eh provado en dos distros linux distintas y me sucede lo mismo, imagino que para operar con los certificados del SAT se requiere el certificado raíz, pero por más que lo busco no logro encontrarlo en el sitio del SAT, ¿sera ese el problema o mi error es otro?
__________________
Se Despide

DestruKtor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 6 personas




La zona horaria es GMT -6. Ahora son las 21:41.