Sobre el autor

Roy Rojas

Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub

66 Comentarios

  1. 1

    Jose Espinoza

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

    Gracias

    Responder
    1. 1.1

      Roy Rojas

      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.

      Responder
  2. 2

    Marcos Flores

    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

    Responder
    1. 2.1

      Roy Rojas

      Excelente, que bueno haberte ayudado.

      Responder
  3. 3

    Danny Ortiz

    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.

    Responder
    1. 3.1

      Roy Rojas

      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.

      Responder
  4. 4

    Doris

    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.

    Responder
  5. 5

    William Ramírez Zúñiga

    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.

    Responder
    1. 5.1

      Roy Rojas

      Hola, aqui hay un ejemplo. En uno de los tabs está el de respuesta de hacienda.
      https://github.com/royrojas/FacturaElectronicaCR

      Responder
  6. 6

    German

    Hola Roy.
    Una consulta, en teoría todas las facturas recibido llega como correo, uno no puede simplemente aceptando y rechazando directamente en la página de hacienda?
    O sea como emisor usamos nuestro sistema para enviar factura a cliente, y posteriormente los clientes usa Api atv de Hacienda para aceptar factura reciBido directamente?
    https://www.hacienda.go.cr/ATV/ComprobanteElectronico/frmSubirXML.aspx

    Responder
    1. 6.1

      Roy Rojas

      Hola German, perdona pero no entendí tu pregunta, podrías aclararla.

      Responder
  7. 7

    Leomar Tua

    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

    Responder
    1. 7.1

      Roy Rojas

      Hola, la firma del XML se hace con Xades-Epes aquí esta el ejemplo https://github.com/royrojas/FacturaElectronicaCR
      y en la carpeta componentes están los dll requeridos. Y en la carpeta Clases/Firma.cs esta el ejemplo para firmar.

      Responder
      1. 7.1.1

        Juan

        Hola, que tal.

        me base en tu ejemplo para la firma del xml, la vdd me ah sido de bastante utilidad, muchas gracias por tu aporte, solo que eh tenido unos problemas, la firma cuando genero un tiquete electronico esta correcta, cuando hago una factura electronica y la envio, me dice que la firma es incorrecta y utilizo el mismo metodo de firma para ambos, me podrias dar una sugerencia de que podria revisar, te lo agradeceria mucho.

        Saludos.

        Responder
  8. 8

    Nicolas Madrigal Sandi

    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

    Responder
    1. 8.1

      Roy Rojas

      Hola Nicolas aqui hay un ejemplo de como enviar los xml a hacienda.
      https://github.com/royrojas/FacturaElectronicaCR

      Responder
  9. 9

    Juan

    ya los habia revisado y utilizo el ultimo.

    seria probar con cada uno.

    Saludos

    Responder
  10. 10

    Roberto Quiros

    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.

    Responder
    1. 10.1

      Roy Rojas

      Usted le debe de enviar al cliente, el XML firmado y la factura gráfica en PDF.

      Responder
  11. 11

    Ruddy

    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?

    Responder
    1. 11.1

      Roy Rojas

      Hola, habria que ver el error completo que te retorna el servicio de hacienda. Escribeme al correo.

      Responder
  12. 12

    Mauricio Flores

    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.

    Responder
    1. 12.1

      Roy Rojas

      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.

      Responder
      1. 12.1.1

        Mauricio Flores

        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?

        Responder
        1. 12.1.1.1

          Roy Rojas

          El Receptor tiene la olbligación de reportarte si acepta o rechaza la factura. No hay forma de que usted como emisor se de cuenta de eso por ningún medio.

          Responder
  13. 13

    Rolando

    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

    Responder
    1. 13.1

      Roy Rojas

      Hola, puedes usar este sitio web para preparar tu aplicacion para cualquier tipo de respuesta
      https://httpstat.us/

      ahi estan todos los posibles retornos de un httprequest.

      Responder
  14. 14

    Rolando Obando

    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!

    Responder
    1. 14.1

      Roy Rojas

      Si hacienda estuvo fallando hoy en la tarde y es probable que siga intermitente.

      puedes usar este sitio web para preparar tu aplicacion para cualquier tipo de respuesta
      https://httpstat.us/

      ahi estan todos los posibles retornos de un httprequest.

      Responder
  15. 15

    Carlos Sánchez

    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

    Responder
    1. 15.1

      Roy Rojas

      te lo contesté por correo. Era solo para reutilizar el código del demo.

      Responder
  16. 16

    Jorge Frater

    Gracias por el aporte, por cierto su ejemplo debe cerrar con en ves de

    Responder
  17. 17

    Gerald villegas

    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);

    Responder
    1. 17.1

      Roy Rojas

      Primero debes descartar que tengas problemas con la firma. Prueba el XML firmado en este sitio
      https://www.aleksey.com/xmlsec/xmldsig-verifier.html

      Responder
  18. 18

    Walter Williams

    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”}

    Responder
    1. 18.1

      Roy Rojas

      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

      Responder
  19. 19

    Randall Calvo Anchía

    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?

    Responder
    1. 19.1

      Roy Rojas

      – 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.

      Responder
  20. 20

    rolando

    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

    Responder
    1. 20.1

      Abigail

      A mi tambien me pasa lo mismo, cual es la respuesta correcta cuando uno acepta/rechaza/acepta parcial una factura? Gracias por la ayuda brindada.

      Responder
    2. 20.2

      Humberto

      Tengo el mismo problema, “El comprobante .. ya fue recibido anteriormente” ¿Cómo lo resolvió?

      Responder
      1. 20.2.1

        Roy Rojas

        Si te dice que el comprobante ya fue recibido debes revisar tus consecutivos. Ahora lo estas haciendo en pruebas o producción.

        Responder
    3. 20.3

      Esteban Coto

      yo tengo exactamente el mismo problema, el xml esta bien y tiene el formato correcto para un mensaje receptor pero a la hora de enviarlo, la validacion que hace es como si quisiera enviar la factura original y no el mensaje receptor como tal.
      Si lo lograste resolver, te agredeceria tu ayuda

      Responder
      1. 20.3.1

        Roy Rojas

        El XML del mensaje receptor se envia igual, lo que cambia es la forma en como haces la consulta del estado. Cuál error te esta retornando?

        Responder
    4. 20.4

      Walter Williams

      Buenos días. me está pasando lo mismo. pudiste resolverlo?

      Responder
    5. 20.5

      Roy Rojas

      Ese mensaje de error no es de un mensaje receptor, estas seguro que estas enviando el documento correcto?

      Responder
  21. 21

    Rafael Roig

    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

    Responder
    1. 21.1

      Roy Rojas

      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.

      Responder
  22. 22

    Fran

    Estimado la irma de tipo XAdES-EPES es la misma que se usa para las factura, tiquetes, nc,nd? cierto?

    Responder
    1. 22.1

      Roy Rojas

      Es la mismo tipo de firma para todos los documentos.

      Responder
  23. 23

    Fran

    Me refiero a este procemiento X509Certificate2

    Responder
  24. 24

    Ramon Arevalo

    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,

    Responder
    1. 24.1

      Roy Rojas

      Hola, la consulta de los MR se debe hacer solo con la clave y consecutivo, en el demo está el ejemplo

      V1.0.44
      C#: https://1drv.ms/u/s!AtqYg4eM-S_8ibc7omW9f-KvenxIdQ
      VB: https://1drv.ms/u/s!AtqYg4eM-S_8ibc6r_4Hk6C6EwaNtw

      Responder
  25. 25

    Esteban

    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?

    Responder
    1. 25.1

      Roy Rojas

      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

      Responder
  26. 26

    Walter Williams

    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

    Responder
    1. 26.1

      Roy Rojas

      Hola, ese error indica que ya habías enviado esa factura previamente, osea está repetida.

      Responder
  27. 27

    Giacomo

    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

    Responder
    1. 27.1

      Roy Rojas

      Hola, donde verificaste la firma?
      Verificaste el esquema del XML?

      Responder
  28. 28

    Edwin Lemus

    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.

    Responder
    1. 28.1

      Roy Rojas

      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.

      Responder
  29. 29

    Edwin Lemus

    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?

    Responder
    1. 29.1

      Roy Rojas

      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.

      Responder

Deja un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

2015 Powered by DotNetcr.com