> For the complete documentation index, see [llms.txt](https://wikiedoc.guru-soft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wikiedoc.guru-soft.com/gt/integraciones-y-servicios/rest/emision/comprobante-de-retencion.md).

# Comprobante de Retención

## Introducción

El Comprobante de Retención Electrónico es un tipo de documento tributario electrónico que se utiliza para documentar las retenciones aplicadas por agentes autorizados, en concepto de Impuesto a la Transferencia de Bienes Muebles y a la Prestación de Servicios (IVA) o retenciones del Impuesto sobre la Renta. Este documento respalda las retenciones que el agente retenedor realiza a proveedores de bienes o servicios, sirviendo como prueba para ambas partes ante la Administración Tributaria.

### Características

* **Identificación del receptor:** El Comprobante de Retención Electrónico se emite incluyendo obligatoriamente los datos del contribuyente al que se le realiza la retención, especificando su Número de Identificación Tributaria (NIT), Número de Registro de Contribuyente (NRC), así como su nombre o razón social.
* **Información clara y detallada**: Incluye información detallada sobre la base imponible, el porcentaje aplicado, el monto retenido y el impuesto relacionado (IVA o renta), facilitando claridad y transparencia en la transacción para ambas partes.
* **Uso específico para operaciones sujetas a retención**: Se utiliza exclusivamente en operaciones donde la legislación tributaria vigente exige al comprador o adquiriente actuar como agente retenedor del impuesto correspondiente, documentando adecuadamente dicha retención.
* **Desglose claro**: Todos los montos indicados en el Comprobante de Retención Electrónico muestran claramente la base imponible, porcentaje de retención y monto exacto retenido, permitiendo al receptor utilizar esta retención como crédito fiscal o anticipo del impuesto según corresponda.

## Autenticación

Para acceder al servicio de facturación electrónica a través de nuestra API REST, los usuarios deben autenticarse utilizando el método de Authorization Bearer Token. Este proceso implica dos pasos principales:

1. **Autenticación Básica:** Los usuarios envían sus credenciales (usuario y contraseña) codificadas en base64 en el encabezado de la solicitud.
2. **Identificador del Servicio:** Junto con las credenciales, los usuarios deben especificar el identificador del servicio que desean utilizar.
3. **Generación del Token:** Los usuarios pueden generar el token enviando una solicitud \[GET] a `URL_API_AUTH/ServicioEDOC`, incluyendo el identificador del servicio deseado.

**Servicios Disponibles**

Cada servicio dentro de la plataforma tiene un identificador único que debe ser proporcionado durante la solicitud de autenticación. A continuación, se muestra una tabla con los identificadores y nombres de los servicios disponibles:

<table data-full-width="true"><thead><tr><th width="96">ID</th><th>Servicio	</th></tr></thead><tbody><tr><td>1</td><td>Emisión de Comprobante</td></tr><tr><td>2</td><td>Recepción de Comprobante</td></tr><tr><td>3</td><td>Consulta de Emisión</td></tr><tr><td>4</td><td>Consulta de Recepción</td></tr><tr><td>7</td><td>Servicio de correos</td></tr></tbody></table>

**Seguridad y Manejo del Token**

* **Almacenamiento Seguro:** Es esencial que el token se almacene de manera segura para evitar accesos no autorizados.
* **Caducidad y Renovación:** Los tokens tienen un período de validez limitado y deben ser renovados periódicamente.
* **Revocación de Tokens:** En caso de compromiso, el token debe ser revocado inmediatamente.

{% openapi src="/files/lsBoc12EvbgRyOzA3vJA" path="/ServicioEDOC" method="get" %}
[swagger-auth.json](https://content.gitbook.com/content/OikqP7ypTHbUcKwkhlcA/blobs/ogJFvrrkGlBc5n6deP8X/swagger-auth.json)
{% endopenapi %}

## Emisión de CRE

En esta sección, abordaremos los detalles técnicos específicos del proceso de emisión de Comprobante de Retención utilizando la tecnología REST. Exploraremos cómo este enfoque facilita la integración eficiente y segura de los sistemas de facturación dentro de las infraestructuras empresariales existentes, asegurando la conformidad con los estándares legales y fiscales relevantes. Nos centraremos en la implementación de REST para describir las interacciones entre los sistemas y los métodos empleados para la transmisión de datos de facturación electrónica.

## Estados eDoc

<table data-header-hidden data-full-width="false"><thead><tr><th></th></tr></thead><tbody><tr><td>La gestión adecuada de los estados eDoc es crucial en el sistema de facturación electrónica, ya que cada estado refleja una etapa específica en el proceso de validación y envío de documentos a la entidad tributaria. A continuación, se presenta una tabla que describe cada uno de los estados eDoc, proporcionando claridad sobre las acciones necesarias según el estado en que se encuentre el documento.</td></tr></tbody></table>

<table data-full-width="false"><thead><tr><th width="102">Estado </th><th width="266">Descripción</th><th width="232">Causa</th><th width="209">Solución</th><th data-hidden>Acción Recomendada</th></tr></thead><tbody><tr><td>2</td><td>Documento autorizado por el ente tributario</td><td>Documento autorizado por el SAT</td><td><p>No aplica</p><p></p></td><td>No se requieren acciones adicionales.</td></tr><tr><td>3</td><td>Documento no autorizado por el ente tributario</td><td>Documento no superó la validación debido al incumplimiento de las reglas de negocio establecidas por el SAT</td><td><p>Realizar la corrección de los datos del documento y emitirlo nuevamente</p><p></p></td><td>Notificar a soporte técnico. No reenviar automáticamente.</td></tr><tr><td>4</td><td>Error al emitir o consultar el documento en eDoc</td><td>Ha ocurrido un error en eDoc, el cual ha sido identificado con un código para su seguimiento y solución</td><td>Levantar un ticket de atención en el portal de soporte técnico de GuruSoft</td><td>Corregir según indicaciones y luego reenviar manualmente.</td></tr><tr><td>5</td><td>Documento en espera de autorización por parte del ente tributario</td><td>eDoc no pudo establecer una conexión con el SAT para consultar la autorización del documento, se realizará una reconsulta automática posteriormente</td><td>Realizar la consulta del estado del documento mediante la API correspondiente, una vez transcurrido un intervalo de tiempo adecuado</td><td>No reenviar. Consultar el estado final del DTE a partir de las 5AM del día siguiente.</td></tr><tr><td>6</td><td><p>Documento devuelto por el ente tributario.</p><p><br></p></td><td>Documento no cumplió con las validaciones de estructura y/o formato XML requeridas por el SAT</td><td>Realizar la corrección de los datos del documento y emitirlo nuevamente</td><td>No se requieren acciones adicionales.</td></tr><tr><td>7</td><td><p>Documento en espera de recepción por parte del ente tributario</p><p><br></p></td><td>eDoc no pudo establecer una conexión con el SAT para transmitir el documento, se realizará un reenvío automático posteriormente</td><td>Realizar la consulta del estado del documento mediante la API correspondiente, una vez transcurrido un intervalo de tiempo adecuado</td><td>Si el documento es duplicado consultar el documento si ha sido autorizado previamente; Si las credenciales son invalidas verificar que se esté enviando la información correcta; y Si envía el documento en la clase equivocada se debe corregir y volver a enviar el mismo documento</td></tr><tr><td>11</td><td><p>Documento anulado en eDoc</p><p><br></p></td><td>Documento ha sido anulado por el emisor mediante el portal web del SAT</td><td>Una vez alcanzado este estado, el documento no puede ser modificado ni revertido<br></td><td>No reenviar. Verificar el código de generación utilizado y luego volver a consultar.</td></tr><tr><td>15</td><td><p>Emisión o consulta del documento fue devuelta por eDoc.</p><p><br></p></td><td>Solicitud de emisión o consulta no cumplió con las validaciones de estructura y/o formato XML requeridas por eDoc</td><td>Realizar la corrección de los datos del documento y emitirlo nuevamente</td><td></td></tr></tbody></table>

<table data-header-hidden data-full-width="false"><thead><tr><th></th></tr></thead><tbody><tr><td><ul><li><strong>Estado Autorizado (2):</strong> Este estado indica que el documento ha sido autorizado por la entidad tributaria. En este punto, no se requiere ninguna acción adicional como reenvío o consulta del estado, pues el documento ya ha completado su proceso satisfactoriamente.</li><li><strong>Estado No autorizado (3):</strong> Este estado indica que el documento no ha sido aprobado y requiere <strong>corrección</strong> para poder ser autorizado en un nuevo intento. Se permite un máximo de tres envíos por documento (incluyendo el primero). En caso de que el documento permanezca en estado No autorizado, deberá esperar al siguiente día para realizar un nuevo envío.</li><li><strong>Estados Transitorios (5, 7):</strong> Estos estados reflejan las fases intermedias en el proceso de envío y recepción de documentos con la entidad tributaria. En todos estos casos, no se deben reenviar los documentos, sino consultar su estado hasta que cambien a una situación definitiva.</li><li><strong>Estados de Error y Corrección (4, 6, 15):</strong> El estado 4 indica un error en el proceso de envío o procesamiento, y no debe reenviarse automáticamente; es necesario revisar el error específico y corregirlo si es posible. El estado 6 se asigna a documentos rechazados por la entidad tributaria y requiere corrección manual antes de un reenvío. El estado 15 sugiere que el documento fue devuelto por eDoc empresarial y debe ser analizado para determinar la causa y decidir las acciones correctivas apropiadas. En estos casos, la corrección de errores es fundamental antes de cualquier intento de reenvío.</li><li><strong>Estado de Invalidación (11):</strong> Este estado indica que el documento ha sido invalidado y, por lo tanto, ya no tiene validez legal o administrativa. No se requieren acciones adicionales para documentos en este estado, ya que han sido efectivamente retirados del proceso.</li></ul><p></p><p><strong>Consideraciones Importantes</strong></p><ul><li><strong>Consultas de Estado:</strong> Para los estados que sugieren consultar el estado del documento, es recomendable establecer un intervalo regular de consultas para evitar la saturación del sistema y asegurar la actualización oportuna del estado del documento.</li><li><strong>Notificaciones a Soporte:</strong> En casos de errores que no pueden ser resueltos directamente por el usuario, como el estado 4, es fundamental notificar al soporte técnico proporcionando todos los detalles necesarios para una rápida resolución del problema.</li></ul></td></tr></tbody></table>

## Diccionario de datos

## Consumo

{% openapi src="/files/NWEorB49XmpdEc4pLsKy" path="/ComprobanteRetencion" method="post" %}
[swagger-emision.json](https://content.gitbook.com/content/OikqP7ypTHbUcKwkhlcA/blobs/4jSWQx3etKP2PwpNc5l6/swagger-emision.json)
{% endopenapi %}

## Pruebas

```json
{
  "emisor": {
    "tipoEstablecimiento": "02",
    "nombreComercial": "GURUSOFT S.A DE C.V",
    "codigoMH": "M001",
    "puntoVentaMH": "P001",
    "nit": "06141511221034",
    "nrc": "3212691",
    "nombre": "GURUSOFT S.A DE C.V",
    "codActividad": "62010",
    "descActividad": "Programación informática",
    "direccion": {
      "departamento": "02",
      "municipio": "02",
      "complemento": "Colonia san salvador"
    },
    "telefono": "222979655",
    "correo": "adrian.vera@guru-soft.com"
  },
  "receptor": {
    "tipoDocumento": "36",
    "numDocumento": "06142707011042",
    "nombreComercial": "RECEPTOR S.A DE C.V",
    "nrc": "1340409",
    "nombre": "RECEPTOR DE PRUEBA S.A DE C.V",
    "codActividad": "32909",
    "descActividad": "Fabricación de productos manufacturados n.c.p.",
    "direccion": {
      "departamento": "02",
      "municipio": "02",
      "complemento": "Colonia san salvador"
    },
    "correo": "adrian.vera@guru-soft.com"
  },
  "cuerpoDocumento": [
    {
      "tipoDte": "03",
      "tipoDoc": 1,
      "numDocumento": "0012365589",
      "fechaEmision": "2025-03-20",
      "montoSujetoGrav": 1850.0,
      "codigoRetencionMH": "22",
      "ivaRetenido": 18.5,
      "descripcion": "Pruebas de emisión"
    }
  ],
  "resumen": {
    "totalSujetoRetencion": 1850.0,
    "totalIVAretenido": 18.5,
    "totalIVAretenidoLetras": "DIECIOCHO CON CINCUENTA 0/100"
  },
  "FechaGeneracion": "2025-03-21T08:29:23.3345626-06:00",
  "NumeroSecuencial": 8569323,
  "tipoMoneda": "USD",
  "Adjuntos": []
}

```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://wikiedoc.guru-soft.com/gt/integraciones-y-servicios/rest/emision/comprobante-de-retencion.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
