Mensaje Receptor para la Factura Electrónica en Costa Rica 4.2

76
8702

Después de recibir una factura electrónica el Receptor (cliente) tiene la obligación de indicarle a Tributación y al Emisor si Acepta o Rechaza la factura, para lo cual tiene 8 días de tiempo.

…el comprobante electrónico debe de
ser aceptado o rechazado por parte del receptor del comprobante, utilizando el formato indicado
para tal efecto, la confección de este mensaje de aceptado o rechazado por parte del receptor
es de carácter obligatorio para el respaldo de los gastos y debe de ser enviado para su
respectiva validación a la Dirección General de Tributación, en un plazo no mayor a 8 días…

Resolución Comprobantes Electrónicos DGT-R-48-2016_4.2

Este documento se conoce como Mensaje Receptor y es un XML con los datos necesarios para enviarle a Tributación la aceptación o rechazo de un documento en específico.

Ejemplo de un XML (sin firma)

<?xml version="1.0" encoding="UTF-8"?>
<MensajeReceptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2/mensajeReceptor">
     <Clave>50630041800999999999900199999010000000081113004191</Clave>
     <NumeroCedulaEmisor>9999999999</NumeroCedulaEmisor>
     <FechaEmisionDoc>2018-05-24T14:47:00-06:00</FechaEmisionDoc>
     <Mensaje>1</Mensaje>
     <MontoTotalImpuesto>100.000</MontoTotalImpuesto>
     <TotalFactura>1000.000</TotalFactura>
     <NumeroCedulaReceptor>8888888888</NumeroCedulaReceptor>
     <NumeroConsecutivoReceptor>00100001050000000001</NumConsecutivoReceptor>
</MensajeReceptor>

El documento debe ir firmado con Xades-Epes.

La Dirección General de Tributación (DGT) ha decidido que el método de autenticación e integridad de los comprobantes electrónicos será firma digital de los archivos XML por medio de la inclusión de
una etiqueta Signature según lo indica el estándar XMLDSig, el contenido de esta etiqueta será una firma de tipo XAdES-EPES según lo define el estándar ETSI TS 101 903 v1.3.2 o superior.

Los campos del XML se describen de la siguiente manera:

  • Clave: Valor de la Clave de la factura recibida, generada por el emisor.
  • NumeroCedulaEmisor: Número de cédula del emisor de la factura recibida, debe coincidir con la que se indica en el XML de la factura recibida.
  • FechaEmisionDoc: Fecha del momento en que se emite el Mensaje Receptor.
  • Mensaje: Código del mensaje de respuesta. 1 aceptado, 2 aceptado parcialmente, 3 rechazado.
  • MontoTotalImpuesto: Este valor es obligatorio si la factura tiene impuesto, en caso contrario se omite.
  • TotalFactura: Monto total de la Factura, Nota de Débito, Nota de Crédito o Tiquete Electrónico.
  • NumeroCedulaReceptor: Número de cédula del receptor, debe coincidir con el receptor de la factura recibida y que se va a responder.
  • NumeroConsecutivoReceptor: Dato obligatorio compuesto de 20 caracteres que corresponde al número consecutivo del receptor, se compone de la siguiente manera:
    • 1-3: Identifica el local o establecimiento desde se emitió el mensaje de receptor.
      El número 001 corresponde a la oficina central y del 002 en adelante a las sucursales.
    • 4-8: Identifica la terminal o punto de venta, inicia en 00001.
    • 9-10: Corresponde al tipo de documento que estamos trabajando.
      Al ser un mensaje de receptor, debemos elegir entre 05 (aceptación), 06 (aceptación parcial) o 07 (rechazo).
    • 11-20: Consecutivo del receptor iniciando en 1 para cada terminal o sucursal

Documentos Mensaje Receptor:
https://tribunet.hacienda.go.cr/docs/esquemas/2016/v4.2/MensajeReceptor_4.2.xsd
https://tribunet.hacienda.go.cr/docs/esquemas/2016/v4.2/MensajeReceptor_V4.2.pdf

API facturación electrónica Costa Rica – DLL para .NET

Si desea más información del API no dude en contactarnos.

Información: contacto@dotnetcr.com

76 COMMENTS

  1. Buenas Tades, exc documentos. Una consulta y existe algun API, para conocer todos los documentos que estan pendientes por aprobar ??

    Gracias

    • A que te refieres con pendientes de aprobar?
      Por que cuando vos envias la factura a hacienda te dan respuesta máxima en 3 horas y despues para aprobar o rechazar facturas de la parte receptora tienes hasta 8 días para hacerlo, durante este tiempo el emisor deberia de estar consultando por lo menos unas vez al dia el estado de esta factura, y solo consultar las que esten pendientes de aprovación/rechazo.

  2. Hola Roy muy buena información yo pronto tendré que agarrarme con un proyecto en php y tambien en c# que trabaje con la factura electronica. Desde ya he ido investigando y tu blog me cae de maravilla. Sigue asi

    Muy buen material, he aprendido cosas interesantes

    Gracias

  3. Saludos. Como es el proceso para de enviar este documento. la factura electronica me la envía el emisor, entonces mi software o app debe crear este mensaje a partir del xml de la factura o en que direccion debo consultar los mensajes electronicos.

    • El mensaje receptor lo haces basado en los datos del XML que te envía tu proveedor.
      De ahí tomas la clave, numero de cédula del emisor, total de la factura, impuestos, y creas el XML, el proceso de firma y envío es igual a enviar una factura a hacienda.

  4. Buenas, hoy recibi un correo de GTI, donde un cliente mio acepto una factura que le envie. y en el correo viene Clave numerica del mensaje de aceptacion, y es de 50 caracteres, como se compone esa clave? tenes la documentacion.

  5. Hola Roy, cuando inicié con mi proyecto en c#, te hice unas cuantas consultas y me fue de muchísima ayuda tus aportes, te envié un correo solicitándote ayuda de nuevo, pero te voy a pedir por aquí también, necesito obtener el xml de la respuesta de hacienda, me puedes ayudar con eso.

  6. Saludos sr roy, el presenta es para perdile un poco de apoyo con la firma xades, pude observar el trabajo del proyecto FirmaXadesNet y me percato que indica la posible firma xades-bes, serian tan amable de orientarme como podria realizar este tipo de firma con dicha libreria en el github.

    Muchas gracias de antemano

  7. no puedo enviar xml ya firmado y generado por mi, seria por medio de un formulario, pero no se como adaptarlo.
    alguna sugerencia?
    Nicolas Madrigal Sandi
    22506110 70506141

  8. Don Roy, muchas gracias por las explicaciones tan detalladas, tengo una consulta, quizá usted me puede ayudar:
    – una vez que hacienda me devuelve la aprobación de una factura, yo tengo que devolverle al cliente un PDF, este PDF es el firmado? o alguno que me devuelve hacienda? debe tener algún formato especifico?

    De antemano las gracias por la ayuda.

  9. Don Roy,

    Cual es la diferencia entre obtener un aceptado, rechazado o error durante el envío de datos? Solamente me funcionan (aceptado) con los ejemplos en CR libre. El de arriba e incluso utilizando los valores una factura real de un proveedor me da rechazado. Alguna sugerencia?

  10. Buenas tardes Roy,

    Tengo algunas preguntas espero me puedas ayudar con ellas:
    1 – ¿Cual es la diferencia en cuanto a su utilidad de ir a realizar las consultas por medio de: /recepcion/{clave} y /Comprobantes/{clave}?
    2 – ¿Qué pasaría si una factura es rechazada por el Receptor (Cliente) después de haber sido aceptada por Hacienda?

    A espera de respuesta de antemano Gracias.
    Mauricio Flores
    Santa Ana, El Salvador.

    • 1. debes usar /recepcion/{clave}
      ya que ahi te retorna el XML de respuesta de hacienda y mucho más información. En Comprobantes la información es muy limitada y es para otro tipo de reportes.

      2. Si una factura es rechazada por el Receptor, debes hacer una NC y generarle una nueva factura con las correcciones correspondientes. Hacienda te acepta una factura minutos después de haberla enviada y el cliente tiene hasta 8 dias para aceptarla o rechazarla.

      • Gracias Roy,

        Siempre con la pregunta 2, la forma de darme cuenta si el cliente rechaza o no el comprobante es consultar durante esos 8 días usando /recepción/{clave}? o existe una forma en especifico para saber la respuesta del cliente?

  11. Hola Roy, gracias a tu información e podido avanzar con mi proyecto, solo tengo una consulta, como puedo saber si la pagina de hacienda esta caída? Hoy por un par de minutos no pude enviar las facturas pero luego si, probé el internet pero estaba bien, supongo que fue problema de hacienda

  12. Hola Roy, primero decirte que gracias a tu información he podido avanzar con mis proyecto, te consultó lo siguiente: hoy me sucedió que no pude enviar facturas por alrededor de 10min aproximadamente, luego trabajo el sistema como si nada … Supongo que fue problema de la página de hacienda.. Pero como no hago para comprobar que es la página la que esta caída ? Donde puede accesar para saber ? Te agradezco de antemano!

  13. Hola Roy, buen dia.
    En el ejemplo de GitHub, se usa el nodo del mensaje receptor y se asigna a txtEmisorNumero y se usa para asigarle valor a txtReceptorNumero.

    No termino de comprender si al txtEmisorNumero se le asigna , y a txtReceptorNumero se le asigan . y el ejemplo ¿esta con las variables incorrectas?

    Un saludo fraterno.

    https://github.com/royrojas/FacturaElectronicaCR/blob/1151652b7e5dd86e6d0ddb3dfbb6b14ffdf8981e/FacturaElectronicaCR_VB/TestFacturaXMLCR.vb#L70-L77

  14. Buenas

    Roy muy agradecido por todo el material que has publicado, tengo una pregunta estoy tratando de obtener el mensaje de respuesta de una aceptacion de la factura pero siempre me aparece Rechazado y el error firma no es valida, adjuto la forma como lo estoy probando
    Gracias

    string URL_RECEPCION = “https://api.comprobanteselectronicos.go.cr/recepcion-sandbox/v1/”;
    HttpClient http = new HttpClient();

    http.DefaultRequestHeaders.Add(“authorization”, (“Bearer ” + TK));

    HttpResponseMessage response = http.GetAsync((URL_RECEPCION + (“recepcion/50626091800050347075100100001010000000194386305205-00100001050000000082”))).Result;
    string res = await response.Content.ReadAsStringAsync();

    object Localizacion = response.StatusCode;

    jsonRespuesta = res.ToString();

    RespuestaHacienda RH = Newtonsoft.Json.JsonConvert.DeserializeObject(res);

    • Buenas noches Don Roy. Yo tengo la misma situación en sandbox a la hora de enviar un mensaje receptor: Hago una FE con el mismo emisor-receptor para despues poder aceptarla con el MR. No tengo error de firmas ni de armado XML. Pongo el ejemplo del colegio anterior ya que es una situación similar:

      string URL_RECEPCION = «https://api.comprobanteselectronicos.go.cr/recepcion-sandbox/v1/»;
      HttpClient http = new HttpClient();

      http.DefaultRequestHeaders.Add(«authorization», («Bearer » + TK));

      HttpResponseMessage response = http.GetAsync((URL_RECEPCION + («recepcion/50626091800050347075100100001010000000194386305205-00100001050000000082»))).Result;
      string res = await response.Content.ReadAsStringAsync();

      object Localizacion = response.StatusCode;

      jsonRespuesta = res.ToString();

      RespuestaHacienda RH = Newtonsoft.Json.JsonConvert.DeserializeObject(res);

      Pero el error que me da hacienda es este:
      Este comprobante fue aceptado en el ambiente de pruebas, por lo cual no tiene validez para fines tributarios El comprobante electrónico tiene los siguientes errores: [ codigo, mensaje, fila, columna -29, “El comprobante al cual se está haciendo referencia en el espacio denominado ‘clave del comprobante’, no se encuentra registrado en las bases de datos de la Administración Tributaria, favor revisar dicha clave.”, 0, 0 ]
      Sin embargo, al consultar la clave de FE sale “aceptado” pero cuando hago la combinación de clave-consecutivo MR en el api sale rechazado.

      No sé que será esta situación. Gracias de antemano.

  15. Buenas Tardes, a la hora de hacer el GetTokenHacienda me da Error: 66824994 y no se que puede ser. no hay una lista de errores?. Gracias, en res sale {“error_description”:”Invalid user credentials”,”error”:”invalid_grant”}

    • ese código de error no lo había visto antes, pero cuando indica Invalid user credentials es que el usuario para generar el token es incorrecto. el usuario lo debes de generar en el ATV es largo y la clave también es larga, el sistema te lo asigna automáticamente. Importante es que no es el mismo usuario para entrar al ATV

  16. Buenos días. Les agradezco mucho todo el trabajo que hacen con este sitio.

    ¿Qué pasa cuando Hacienda me rechaza una factura/ND/NC?

    ¿Hay alguna diferencia en el paso a seguir si el cliente ya la recibió o no la ha recibido?

    ¿Admite Hacienda que mi cliente envíe una respuesta de aceptación por ese documento que me generó un mensaje de error?

    ¿Debo reversar ese documento aunque Hacienda me lo haya rechazado?

    • – Cuando hacienda te rechaza una NC debes hacer una ND para ajustarla y viceversa.
      – Si el cliente ya recibió un documento y despues Hacienda te lo rechazó, entonces debes enviarle al cliente los documentos de ajuste NC y despues enviarle la factura corregida.
      – Si un documento fue rechazado por Hacienda, no se puede aceptar ni rechazar, te va a dar error el sistema.
      – Si debes de reversar todo documento rechazado.

  17. Hola roy, buen dia
    estoy tratando de enviar el mensaje de receptor pero me da problemas, no se si el xml esta malo o que puede ser, la varialbe response me da el siguiente mensaje con tadas las compras que quiero responder

    {StatusCode: 400, ReasonPhrase: ‘Bad Request’, Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
    {
    Connection: keep-alive
    Accept-Encoding: gzip
    Access-Control-Allow-Headers: Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers
    Access-Control-Allow-Methods: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH
    Access-Control-Allow-Origin: *
    Access-Control-Max-Age: 3600
    Breadcrumbid: ID-pebpriin0301-prod-comprobanteselectronicos-go-cr-40872-1538167415412-0-18368613
    Jmsxgroupid: 50627091800310108143700100001010000004117327091811
    User-Agent: Tyk/v2.7.0
    X-Error-Cause: El comprobante [50627091800310108143700100001010000004117327091811] ya fue recibido anteriormente.
    X-Http-Status: 400
    X-Ratelimit-Limit: -1
    X-Ratelimit-Remaining: 0
    X-Ratelimit-Reset: 0
    Expect-CT: max-age=604800, report-uri=”https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct”
    CF-RAY: 46312f7c6a3f50b0-MIA
    Date: Mon, 01 Oct 2018 19:02:46 GMT
    Set-Cookie: __cfduid=de119ce1ce890b41e63355e2251b3490f1538420566; expires=Tue, 01-Oct-19 19:02:46 GMT; path=/; domain=.comprobanteselectronicos.go.cr; HttpOnly
    Server: cloudflare
    Content-Length: 0
    Content-Type: text/plain; charset=UTF-8
    }}

    muchas graicas por tu ayuda

  18. Hola Roy
    Tengo un desarrollo propio de factura electrónica el cual esta funcionando perfectamente con la emisión y aprobación de facturas así como de Notas de Crédito.

    Sin embargo ahora que estoy haciendo la aceptación sube bien la información pero me devuelve que la firma está mala

    Ya la revise en https://www.signatur.rtr.at/en/vd/Pruefung.html y me sale bien.

    La firma del comprobante electronico no es valida
    0

    Tienes alguna idea como poder resolver este caso, te puedo enviar los XML si deseas para validacion.

    Saludos y muchisimas gracias por la valiosa ayuda

    • Si la factura y nc te funciona entonces debes de estar haciendo algo diferente con los MR, revisa como manipulas el XML despues de firmado, fijate que todo lo estés haciendo igual, ya que si te funciona en un lado debe de funcionarte en el otro.

  19. Hola,
    Te mandé un par de correos.

    Al usar su código, conseguí que me funcionará todo perfecto, pero tengo una duda a la horad e volver a consultar el estado de un XML de aceptacion/rechazo de facturas.

    Uso ‘Location’ para consultar el estado cuando mando el XML y me responde todo OK.
    Si quisiera volver a comprobar el estado de un XML, tengo que pasarle todos los datos(clave,fecha,tipoidentificacion,numeroidentificacion,consecutivo,comprobantexml….)
    O puedo consultarlo directamente con la URL que me mandaron cuando lo mandé en Location ?

    Espero pueda ayudarme.
    Gracias

    Saludos,

  20. Buenas Roy

    Primero agradecer por compartir tanta informacion alrededor de este tema. De verdad que sin los recursos que he visto en este sitio, jamas lo hubiese logrado.
    Seguidamente, queria consultarte ya que he logrado enviar y confirmar facturas, notas de credito y debito y en apariencia tambien logro enviar el mensaje receptor con el unico detalle de que no logro validar si fue aceptado o no.

    Leyendo por toda la web solo he encontrado dos cosas en relacion a la consulta de este tema aunque ninguna aclara cual seria en realidad el metodo a seguir.

    La primera referencia que encontre dice que para hacer la consulta del estado del mensaje receptor que se envia a hacienda se debe concatenar la clave de la factura, un guion y luego el consecutivo que el receptor este utilizando (seria algo asi “clave-consecutivoreceptor”) y ese valor se envia al mismo url donde se consultan los demas documentos (facturas, NC, etc..) sin embargo siempre obtengo como respuesta un bad request.
    EL URL del request quedaria asi “https://api.comprobanteselectronicos.go.cr/recepcion/v1/recepcion/clave-consecutivoreceptor” .
    Leyendo aun mas otras personas mencionan que definitivamente no se puede consultar por ese medio y que se utiliza otro url o metodo sin detallar como. Tambien mencionan que en el json que se envia viene una respuesta con un header y q ahi podria encontrar como hacer la consulta sin embargo nunca obtengo dicha respuesta del API o al menos no lo he podido descifrar.

    Podrias ayudarme a aclarar cual es en realidad el metodo a seguir?

    • Hola, para consultar mensajes receptor es por el mismo url y es correcto debes hacerlo clave-consecutivoReceptor

      Cuando envias el xml en la primera respuesta está el location ahi te muestra el url exacto.
      Es usando el Get de recepción

  21. Buenas Tardes Roy. los tutoriales están excelentes, pero estoy pegado con los que me sale un error igual al de Rolando. Entre a ATV y le puse esa clave y sí pasó en la página de hacienda. traté poniendo la cedula del receptor y emisor al revés y tengo el mismo error:

    {StatusCode: 400, ReasonPhrase: ‘Bad Request’, Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
    {
    Connection: keep-alive
    Accept-Encoding: gzip
    Access-Control-Allow-Headers: Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers
    Access-Control-Allow-Methods: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH
    Access-Control-Allow-Origin: *
    Access-Control-Max-Age: 3600
    Breadcrumbid: ID-pebpriin0301-prod-comprobanteselectronicos-go-cr-40934-1542088967414-0-147761841
    Jmsxgroupid: 50623111800310154989700100001010000000009174957851
    User-Agent: Tyk/v2.7.4
    X-Error-Cause: El comprobante [50623111800310154989700100001010000000009174957851] ya fue recibido anteriormente.
    X-Http-Status: 400
    X-Ratelimit-Limit: -1
    X-Ratelimit-Remaining: 0
    X-Ratelimit-Reset: 0
    Expect-CT: max-age=604800, report-uri=”https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct”
    CF-RAY: 48267ac308dd52e4-MIA
    Date: Sat, 01 Dec 2018 15:10:18 GMT
    Set-Cookie: __cfduid=d63a5514d409196575e00bfa6cc2232a71543677015; expires=Sun, 01-Dec-19 15:10:15 GMT; path=/; domain=.comprobanteselectronicos.go.cr; HttpOnly
    Server: cloudflare
    Content-Length: 0
    Content-Type: text/plain; charset=UTF-8

  22. Buenos dias Roy. Te agradeceria si me puedes ayudar con este eror al enviar la aceptacion de la factura electronica recibida:

    Error: No se encuentra el encabezado especificado

    La firma de xml es correcta, ya la verifique.

    El error da cuando envio el comando http.PostAsync desde vb.net

    url_recepcion= “https://api.comprobanteselectronicos.go.cr/recepcion-sandbox/v1/recepcion”

    Codigo vb.net
    Dim RH As New MensajeHacienda
    Dim http As HttpClient = New HttpClient
    JsonEnvio = “{” + “””” + “clave” + “””” + “:” + “””” + objRecepcion.clave + “””” + “,”
    JsonEnvio += “””” + “fecha” + “””” + “:” + “””” + objRecepcion.fecha + “””” + “,”
    JsonEnvio += “””” + “emisor” + “””” + “:{”
    JsonEnvio += “””” + “tipoIdentificacion” + “””” + “:” + “””” + objRecepcion.emisor.TipoIdentificacion + “””” + “,”
    JsonEnvio += “””” + “numeroIdentificacion” + “””” + “:” + “””” + objRecepcion.emisor.numeroIdentificacion
    JsonEnvio += “””” + “},”
    JsonEnvio += “””” + “receptor” + “””” + “:{”
    JsonEnvio += “””” + “tipoIdentificacion” + “””” + “:” + “””” + objRecepcion.receptor.TipoIdentificacion + “””” + “,”
    JsonEnvio += “””” + “numeroIdentificacion” + “””” + “:” + “””” + objRecepcion.receptor.numeroIdentificacion
    JsonEnvio += “””” + “},”
    JsonEnvio += “””” + “consecutivoReceptor” + “””” + “:” + “””” + objRecepcion.consecutivoReceptor + “””” + “,”
    JsonEnvio += “””” + “comprobanteXml” + “””” + “:” + “””” + objRecepcion.comprobanteXml + “”””
    JsonEnvio += “}”
    Dim oString As StringContent = New StringContent(JsonEnvio)
    http.DefaultRequestHeaders.Add(“authorization”, “Bearer ” + TK)

    ‘SE ENVIA LA PETICION AL SERVIDOR DEL MINISTERIO DE HACIENDA

    Dim response As HttpResponseMessage = http.PostAsync(URL_RECEPCION + “recepcion”, oString).Result
    Dim res As String = response.Content.ReadAsStringAsync.Result

    Xml:

    50623121800123456789000100016010000001613202001613
    12344567890
    2019-01-08T06:27:57
    1
    3307.45
    28749.41
    3101123456
    00100001050000000074

    Saludos y Gracias.
    Giacomo Santana

  23. Roy, una consulta, cuando mando el mensaje de receptor, hacienda me manda un mensaje:
    -78, “La numeración consecutiva no cumple con la estructura en el ‘artículo 4 numeración consecutiva’ de la resolución 48-2016 de comprobantes electrónicos.”, 0, 0
    -29, “El comprobante al cual se está haciendo referencia en el espacio denominado ‘clave del comprobante’, no se encuentra registrado en las bases de datos de la Administración Tributaria, favor revisar dicha clave.”, 0, 0

    No se, si es que el xml, que manda el proveedor esta malo, o yo estoy mandando mal la informacion, me podrias ayudar.

    • El primer error es que el numero consecutivo tiene algo malo en el, debes revisar todos los campos de los que se componen esos 20 caracteres.
      El segundo error es que el XML que estas intentando aprobar o rechazar no fue aprobado por hacienda, debes hablar con el proveedor tuyo para que te genere una nueva factura.

  24. En el mensaje que me manda hacienda, me dice lo siguiente:

    -78, “La numeración consecutiva no cumple con la estructura en el ‘artículo 4 numeración consecutiva’ de la resolución 48-2016 de comprobantes electrónicos.”, 0, 0
    -29, “El comprobante al cual se está haciendo referencia en el espacio denominado ‘clave del comprobante’, no se encuentra registrado en las bases de datos de la Administración Tributaria, favor revisar dicha clave.”, 0, 0

    Sera que el proveedor emitio mal el xml, o es que hay algun dato que estoy mandando mal?

    • El primer error es que el numero consecutivo tiene algo malo en el, debes revisar todos los campos de los que se componen esos 20 caracteres.
      El segundo error es que el XML que estas intentando aprobar o rechazar no fue aprobado por hacienda, debes hablar con el proveedor tuyo para que te genere una nueva factura.

  25. Buenas tardes, quisiera consultarle acerca de este mensaje que me envia el ATV desde hace unos dias, “VUELVA A INTENTAR EL ENVIO. PROBLEMA AL ENVIAR XML.STATUSCODE(03):0 “, le agradezco la ayuda de antemano, saludos

  26. Hola Roy, tremendo tus aportes del tema. Te felicito, y de paso queria hacerte una consulta. Estoy tratando de consumir este metodo:
    https://api.comprobanteselectronicos.go.cr/recepcion/v1/comprobantes. Pasandole los query strings que solicita pero siempre me da este mensaje de error:

    X-Error-Cause →No esta autorizado para ver los documentos de este emisor.

    Obviamente le paso la cedula del emisor pero no entiendo porque me da esto.

    Esta opcion me serviria para saber todas las claves que han sido enviadas a hacienda, independientemente de con que sistema se hayan enviado las facturas no?

    Saludos y gracias de antemano

    • Hola Carlos, pero en esa funcion solo puedes consultar tus propias facturas. El emisor de la consulta debe ser el mismo emisor que solicitó el token. Creo que ahí está el error.

LEAVE A REPLY

Please enter your comment!
Please enter your name here