bigdata-mx / factura-electronica

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)
Apache License 2.0
94 stars 107 forks source link

Validar que el CFDi ha sido entregado a SAT. #59

Open elmer-garduno opened 11 years ago

elmer-garduno commented 11 years ago

Original author: jcaflori...@gmail.com (June 12, 2012 03:00:46)

BigData, ¿de qué forma se podría validar si el CFDi ya ha sido entregado a SAT?, de forma que se pueda validar el UUID.

Saludos.

Original issue: http://code.google.com/p/factura-electronica/issues/detail?id=59

elmer-garduno commented 11 years ago

From luis.db...@gmail.com on September 20, 2012 17:01:57 Hola yo tambien ando buscando eso, aun no tienes la respeusta?? no se si el sat tenga al gun servicio web q proporcione esa informacion

eaavendanop commented 11 years ago

El SAT liberará un web service para verificar el estado en el que se encuentra un CFDI, este web service servirá para lo que ustedes necesitan, pero solo estará disponible para los PAC, vamos a ver si puedo lograr algo.

josejulio commented 11 years ago

Disculpa, ¿hubo alguna novedad de este webservice para ser usado por terceros?

eaavendanop commented 11 years ago

Hola amigo, disculpa pero dejé el tema del WS, pero la próxima semana te aviso si se hizo o no la liberación de este servicio.

JNajera commented 10 years ago

Hola! De casualidad tiene novedades sobre este tema? Me interesa mucho poder hacer una pequeña solución para poder validar los XML de mis clientes. Saludos

gochoasot commented 10 years ago

Hola..

 Buenas tardes

 Estoy en la misma situación, realizando una aplicación para uno de mis clientes y me interesa saber si el SAT ya liberó un Web Service para validar CFDI's

  Gracias y saludos !!
tequisoft commented 10 years ago

Yo ando en lo mismo. Y haciendo ingeniería reversa con los validadores del sat. El dic 16, 2013 1:27 PM, "gochoasot" notifications@github.com escribió:

Hola..

Buenas tardes

Estoy en la misma situación, realizando una aplicación para uno de mis clientes y me interesa saber si el SAT ya liberó un Web Service para validar CFDI's

Gracias y saludos !!

— Reply to this email directly or view it on GitHubhttps://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-30691502 .

eaavendanop commented 10 years ago

Compañeros,

El día de mañana hablaré para ver si habilitaron el WS y ahora si espero tener respuesta y disculpen la demora.

Saludos!!!

tequisoft commented 10 years ago

Lo más cercano que encontre hoy

http://www.lacorona.com.mx/fortiz/sat/cfdcvali.phps http://www.lacorona.com.mx/fortiz/sat/valida.php

seulmarc commented 10 years ago

Se refieren al WebService que aparece en la siguiente liga?

ftp://ftp2.sat.gob.mx/asistencia_servicio_ftp/publicaciones/cfdi/WS_ConsultaCFDI.pdf

Hoy hable al centro de atencion del SAT y los chavos no saben ni que onda, ya consumi el servicio pero me regresa un error, aun no ha de estar habilitado, alguien sabe a que area hay que dirigirse que si pueda dar una respuesta?

Yo me comunique al area de sistemas al parecer me atendio un chavo de servicio social que no sabe ni lo que es un WebService =/

jocebaf commented 10 years ago

El web service esta en funcionamiento y solo te regresa si lo encuentra en registrado en el sat y su estatus

seulmarc commented 10 years ago

Hola @jocebaf Gracias por tu respuesta, actualmente utilizo el WS de un PAC, cuando valido una factura me regresa correctamente los datos, dicha factura es valida incluso en la aplicacion JAVA de validacion que tiene el SAT en su pagina, pero al utilzar el servicio ConsultaCFDI del SAT me regresa "Object reference not set to an instance of an object. "...

Me extraña por que la implementacion es igual a la que uso en los PAC, y esta hecho tal como viene en la documentacion de la liga que comparti en el POST anterior.

Esta implementado como WCF(Service Reference) en ASP.NET

code://

    ConsultaCFDIServiceClient consultar = new ConsultaCFDIServiceClient("BasicHttpBinding_IConsultaCFDIService");
    Sat.Cfdi.Negocio.ConsultaCfdi.Servicio.Acuse acuse = new Sat.Cfdi.Negocio.ConsultaCfdi.Servicio.Acuse();

consultar.Open(); if (consultar.State == CommunicationState.Opened) { acuse = consultar.Consulta(expresion);

                lblCodigo.Text = acuse.CodigoEstatus;
                lblEstado.Text = acuse.Estado;
                consultar.Close();
            } 

Alguien tiene el mismo problema, o me pueden orientar si algo estoy haciendo mal, de esta manera lo tengo implementado en WCF de PACs y funciona correctamente.

Gracias

ialtamirano commented 10 years ago

@seulmarc que tal, a mi me marca lo mismo, una pregunta en el parametro "expresion" que es lo que le mandas?

seulmarc commented 10 years ago

Hola @ialtamirano, en los WS de los PAC, te piden que envies en una cadena string todo el contenido del XML... En este caso ya pase el XML completo, solo el sello, solo la cadena original, y me regresa el mismo mensaje de error...

A mi ver, si el valor enviado no fuera el correcto, en teoria, la respuesta deberia ser uno de los mensajes de rechazo que vienen en la documentacion.

Por lo que veo tendremos que esperar, por que en la linea de soporte SAT ni siquiera saben que existe dicho WS =/ .... en que plataforma estas implementando @ialtamirano ?

Saludos, Gracias

ialtamirano commented 10 years ago

En nuestro caso estamos haciendo la implementacion en C# .net, lo que si es que si la "expresion" la mando vacia si me regresa un mensaje: N - 601: La expresión impresa proporcionada no es válida.

seulmarc commented 10 years ago

Tienes razon @ialtamirano ya lo comprobe, entonces esto nos demuestra que la comunicacion con el WS esta bien implementada, el mensaje de error se genera en el servicio al procesar el texto que enviamos en el parametro "expresionImpresa", que te comento, hasta este momento, yo tampoco tengo claro a lo que se refiere exactamente.

Saludos

jocebaf commented 10 years ago

la Expresion que necesita es la que esta en el codigo de barras de la factura re=BAFC720406SJ3 rr=AAA010101AAA el total y el UUID

ialtamirano commented 10 years ago

@jocebaf hice la prueba con una cadena como la siguiente y me funciono correctamente:

?re=XAXX010101000&rr=XAXX010101000&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44

Muchas gracias y saludos.

tequisoft commented 10 years ago

Alguien puede confirmar si esta funcionando y es confiable el webservice .

El 14/01/2014, a las 10:33, ialtamirano notifications@github.com escribió:

@jocebaf hice la prueba con una cadena como la siguiente y me funciono correctamente:

?re=XAXX010101000&rr=XAXX010101000&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44

Muchas gracias y saludos.

— Reply to this email directly or view it on GitHub.

ialtamirano commented 10 years ago

No se que tan confiable pueda ser, pero si esta funcionando acabo de hacer una prueba.

Jonguez commented 10 years ago

Que tal alguien ha podido implementarlo en Java??? ya que a mi no me funciona!!!

Erilas commented 10 years ago

Solo sigue las guías:

https://github.com/bigdata-mx/factura-electronica/wiki/Guia-del-usuario

Yo lo tengo implementado en un sistema basado en java, lo incluí como librería y me funciono perfecto, hasta e podido sellar recibos de nomina.

Aprovechando, muchas gracias por compartir esta aplicación.

Salu2

2014-02-05 Jonguez notifications@github.com:

Que tal alguien ha podido implementarlo en Java??? ya que a mi no me funciona!!!

Reply to this email directly or view it on GitHubhttps://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-34276334 .

tequisoft commented 10 years ago

El habla acerca de implementar (Validar que el CFDi ha sido entregado) El 05/02/2014, a las 18:42, Erilas notifications@github.com escribió:

Solo sigue las guías:

https://github.com/bigdata-mx/factura-electronica/wiki/Guia-del-usuario

Yo lo tengo implementado en un sistema basado en java, lo incluí como librería y me funciono perfecto, hasta e podido sellar recibos de nomina.

Aprovechando, muchas gracias por compartir esta aplicación.

Salu2

2014-02-05 Jonguez notifications@github.com:

Que tal alguien ha podido implementarlo en Java??? ya que a mi no me funciona!!!

Reply to this email directly or view it on GitHubhttps://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-34276334 .

— Reply to this email directly or view it on GitHub.

Jonguez commented 10 years ago

Si así es hablo de la opción de validar el cfdi

Ing. Jonathan A. Rodriguez Macias Desarrollo y Tecnologia Jesus Oviedo No. 112 1-E Col. Villas del Tecnologico C.P 76160 Tel. (442) 404 09 21

El 5 de febrero de 2014, 21:25, tequisoft notifications@github.comescribió:

El habla acerca de implementar (Validar que el CFDi ha sido entregado) El 05/02/2014, a las 18:42, Erilas notifications@github.com escribió:

Solo sigue las guías:

https://github.com/bigdata-mx/factura-electronica/wiki/Guia-del-usuario

Yo lo tengo implementado en un sistema basado en java, lo incluí como librería y me funciono perfecto, hasta e podido sellar recibos de nomina.

Aprovechando, muchas gracias por compartir esta aplicación.

Salu2

2014-02-05 Jonguez notifications@github.com:

Que tal alguien ha podido implementarlo en Java??? ya que a mi no me funciona!!!

Reply to this email directly or view it on GitHub< https://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-34276334>

.

Reply to this email directly or view it on GitHub.

Reply to this email directly or view it on GitHubhttps://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-34288759 .

gerardoDelarosa commented 10 years ago

Alguien me puede decir la estructura del XML de consulta para consumir el WebService para CFDi

tequisoft commented 10 years ago

ftp://ftp2.sat.gob.mx/asistencia_servicio_ftp/publicaciones/cfdi/WS_ConsultaCFDI.pdf

gerardoDelarosa commented 10 years ago

Gracias tequisoft, la verdad soy novato en esto y no se interpretar como envio la consulta, o como pongo los nodos para que el servidor me conteste. Puse el XML tal cual como viene en el pdf que mencionas y en la parte:

wsdl:operation name="Consulta"> soap:operation soapAction="http://tempuri.org/IConsultaCFDIService/Consulta" style="document" /> wsdl:input> soap:body use="?re=XAXX010101000&rr=XAXX010101000&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44" /> /wsdl:input> wsdl:output> soap:body use="literal" /> /wsdl:output> /wsdl:operation>

(nota quite la apertura del nodo "<" porque si no no se ve)

Pero no me funciona

Por lo que vi ialtamirano ya lo pudo hacer a ver si comparte la cadena que envia al WS

Saludos y Gracias anticipadas

tequisoft commented 10 years ago

Esta es la cadena

"?re=$rfcEmisor&rr=$rfc&tt=$totalStr&id=$uuid”;

Usa Apache Cxf para crear al cliente java.

El 03/03/2014, a las 08:30, gerardoDelarosa notifications@github.com escribió:

Parece que no salio el codigo que puse:

"

wsdl:input

/wsdl:input wsdl:output

/wsdl:output /wsdl:operation"

— Reply to this email directly or view it on GitHub.

gerardoDelarosa commented 10 years ago

Hola tequisoft lo que pasa es que yo lo estoy enviando de esta manera:

Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP") Call xmlhttp.Open("GET", url,False) Call xmlhttp.send

url = "https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?singleWsdl" url = url & "GetAppSettingstem:expresionImpresa<![CDATA[?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]>/tem:expresionImpresa"

pero me responde errores de Runtime

tequisoft commented 10 years ago

no se si tenga que ver el singleWsdl, yo uso wsdl solamente, por lo del código no te podria ayudar mucho, acabo de revisar el webservice y esta funcionando

gerardoDelarosa commented 10 years ago

Buenas tequisoft

Nuevamente por este foro, te comento ya solucione el problema, con una aplicacion de consola de VB.net que ejecuto desde linea de comandos y los resultados los recojo con mi pagina ASP.

Mil Gracias por la ayuda.

rmvillalpando commented 10 years ago

hola buenas tardes, les ha tocado mandar a validar por medio de este webservice una cadena que en cualquier rfc contenga el signo &? Ya intente con &, escapando el caracter, urlencode(), %26, etc y nada... Alguna idea?? Saludos...

gerardoDelarosa commented 10 years ago

Buenas tardes Me podrias indicar a que se refiere tu correo Gracias y SaludosGRC De: "rmvillalpando" notifications@github.com Para: "bigdata-mx/factura-electronica" factura-electronica@noreply.github.com Cc: "gerardoDelarosa" computer_si@prodigy.net.mx Fecha: Wed, 30 Apr 2014 14:24:52 -0700 Asunto: Re: [factura-electronica] Validar que el CFDi ha sido entregado a SAT. (#59)

hola buenas tardes, les ha tocado mandar a validar por medio de este webservice una cadena que en cualquier rfc contenga el signo &? Ya intente con &, escapando el caracter, urlencode(), %26, etc y nada... Alguna idea?? Saludos...

—Reply to this email directly or view it on GitHub.

kyofireleo commented 10 years ago

Hola, en el PDF que proporciona el SAT utilice el XML que viene en la seccion de Codigo, y en esta parte: wsdl:operation name=\"Consulta\">" soap:operation soapAction=\"http://tempuri.org/IConsultaCFDIService/Consulta\" style=\"document\" />" wsdl:input>" soap:body use=\"?re="+re+"&rr="+rr+"&tt="+tt+"&id="+uuid+"\" />" /wsdl:input>" wsdl:output>" soap:body use=\"literal\" />" /wsdl:output>" /wsdl:operation>

Tengo dudas, todo lo demas esta como en el PDF, tengo algo mal? Ya que siempre me dice, No encontrado, pero si voy a la pagina y lo verifico si esta

jorgenaranjoVauxoo commented 10 years ago

Que tal!

Realizando el webservices con código python veo que todo es super sencillo.

1.- Instalar sudo apt-get install python-soappy sudo pip install pillow qrcode wget http://security.ubuntu.com/ubuntu/pool/main/s/suds/python-suds_0.4.1-2ubuntu1_all.deb sudo dpkg -i python-suds_0.4.1-2ubuntu1_all.deb

2.- Copiar este codigo en un archivo.py y ejecutarlo.

!/usr/bin/env python

-- encoding: utf-8 --

import base64 from suds.client import Client url = 'https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl' client = Client(url)

print client.service.Consulta(""""?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075""")

residentemzt commented 10 years ago

Excelente aporte lo pruebo El 18/06/2014 12:35, "Jorge Angel Naranjo Rogel [Vauxoo]" < notifications@github.com> escribió:

Que tal!

Realizando el webservices con código python veo que todo es super sencillo.

1.- Instalar sudo apt-get install python-soappy sudo pip install pillow qrcode wget http://security.ubuntu.com/ubuntu/pool/main/s/suds/python-suds_0.4.1-2ubuntu1_all.deb sudo dpkg -i python-suds_0.4.1-2ubuntu1_all.deb

2.- Copiar este codigo en un archivo.py y ejecutarlo.

!/usr/bin/env python

-- encoding: utf-8 --

import base64 from suds.client import Client url = ' https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl ' client = Client(url)

print client.service.Consulta(""""?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075""")

— Reply to this email directly or view it on GitHub https://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-46475465 .

egracia10 commented 10 years ago

Alguien lo ha podido implementar en Java?

Joi033 commented 10 years ago

Saludos comunidad, acabo de implementar este web service y los comentarios aquí me fueron muy útiles, pero ahora lo que necesito es hacer una validación masiva y también si alguien sabe si existe una propiedad que me regrese la comprobación en un tipo distinto al string como un booleano o entero o si el servicio es capaz de regresarme el xml del documento, si alguien ha hecho esto y/o sabe si el ws soporta estas características me ayudaría mucho que comparta su experiencia, de antemano gracias.

Alkz6 commented 9 years ago

Buen dia, alguien tendra un ejemplo de implementacion para java?

marcoovalle commented 9 years ago

Hola comunidad... Joi33, yo también estoy interesado en validación masiva. Es más, necesito saber si alguien ya puede validar completamente el XML.... ¿alguien sabe? Gracias.

daynatem commented 9 years ago

yo ya pude y utilice http://cxf.apache.org/

solo hay un detalle que las facturas nuevas las marca como inválidas y despues de dos horas ya las reconoce el sat

ghost commented 9 years ago

Algun metodo o documentacion para recuperar las facturas emitidas o las recibidas ante el sat?

oliverolmos commented 9 years ago

Para los que tenían duda, si tienen que verificar un RFC que contenga el caracter "&" tienen que escapearlo dos veces, por ejemplo:

El RFC OM&940826SG8 se pondría así: OM&amp;940826SG8

En PHP sería hacer algo así: htmlentities(htmlentities($rfc))

Saludos!

JhovGon commented 9 years ago

Hola marcovalle yo ya pude validar los CFDI´s masiva mente ante el Sat

gsantoshgmx commented 9 years ago

hola JhovGon puedes compartir como le hiciste para validar masivamente o te puedo contactar por otro medio, saludos

marcoovalle commented 9 years ago

gsantoshgmx, lo hice en C#, ¿te sirve?

gsantoshgmx commented 9 years ago

si, yo también asi lo tengo, gracias El oct 10, 2014 11:51 AM, "marcoovalle" notifications@github.com escribió:

gsantoshgmx, lo hice en C#, ¿te sirve?

— Reply to this email directly or view it on GitHub https://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-58683085 .

gsantoshgmx commented 9 years ago

me refiero a que yo también programo en C#, quedo en espera, saludos

marcoovalle commented 9 years ago

gsantoshgmx, perdón la demora. Entonces, ¿todavía te interesa la solución que hice en C#?

gsantoshgmx commented 9 years ago

si, si me interesa

saludos El oct 13, 2014 3:27 PM, "marcoovalle" notifications@github.com escribió:

gsantoshgmx, perdón la demora. Entonces, ¿todavía te interesa la solución que hice en C#?

— Reply to this email directly or view it on GitHub https://github.com/bigdata-mx/factura-electronica/issues/59#issuecomment-58949663 .