lunes, 1 de septiembre de 2014

Web Service - Consultas CFDI SAT

Hablando del área de contabilidad en México, lo de hoy es la Facturación Electrónica, muchos PAC´s, proveedores para facturar se ponen al corriente para trabajar y estar al día con los servicios que esta nueva implementación requiere, ya que gracias a las exigencias del SAT, a los clientes no les queda de otra mas que invertir en estos proyectos.

Hoy comparto algo que encontré en la web y que no sabia que existía y que creo muchos no saben que existe, es un Web Service que ofrece el SAT (por cierto gratuito) para consultar el estatus de una factura almacenada en su Base de datos, ya que hoy por lo visto los clientes estudian hasta la más minima validación en el xml para pagar una factura, con este servicio, nos asegura la vigencia o estatus del CFDI.

La consulta sirve mas al cliente que recibe un documento Cfdi a pagar, esto para validar que la factura que esta recibiendo es válida y vigente ante el SAT, ya que tambien predominan las facturas electrónicas apócrifas.

Les dejo la liga donde pueden encontrar la documentación:
ftp://ftp2.sat.gob.mx/asistencia_servicio_ftp/publicaciones/cfdi/WS_ConsultaCFDI.pdf

Web Service de Consulta: https://consultaqr.facturaelectronica.sat.gob.mx/consultacfdiservice.svc?wsdl

Y un pequeño ejemplo de como pueden implementarlo en ASP.NET con C#, muy importante mencionar que este servicio requiere pasar algunos datos como: Rfc del Emisor, Rfc del Receptor, Total de la factura y UUID (folio fiscal digital):


string querySend = "?re=" + txtRfcEmisor.Text + "&rr=" + txtRfcReceptor.Text + "&tt=" + txtTotalFactura.Text + "&id=" + txtUUID.Text;

            SATConsultaCFDIService.ConsultaCFDIServiceClient oConsulta = new SATConsultaCFDIService.ConsultaCFDIServiceClient();
            SATConsultaCFDIService.Acuse oAcuse = new SATConsultaCFDIService.Acuse();
            
            oAcuse = oConsulta.Consulta(querySend);

            oConsulta.Close();            

            if(oAcuse.Estado.ToLower()=="vigente")
            {
                lbMensajeWs.Text = "
";
            }
            else if (oAcuse.Estado.ToLower() == "cancelado")
            {                
                lbMensajeWs.Text = "
";
            }
            else 
            {
                lbMensajeWs.Text = "
";   
            }
    

30 comentarios:

  1. Vientos Porfirio. Que bueno que lo publicaste porque el documento del SAT es una porquería. Te debo una cerveza.

    ResponderEliminar
  2. Justo lo que andaba buscando. Buen aporte

    ResponderEliminar
  3. Pregunta...

    Entonces para hacer una descarga masiva de XML del SAT necesito ese link y vincularlo con mi interfaz gráfica en c# ?

    ResponderEliminar
    Respuestas
    1. Para la descarga masiva es completamente diferente la liga

      Eliminar
  4. hola porfirio una pregunta este programa y servicio se puede realizar para PHP y html

    ResponderEliminar
    Respuestas
    1. podrias hacerlo, lee el xml y has la validación con el ws del sat

      Eliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. sirve tambien para la version 3.3?

    ResponderEliminar
  7. Hola, saben si este servicio seguirá vigente para la versión 3.3?

    ResponderEliminar
  8. Lo malo de este webservice es que en ocaciones no encuentra los uuid a validar, y por lo contrario si validas el mismo uuid con los mismos datos que envias en el webservice pero en el portal de SAT, aparece como VIGENTE, ya me comunique al SAT y no me dan una respuesta fiable. He andado buscando opciones pero tampoco he encontrado nada satisfactorio.

    ResponderEliminar
    Respuestas
    1. podrias dar un ejemplo, igual lo verificamos

      Eliminar
    2. Buen día Miguel ramos, curiosamente me tope un el problema de que el web service no me detecta una factura mientras que en el portal del SAT si, ¿Sabrás por que puede suceder eso? Gracias.

      Eliminar
    3. Talvez el rfc cuenta con algun caracter especial como el amperson ? "&"

      Eliminar
  9. Hola, al tratar de comunicarme al webservice me pide crear un cliente con SvcUtil.exe. Pero en SharePoint Online (O365) no tengo forma de generarlo. Conocen alguna alternativa para poder trabajar este servicio?. Gracias de antemano.

    ResponderEliminar
    Respuestas
    1. Estas haciendo una referencia mal, hay dos formas de agregar como servicio web o referencia, si en la referencia que estas haciendo no te sale, entonces agregalo de la otra forma

      Eliminar
  10. Este Servicio Web del SAT desde el pasado 1 de Nov dejo de funcionar alguien sabe que paso? o cambio la URL del Web Service?

    ResponderEliminar
    Respuestas
    1. a mi también me interesa la liga si alguien la tiene de favor publiquenla

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. Actualmente el servicio está activo, solamente que oculto la definición del servicio (wsdl) por cuestiones de seguridad, hay que hacer las peticiones directamente al svc, es decir a la siguiente url: https://consultaqr.facturaelectronica.sat.gob.mx/consultacfdiservice.svc

      Eliminar
  11. Ya lo consulte con el SAT, y no, ya no esta disponible ( ni va a estar )

    ResponderEliminar
    Respuestas
    1. Actualmente el servicio está activo, solamente que oculto la definición del servicio (wsdl) por cuestiones de seguridad, hay que hacer las peticiones directamente al svc, es decir a la siguiente url: https://consultaqr.facturaelectronica.sat.gob.mx/consultacfdiservice.svc

      Eliminar
    2. esta ruta ya no la encuentra https://consultaqr.facturaelectronica.sat.gob.mx/consultacfdiservice.svc alguien me puede ayudar

      Eliminar
  12. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  13. VALIDAR CFDI SAT 2019
    17/01/2019
    APLICACION PHP Y HTML PARA VALIDAR ESTATUS Y ESTADO(cancelable/no cancelable).

    https://sellfy.com/p/AVmx/

    ResponderEliminar
  14. esta url ya no funciona: https://consultaqr.facturaelectronica.sat.gob.mx/consultacfdiservice.svc

    alguien sabe cual es la correcta o como llaman esa url en asp.net? ya que como referencia de servicio no me funciona. gracias Saludos.

    ResponderEliminar
  15. Sí funciona, chequen esto:

    https://developers.sw.com.mx/knowledge-base/servicio-publico-de-consulta-estatus-cfdi-sat/

    ResponderEliminar
  16. Hola, mi aplicacion funcionaba perfecto hasta el lunes pasado, desde entonces no se comunica con el servicio, esta desarrollada en c# con framework 4.5.2, como pueden ver hace rato que la hice y funcionaba perfecto, hoy me manda errores al definir ConsultaCFDIServiceClient diciendome InnerChannel = 'WSSAT.InnerChannel' threw an exception of type 'System.ServiceModel.CommunicationObjectFaultedException'

    Alguna idea?

    ResponderEliminar
    Respuestas
    1. Me pasa lo mismo, a veces falla el WS pero esperas unos dias y ya se restablece pero ahora no, saben si cambio el URL o algo?

      Eliminar
  17. Me marcar este error: en chsarp 2019
    El objeto de comunicación, System.ServiceModel.ChannelFactory`1[LECTOR_CFDI.ConsultaCFDService.IConsultaCFDIService], no se puede usar para la comunicación porque se encuentra en el estado Faulted.

    ResponderEliminar