Retenciones
Un comprobante de retención registra lo que tu empresa retiene de renta y de IVA a un proveedor sobre un documento que recibió. Golem calcula el valor retenido con el porcentaje del catálogo.
Esquema del SRI
El API emite la retención con el esquema 1.0.0 del SRI: un documento sustento por retención y una o varias líneas de retención. El esquema 2.0.0 está en la hoja de ruta. Esta versión no admite retenciones del impuesto a la salida de divisas (ISD).
Sujeto retenido
sujetoRetenido es el proveedor al que se retiene. Tiene los mismos campos y reglas que el cliente de una factura, con dos diferencias:
razonSociales obligatoria.- Debe estar identificado con RUC, cédula, pasaporte o identificación del exterior.
9999999999999(consumidor final) responde422 IDENTIFICACION_INVALIDA.
En producción, cuando el SRI autoriza la retención, Golem envía el XML y el RIDE al email del proveedor.
Documento sustento
documentoSustento es el comprobante que recibiste del proveedor:
codDoc: su tipo, del catálogo tipos-documento-sustento. Por ejemplo01(factura) o03(liquidación de compra emitida fuera de Golem).numero: su número con el formato002-001-000004521.fechaEmision: su fecha. La retención no puede tener una fecha anterior.
Líneas de retención
Cada elemento de retenciones (hasta 20) indica:
| Campo | Contenido |
|---|---|
codigoImpuesto | 1 renta o 2 IVA. |
codigoRetencion | Código del catálogo retenciones-renta o retenciones-iva, según el impuesto. |
baseImponible | En renta, la base del documento sustento sin IVA. En IVA, el valor del IVA del documento sustento. |
porcentaje | Solo en los códigos de porcentaje variable. |
Un código que no existe o no está vigente para ese impuesto responde 422 CODIGO_RETENCION_INVALIDO.
Porcentaje
- Porcentaje fijo: el porcentaje sale del catálogo. No envíes
porcentaje; si lo envías y no coincide,422 PORCENTAJE_RETENCION_INVALIDO. - Porcentaje variable (
porcentajeVariable: trueen el catálogo): envíaporcentaje, de 0 a 100. Si falta,422 PORCENTAJE_RETENCION_INVALIDO.
Cálculo
Golem calcula cada línea como base imponible × porcentaje / 100, redondeado a 2 decimales (la mitad hacia arriba). El total de la retención es la suma de las líneas.
| Línea | Base | Porcentaje | Valor retenido |
|---|---|---|---|
| Renta, código 312 | 1000.00 | 1.75 % | 17.50 |
| IVA, código 1 | 150.00 | 30 % | 45.00 |
| Total | 62.50 |
Para compararlo con tu cálculo, envía el total retenido en totalEsperado: si difiere en más de 0.01, la retención no se emite (422 TOTAL_NO_COINCIDE).
Fecha, plazo y período fiscal
fechaEmision: por defecto hoy; se acepta hoy o ayer (hora de Ecuador), y no puede ser anterior a la del documento sustento.- El SRI exige emitir la retención dentro de los 5 días siguientes a la recepción del documento sustento. Golem no conoce la fecha de recepción: el plazo es responsabilidad de tu empresa.
- El período fiscal es el mes y el año de la fecha de emisión de la retención. La respuesta lo trae en
periodoFiscalcon el formatoyyyy-MM.
Catálogos de retención
Consulta los códigos vigentes y sus porcentajes en Catálogos del SRI o con GET /catalogos/retenciones-renta y GET /catalogos/retenciones-iva. El API solo acepta los códigos vigentes.
Emitir un comprobante de retención
POST /
- Requiere token
- Idempotency-Key
- Espera al SRI hasta 12 s
Crea un comprobante de retención (código 07, esquema 1.0.0 del SRI) sobre un documento sustento recibido de un proveedor.
- Cada línea de
retencionesindica el impuesto (codigoImpuesto: 1 renta, 2 IVA), el código de retención del catálogo y la base imponible. Golem calcula el valor retenido. - El porcentaje sale del catálogo. Solo los códigos de porcentaje variable (
porcentajeVariable: trueen el catálogo) requierenporcentaje. - El sujeto retenido debe estar identificado con RUC, cédula, pasaporte o identificación del exterior: no se admite consumidor final.
- El período fiscal es el mes y año de la fecha de emisión de la retención.
- La retención se emite dentro de los 5 días siguientes a la recepción del documento sustento. Golem no conoce esa fecha de recepción: el plazo es responsabilidad de tu empresa.
Límites: 60 solicitudes por minuto por token; 20 emisiones por minuto por token y 40 por empresa.
Parámetros
| Campo | Descripción |
|---|---|
Idempotency-Key cabecera string | Clave única de la operación, generada por tu sistema (se recomienda un UUID v4). Entre 8 y 100 caracteres: letras, números,
|
Prefer cabecera string |
|
X-Request-Id cabecera string | Identificador propio de la solicitud (hasta 64 caracteres: letras, números y
|
Cuerpo de la solicitud
JSON (application/json). Los campos que no están en esta tabla se rechazan con 400 VALIDACION.
| Campo | Descripción |
|---|---|
establecimiento string | Código de 3 dígitos del establecimiento, como en el número del comprobante.
|
puntoEmision string | Código de 3 dígitos del punto de emisión.
|
fechaEmision string (date) | Fecha de emisión. Por defecto, hoy; se acepta hoy o ayer, como en la factura. No puede ser anterior a la del documento sustento. Emite la retención dentro de los 5 días siguientes a recibir el documento sustento. |
referencia string |
|
sujetoRetenido object obligatorio | Proveedor al que se retiene. Debe estar identificado; sus datos se usan en esta retención con las mismas reglas que el comprador de una factura. |
sujetoRetenido. tipoIdentificacion string | Tipo de identificación del sujeto retenido: 04 RUC, 05 cédula, 06 pasaporte, 08 identificación del exterior. Una retención no se emite a consumidor final (07).
|
sujetoRetenido. identificacion string obligatorio | RUC (13 dígitos), cédula (10 dígitos), pasaporte o identificación del exterior. Si omites
|
sujetoRetenido. razonSocial string obligatorio |
|
sujetoRetenido. email string (email) |
|
sujetoRetenido. direccion string |
|
sujetoRetenido. telefono string |
|
documentoSustento object obligatorio | Sin descripción |
documentoSustento. codDoc string obligatorio | Código del SRI del documento sustento (catálogo
|
documentoSustento. numero string obligatorio | Número del comprobante con establecimiento, punto de emisión y secuencial.
|
documentoSustento. fechaEmision string (date) obligatorio | Sin descripción |
retenciones object[] obligatorio |
|
retenciones[]. codigoImpuesto string obligatorio | Impuesto retenido: 1 renta, 2 IVA.
|
retenciones[]. codigoRetencion string obligatorio | Código del catálogo
|
retenciones[]. baseImponible number obligatorio | Base imponible con hasta 2 decimales. En IVA es el valor del IVA del documento sustento.
|
retenciones[]. porcentaje number | Solo para códigos de porcentaje variable. En los demás se toma del catálogo; si lo envías, debe coincidir.
|
informacionAdicional object[] |
|
informacionAdicional[]. nombre string obligatorio |
|
informacionAdicional[]. valor string obligatorio |
|
totalEsperado number | Total retenido que calculó tu sistema. Si difiere en más de 0.01, no se emite.
|
Ejemplo de solicitud
Los ejemplos leen el token de la variable de entorno GOLEM_TOKEN. Usa una clave nueva por cada comprobante en Idempotency-Key: la del ejemplo de curl es solo una muestra. Si repites la solicitud después de un corte de conexión, usa la misma clave.
# Usa una clave nueva por cada comprobante en Idempotency-Key (por ejemplo, un UUID v4).
curl -X POST https://api.golem.ec/v1/comprobantes/retenciones \
--max-time 30 \
-H "Authorization: Bearer $GOLEM_TOKEN" \
-H "Idempotency-Key: f89caa73-2729-44a0-895f-91c85c7aa941" \
-H "Content-Type: application/json" \
-d '{
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "CXP-2026-0931",
"sujetoRetenido": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "PROVEEDOR DEMO S.A.",
"email": "[email protected]"
},
"documentoSustento": {
"codDoc": "01",
"numero": "002-001-000004521",
"fechaEmision": "2026-09-22"
},
"retenciones": [
{
"codigoImpuesto": "1",
"codigoRetencion": "312",
"baseImponible": 1000
},
{
"codigoImpuesto": "2",
"codigoRetencion": "1",
"baseImponible": 150
}
],
"totalEsperado": 62.5
}' import { randomUUID } from 'node:crypto';
const respuesta = await fetch('https://api.golem.ec/v1/comprobantes/retenciones', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GOLEM_TOKEN}`,
'Idempotency-Key': randomUUID(), // una clave nueva por cada comprobante; guárdala para repetir la solicitud si la conexión se corta
'Content-Type': 'application/json',
},
body: JSON.stringify({
establecimiento: '001',
puntoEmision: '001',
referencia: 'CXP-2026-0931',
sujetoRetenido: {
tipoIdentificacion: '04',
identificacion: '0990000000001',
razonSocial: 'PROVEEDOR DEMO S.A.',
email: '[email protected]',
},
documentoSustento: {
codDoc: '01',
numero: '002-001-000004521',
fechaEmision: '2026-09-22',
},
retenciones: [
{
codigoImpuesto: '1',
codigoRetencion: '312',
baseImponible: 1000,
},
{
codigoImpuesto: '2',
codigoRetencion: '1',
baseImponible: 150,
},
],
totalEsperado: 62.5,
}),
signal: AbortSignal.timeout(30000),
});
const datos = await respuesta.json();
console.log(respuesta.status, datos); import os
import uuid
import requests
respuesta = requests.post(
"https://api.golem.ec/v1/comprobantes/retenciones",
headers={
"Authorization": f"Bearer {os.environ['GOLEM_TOKEN']}",
"Idempotency-Key": str(uuid.uuid4()), # una clave nueva por cada comprobante; guárdala para repetir la solicitud si la conexión se corta
},
json={
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "CXP-2026-0931",
"sujetoRetenido": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "PROVEEDOR DEMO S.A.",
"email": "[email protected]",
},
"documentoSustento": {
"codDoc": "01",
"numero": "002-001-000004521",
"fechaEmision": "2026-09-22",
},
"retenciones": [
{
"codigoImpuesto": "1",
"codigoRetencion": "312",
"baseImponible": 1000,
},
{
"codigoImpuesto": "2",
"codigoRetencion": "1",
"baseImponible": 150,
},
],
"totalEsperado": 62.5,
},
timeout=30,
)
print(respuesta.status_code, respuesta.json()) <?php
// composer require guzzlehttp/guzzle ramsey/uuid
require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Ramsey\Uuid\Uuid;
$cliente = new Client(['base_uri' => 'https://api.golem.ec/v1/', 'timeout' => 30]);
$respuesta = $cliente->post('comprobantes/retenciones', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('GOLEM_TOKEN'),
'Idempotency-Key' => Uuid::uuid4()->toString(), // una clave nueva por cada comprobante; guárdala para repetir la solicitud si la conexión se corta
],
'json' => [
'establecimiento' => '001',
'puntoEmision' => '001',
'referencia' => 'CXP-2026-0931',
'sujetoRetenido' => [
'tipoIdentificacion' => '04',
'identificacion' => '0990000000001',
'razonSocial' => 'PROVEEDOR DEMO S.A.',
'email' => '[email protected]',
],
'documentoSustento' => [
'codDoc' => '01',
'numero' => '002-001-000004521',
'fechaEmision' => '2026-09-22',
],
'retenciones' => [
[
'codigoImpuesto' => '1',
'codigoRetencion' => '312',
'baseImponible' => 1000,
],
[
'codigoImpuesto' => '2',
'codigoRetencion' => '1',
'baseImponible' => 150,
],
],
'totalEsperado' => 62.5,
],
'http_errors' => false,
]);
echo $respuesta->getStatusCode(), PHP_EOL, $respuesta->getBody(), PHP_EOL; Respuestas
201 application/json
Comprobante creado y procesado hasta un estado final: AUTORIZADO, NO_AUTORIZADO, DEVUELTO o ERROR. En los tres últimos el crédito vuelve al saldo y los motivos están en mensajes.
Esquema Comprobante.
{
"tipo": "FACTURA",
"codDoc": "01",
"claveAcceso": "2409202601179000000000120010010000001481234567815",
"numero": "001-001-000000148",
"estado": "AUTORIZADO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-24",
"fechaEnvio": "2026-09-24T10:42:28-05:00",
"fechaAutorizacion": "2026-09-24T10:42:31-05:00",
"numeroAutorizacion": "2409202601179000000000120010010000001481234567815",
"fechaActualizacion": "2026-09-24T10:42:33.512-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": null,
"origen": "API",
"total": 89.7,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"items": [
{
"codigo": "P-001",
"codigoAuxiliar": null,
"descripcion": "Producto de ejemplo",
"cantidad": 10,
"precioUnitario": 7.8,
"descuento": 0,
"subtotal": 78,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 11.7,
"detallesAdicionales": []
}
],
"pagos": [
{
"formaPago": "20",
"total": 89.7,
"plazo": null,
"unidadTiempo": null
}
],
"guiaRemision": null,
"totales": {
"subtotal": 78,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 78,
"valor": 11.7
}
],
"iva": 11.7,
"propina": 0,
"total": 89.7
},
"mensajes": [],
"anulacion": null,
"informacionAdicional": [
{
"nombre": "RUC Proveedor",
"valor": "0195113076001"
}
],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815",
"pdf": "https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/pdf",
"xml": "https://api.golem.ec/v1/comprobantes/2409202601179000000000120010010000001481234567815/xml"
}
} Más ejemplos de la respuesta 201
{
"tipo": "FACTURA",
"codDoc": "01",
"claveAcceso": "2609202601179000000000120010010000001501122334419",
"numero": "001-001-000000150",
"estado": "DEVUELTO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T09:20:11-05:00",
"fechaAutorizacion": null,
"numeroAutorizacion": null,
"fechaActualizacion": "2026-09-26T09:20:12.845-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "PED-2026-00483",
"origen": "API",
"total": 11.5,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"items": [
{
"codigo": "P-002",
"codigoAuxiliar": null,
"descripcion": "Servicio de ejemplo",
"cantidad": 1,
"precioUnitario": 10,
"descuento": 0,
"subtotal": 10,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 1.5,
"detallesAdicionales": []
}
],
"pagos": [
{
"formaPago": "20",
"total": 11.5,
"plazo": null,
"unidadTiempo": null
}
],
"guiaRemision": null,
"totales": {
"subtotal": 10,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 10,
"valor": 1.5
}
],
"iva": 1.5,
"propina": 0,
"total": 11.5
},
"mensajes": [
{
"origen": "SRI",
"identificador": "56",
"mensaje": "ESTABLECIMIENTO CERRADO",
"informacionAdicional": "El establecimiento 001 del RUC 1790000000001 está cerrado en el catastro.",
"tipo": "ERROR"
}
],
"anulacion": null,
"informacionAdicional": [],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202601179000000000120010010000001501122334419",
"pdf": null,
"xml": null
}
} {
"tipo": "NOTA_CREDITO",
"codDoc": "04",
"claveAcceso": "2609202604179000000000120010010000000095550123411",
"numero": "001-001-000000009",
"estado": "AUTORIZADO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T11:02:40-05:00",
"fechaAutorizacion": "2026-09-26T11:02:43-05:00",
"numeroAutorizacion": "2609202604179000000000120010010000000095550123411",
"fechaActualizacion": "2026-09-26T11:02:44.087-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "DEV-2026-0012",
"origen": "API",
"total": 17.94,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"documentoModificado": {
"codDoc": "01",
"numero": "001-001-000000148",
"fechaEmision": "2026-09-24",
"claveAcceso": "2409202601179000000000120010010000001481234567815"
},
"motivo": "Devolución de 2 unidades",
"items": [
{
"codigo": "P-001",
"codigoAuxiliar": null,
"descripcion": "Producto de ejemplo",
"cantidad": 2,
"precioUnitario": 7.8,
"descuento": 0,
"subtotal": 15.6,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 2.34,
"detallesAdicionales": []
}
],
"totales": {
"subtotal": 15.6,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 15.6,
"valor": 2.34
}
],
"iva": 2.34,
"total": 17.94
},
"mensajes": [],
"anulacion": null,
"informacionAdicional": [
{
"nombre": "RUC Proveedor",
"valor": "0195113076001"
}
],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202604179000000000120010010000000095550123411",
"pdf": "https://api.golem.ec/v1/comprobantes/2609202604179000000000120010010000000095550123411/pdf",
"xml": "https://api.golem.ec/v1/comprobantes/2609202604179000000000120010010000000095550123411/xml"
}
} {
"tipo": "RETENCION",
"codDoc": "07",
"claveAcceso": "2609202607179000000000120010010000000223141592611",
"numero": "001-001-000000022",
"estado": "AUTORIZADO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T12:10:05-05:00",
"fechaAutorizacion": "2026-09-26T12:10:08-05:00",
"numeroAutorizacion": "2609202607179000000000120010010000000223141592611",
"fechaActualizacion": "2026-09-26T12:10:09.301-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "CXP-2026-0931",
"origen": "API",
"total": 62.5,
"sujetoRetenido": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "PROVEEDOR DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"periodoFiscal": "2026-09",
"documentoSustento": {
"codDoc": "01",
"numero": "002-001-000004521",
"fechaEmision": "2026-09-22",
"claveAcceso": null
},
"retenciones": [
{
"codigoImpuesto": "1",
"codigoRetencion": "312",
"baseImponible": 1000,
"porcentaje": 1.75,
"valorRetenido": 17.5
},
{
"codigoImpuesto": "2",
"codigoRetencion": "1",
"baseImponible": 150,
"porcentaje": 30,
"valorRetenido": 45
}
],
"mensajes": [],
"anulacion": null,
"informacionAdicional": [
{
"nombre": "RUC Proveedor",
"valor": "0195113076001"
}
],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202607179000000000120010010000000223141592611",
"pdf": "https://api.golem.ec/v1/comprobantes/2609202607179000000000120010010000000223141592611/pdf",
"xml": "https://api.golem.ec/v1/comprobantes/2609202607179000000000120010010000000223141592611/xml"
}
} 202 application/json
Comprobante creado; el SRI aún no responde. Estado EN_PROCESO. Consulta Location más tarde (por ejemplo a los 5, 15 y 60 segundos). Golem reintenta el envío y la autorización por su cuenta.
Esquema Comprobante.
{
"tipo": "FACTURA",
"codDoc": "01",
"claveAcceso": "2609202601179000000000120010010000001498765432115",
"numero": "001-001-000000149",
"estado": "EN_PROCESO",
"ambiente": "PRODUCCION",
"fechaEmision": "2026-09-26",
"fechaEnvio": "2026-09-26T09:15:04-05:00",
"fechaAutorizacion": null,
"numeroAutorizacion": null,
"fechaActualizacion": "2026-09-26T09:15:04.120-05:00",
"establecimiento": "001",
"puntoEmision": "001",
"referencia": "PED-2026-00482",
"origen": "API",
"total": 89.7,
"cliente": {
"tipoIdentificacion": "04",
"identificacion": "0990000000001",
"razonSocial": "CLIENTE DEMO S.A.",
"email": "[email protected]",
"direccion": null,
"telefono": null
},
"items": [
{
"codigo": "P-001",
"codigoAuxiliar": null,
"descripcion": "Producto de ejemplo",
"cantidad": 10,
"precioUnitario": 7.8,
"descuento": 0,
"subtotal": 78,
"codigoIva": "4",
"tarifaIva": 15,
"valorIva": 11.7,
"detallesAdicionales": []
}
],
"pagos": [
{
"formaPago": "20",
"total": 89.7,
"plazo": null,
"unidadTiempo": null
}
],
"guiaRemision": null,
"totales": {
"subtotal": 78,
"descuento": 0,
"subtotalesIva": [
{
"codigoIva": "4",
"tarifa": 15,
"baseImponible": 78,
"valor": 11.7
}
],
"iva": 11.7,
"propina": 0,
"total": 89.7
},
"mensajes": [],
"anulacion": null,
"informacionAdicional": [],
"enlaces": {
"self": "https://api.golem.ec/v1/comprobantes/2609202601179000000000120010010000001498765432115",
"pdf": null,
"xml": null
}
} Errores: HTTP 400, 401, 402, 403, 409, 413, 415, 422, 429, 500, 503
| HTTP | Código | Causa y solución |
|---|---|---|
| 400 | JSON_INVALIDO | El cuerpo no es un JSON válido. Revisa la sintaxis cerca de la línea y la columna que indica el mensaje. |
| 400 | VALIDACION | Uno o más campos no cumplen el formato. Corrige los campos de |
| 400 | PARAMETRO_INVALIDO | Un parámetro de la ruta o de la consulta no es válido: por ejemplo, una clave de acceso sin 49 dígitos, un rango de fechas de más de 366 días o un Corrige el parámetro que indica |
| 400 | IDEMPOTENCY_KEY_INVALIDA | La cabecera Genera la clave con un UUID v4. |
| 400 | TOKEN_EN_URL | La URL incluye Envía el token solo en la cabecera |
| 401 | TOKEN_REQUERIDO | Falta la cabecera Envía |
| 401 | TOKEN_INVALIDO | El token no existe o no tiene el formato de un token de Golem. Copia el token completo, con su prefijo. Si no lo tienes, crea otro: Golem no puede mostrarlo de nuevo. |
| 401 | TOKEN_REVOCADO | El token fue revocado. Crea otro en Cuenta > API e integraciones. |
| 402 | SIN_CREDITOS | La empresa no tiene créditos para emitir o reprocesar. Compra una recarga en la aplicación. Las consultas y descargas siguen disponibles. |
| 403 | EMPRESA_SUSPENDIDA | La empresa no está activa. Afecta a las emisiones y las acciones; las consultas siguen disponibles. Escribe a [email protected]. |
| 403 | PUNTO_NO_PERMITIDO | El token no puede emitir en ese punto de emisión, o está restringido y no tiene puntos. Usa uno de los puntos que devuelve |
| 403 | PLAN_NO_PERMITE | El plan de la empresa no incluye la emisión de comprobantes electrónicos. Revisa el plan en la aplicación o escribe a [email protected]. |
| 409 | IDEMPOTENCIA_CUERPO_DISTINTO | La Usa una clave nueva para cada operación distinta y la misma clave solo para repetir la misma solicitud. |
| 409 | IDEMPOTENCIA_EN_PROCESO | La solicitud original con esa Repite la solicitud después de los segundos de |
| 413 | CUERPO_DEMASIADO_GRANDE | El cuerpo supera 256 KB. Reduce el comprobante: admite hasta 200 ítems. |
| 415 | TIPO_CONTENIDO_NO_SOPORTADO | Una emisión llegó sin Envía el cuerpo como JSON con esa cabecera. |
| 422 | PUNTO_EMISION_NO_EXISTE | El establecimiento o el punto de emisión que indica la solicitud no existe en la empresa. Usa los códigos que devuelve |
| 422 | IDENTIFICACION_INVALIDA | La cédula o el RUC no son válidos para el Corrige la identificación. Para pasaportes y documentos del exterior, indica |
| 422 | TARIFA_IVA_NO_VIGENTE | La tarifa de IVA no está vigente en la fecha del comprobante (en notas de crédito, en la fecha de la factura modificada). Usa una tarifa del catálogo |
| 422 | TARIFA_IVA_NO_COINCIDE | En una nota de crédito sobre una factura de Golem, un ítem usa una tarifa de IVA que la factura no tiene. Usa en cada ítem una de las tarifas de la factura modificada. |
| 422 | PAGOS_NO_CUADRAN | La suma de Ajusta los pagos al total calculado, o usa |
| 422 | TOTAL_NO_COINCIDE | El total que calcula Golem difiere de Compara el cálculo de tu sistema con el de la guía de facturas; con precios con IVA incluido, revisa la conversión. |
| 422 | DESCUENTO_INVALIDO | El descuento de una línea supera la cantidad por el precio unitario. Envía el descuento en dólares de la línea completa, sin superar su valor. |
| 422 | CONSUMIDOR_FINAL_EXCEDE_LIMITE | Una factura a consumidor final supera el tope que permite el SRI. Identifica al comprador con su cédula, RUC o pasaporte. |
| 422 | FECHA_FUERA_DE_RANGO | La fecha de emisión no es la de hoy ni la de ayer (hora de Ecuador), o es anterior a la del documento modificado o sustento. Omite |
| 422 | FIRMA_NO_VIGENTE | La empresa no tiene firma electrónica o la firma venció. Carga una firma vigente en la aplicación. |
| 422 | SIN_STOCK | Un ítem usa un producto con control de inventario sin existencias suficientes. Registra el ingreso en la aplicación o quita el control de inventario del producto. |
| 422 | SUSTENTO_NO_ENCONTRADO | La factura que modifica la nota de crédito no existe en la empresa y el ambiente del token. Revisa la clave de acceso. Si la factura se emitió fuera de Golem, envía |
| 422 | SUSTENTO_NO_AUTORIZADO | La factura que modifica la nota de crédito no está autorizada. Emite la nota de crédito cuando la factura esté autorizada. |
| 422 | NOTA_CREDITO_EXCEDE_SALDO | La nota de crédito, sumada a las anteriores de la misma factura, supera el total de la factura. Reduce el valor de la nota de crédito al saldo de la factura. |
| 422 | CLIENTE_NO_COINCIDE | La identificación de Omite |
| 422 | CLIENTE_NO_PERMITIDO | Una nota de crédito a consumidor final, o sobre una factura emitida a consumidor final. El SRI exige un receptor identificado en las notas de crédito. |
| 422 | CODIGO_RETENCION_INVALIDO | El código de retención no existe o no está vigente para ese impuesto. Usa un código de los catálogos |
| 422 | PORCENTAJE_RETENCION_INVALIDO | Falta Envía |
| 422 | SIN_CORREO | El comprobante no tiene un correo de destino. El correo se toma del comprobante al emitirlo; en ese caso, envía el XML y el RIDE por tu cuenta. |
| 429 | LIMITE_EXCEDIDO | Se superó un límite de solicitudes por minuto. Repite la solicitud después de los segundos de |
| 500 | ERROR_INTERNO | Error inesperado de Golem. Si ocurrió al emitir, repite la solicitud con la misma |
| 503 | SRI_NO_DISPONIBLE | El SRI no responde. Repite la solicitud después de los segundos de |
| 503 | SERVICIO_NO_DISPONIBLE | Un servicio interno de Golem no responde. Repite la solicitud después de los segundos de |
| 503 | MANTENIMIENTO | Golem está en mantenimiento. Los mantenimientos se avisan por correo con 24 horas de anticipación. Repite la solicitud después de los segundos de |
Formato y lista completa en Errores.