Integra la facturación del SRI en tu sistema
Emite facturas, notas, retenciones, guías y liquidaciones directamente desde tu e-commerce, ERP o app, con respuesta en segundos. Autenticación por api_key y secuenciales automáticos.
curl -X POST https://tu-dominio/plataforma/api/v2/factura/emision \
-H "Content-Type: application/json" \
-d '{
"api_key": "TU_API_KEY",
"codigoDoc": "01",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"comprador": { "tipo_identificacion": "07", "identificacion": "9999999999999", "razon_social": "CONSUMIDOR FINAL", "direccion": "Quito" },
"items": [ { "codigo_principal": "P1", "descripcion": "Producto", "cantidad": 1, "precio_unitario": 100, "tipoproducto": 1, "tipo_iva": 4 } ]
}'
# ← { "creado": true, "claveacceso": "..." }
Autenticación
El api_key va en el cuerpo del JSON o en la cabecera X-Api-Key (también Authorization: Bearer); si viene en los dos, vale el del cuerpo. Cada api_key identifica tu empresa, establecimiento, punto de emisión y ambiente.
Secuenciales
Envía manejo_interno_secuencia: "SI" y AZUR asigna el secuencial automáticamente, sin duplicados.
Ambientes
Tu api_key define si emites en Pruebas o Producción. El mismo código funciona en ambos.
Rate limit
Los endpoints de emisión aceptan 5 peticiones cada 60 segundos por comprobante.
Respuesta
Éxito: { "creado": true, "claveacceso": "…" }. Luego consulta el estado con la API de consulta o recibe el aviso por webhook.
Automático
Al emitir, se crean o actualizan solos el cliente y los productos que no existan.
Ejemplos completos, listos para copiar
Cada comprobante tiene su endpoint. Elige uno para ver el cuerpo JSON completo que acepta.
POST /plataforma/api/v2/factura/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "01",
"emisor": {
"fecha_emision": "2026/07/13",
"secuencial": "000000123",
"manejo_interno_secuencia": "SI"
},
"comprador": {
"tipo_identificacion": "05",
"identificacion": "1712345678",
"razon_social": "JUAN PEREZ LOPEZ",
"direccion": "Av. Amazonas N34-56, Quito",
"telefono": "022345678",
"celular": "0991234567",
"correo": "juan.perez@ejemplo.com"
},
"items": [
{
"codigo_principal": "PROD-001",
"codigo_auxiliar": "AUX-001",
"descripcion": "Laptop HP 15 Core i5",
"cantidad": 2,
"precio_unitario": 850.00,
"descuento": 50.00,
"tipoproducto": 1,
"tipo_iva": 4,
"unidad_medida": 1,
"detalles_adicionales": [
{ "nombre": "Marca", "detalle": "HP" },
{ "nombre": "Garantia", "detalle": "12 meses" }
]
},
{
"codigo_principal": "SERV-010",
"descripcion": "Servicio de instalacion",
"cantidad": 1,
"precio_unitario": 30.00,
"tipoproducto": 2,
"tipo_iva": 4
}
],
"pagos": [
{ "tipo": "20", "total": 1918.00, "tiempo": "dias", "plazo": 30 }
],
"informacion_adicional": [
{ "nombre": "Vendedor", "detalle": "Maria Gomez" }
]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
POST /plataforma/api/v2/credito/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "04",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"documento_modificado": {
"codigo_documento_sustento": 1,
"numero_documento_sustento": 122,
"fecha_documento_sustento": "2026/07/01",
"motivo": "Devolucion de producto defectuoso",
"anula_comprobante": "NO"
},
"comprador": {
"tipo_identificacion": "05",
"identificacion": "1712345678",
"razon_social": "JUAN PEREZ LOPEZ",
"direccion": "Av. Amazonas N34-56, Quito",
"correo": "juan.perez@ejemplo.com"
},
"items": [
{
"codigo_principal": "PROD-001",
"descripcion": "Laptop HP 15 Core i5",
"cantidad": 1,
"precio_unitario": 850.00,
"tipoproducto": 1,
"tipo_iva": 4
}
],
"informacion_adicional": [ { "nombre": "Motivo", "detalle": "Producto defectuoso" } ]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
POST /plataforma/api/v2/debito/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "05",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"documento_modificado": {
"codigo_documento_sustento": 1,
"numero_documento_sustento": 118,
"fecha_documento_sustento": "2026/06/20"
},
"comprador": {
"tipo_identificacion": "04",
"identificacion": "1790012345001",
"razon_social": "COMERCIAL XYZ CIA LTDA",
"direccion": "Av. 6 de Diciembre y Colon, Quito",
"correo": "pagos@xyz.com"
},
"modificaciones": [
{ "razon_modificacion": "Interes por mora", "valor_modificacion": 25.00, "tipo_modificacion": 4 }
],
"pagos": [ { "tipo": "20", "total": 28.75, "tiempo": "dias", "plazo": 15 } ]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
Retención con el esquema 2.0 del SRI, la que pide el ATS. Además de las retenciones lleva el documento sustento (la factura del proveedor) en sustento: código de sustento tributario, tipo, número (15 dígitos), autorización y fechas, y sus items (o gastos) con la tarifa de IVA. AZUR registra la compra por dentro y la deja vinculada a la retención. En retenciones: codigoimpuesto 1 renta · 2 IVA · 6 ISD. Detalle de cada campo en la referencia.
POST /plataforma/api/v2/retencionats/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "07",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"proveedor": {
"tipo_identificacion": "04",
"identificacion": "1790012345001",
"razon_social": "PROVEEDORA NACIONAL S.A.",
"direccion": "Av. Eloy Alfaro N45-12, Quito",
"correo": "facturacion@proveedora.com"
},
"sustento": {
"codigo_sustento_tributario": "01",
"codigo_documento_sustento": "01",
"numero_documento_sustento": "001001000000123",
"numero_autorizacion": "1007202601179001234500110010010000001231234567812",
"fecha_documento_sustento": "2026/07/10",
"fecha_registro_contable": "2026/07/13",
"items": [
{
"codigo_principal": "SERV-001",
"descripcion": "Mantenimiento de equipos",
"tipoproducto": 2,
"tipo_iva": 4,
"cantidad": 1,
"precio_unitario": 1000.00,
"descuento": 0
}
]
},
"retenciones": [
{
"codigoimpuesto": 1,
"codigo_retencion": "3440",
"base_imponible": 1000.00,
"porcentaje_retencion": 2.75,
"valor_retenido": 27.50
},
{
"codigoimpuesto": 2,
"codigo_retencion": "10",
"base_imponible": 150.00,
"porcentaje_retencion": 20,
"valor_retenido": 30.00
}
],
"informacion_adicional": [
{ "nombre": "Correo", "detalle": "facturacion@proveedora.com" }
]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
Use la Retención 2.0 (/retencionats/emision). Esta versión sigue funcionando igual para las integraciones que ya la usan, pero emite con el esquema 1.0 del SRI, sin el documento sustento completo que pide el ATS.
POST /plataforma/api/v2/retencion/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "07",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"proveedor": {
"tipo_identificacion": "04",
"identificacion": "1790012345001",
"razon_social": "PROVEEDORA NACIONAL S.A.",
"direccion": "Av. Eloy Alfaro N45-12, Quito",
"correo": "facturacion@proveedora.com"
},
"retenciones": [
{
"base_imponible": 1000.00,
"codigoimpuesto": 1,
"codigo_retencion": "312",
"porcentaje_retencion": 1.75,
"valor_retenido": 17.50,
"codigo_documento_sustento": "01",
"numero_documento_sustento": "001001000000123",
"fecha_documento_sustento": "2026/07/10"
},
{
"base_imponible": 150.00,
"codigoimpuesto": 2,
"codigo_retencion": "1",
"porcentaje_retencion": 30,
"valor_retenido": 45.00,
"codigo_documento_sustento": "01",
"numero_documento_sustento": "001001000000123",
"fecha_documento_sustento": "2026/07/10"
}
]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
POST /plataforma/api/v2/liquidacion/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "03",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"proveedor": {
"tipo_identificacion": "05",
"identificacion": "1712345678",
"razon_social": "AGRICULTOR SIN RUC",
"direccion": "Comunidad El Rosario, Cotopaxi",
"correo": "agricultor@ejemplo.com"
},
"items": [
{
"codigo_principal": "PAPA-01",
"descripcion": "Quintal de papa chola",
"cantidad": 20,
"precio_unitario": 15.00,
"tipoproducto": 1,
"tipo_iva": 0
}
],
"pagos": [ { "tipo": "01", "total": 300.00, "tiempo": "dias", "plazo": 0 } ]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
POST /plataforma/api/v2/guia/emision
{
"api_key": "TU_API_KEY",
"codigoDoc": "06",
"emisor": { "fecha_emision": "2026/07/13", "manejo_interno_secuencia": "SI" },
"transportista": {
"tipo_identificacion": "04",
"identificacion": "1790055566001",
"razon_social": "TRANSPORTES RAPIDOS CIA LTDA",
"direccion": "Panamericana Norte Km 5, Quito"
},
"destinatario": {
"tipo_identificacion": "04",
"identificacion": "0990012345001",
"razon_social": "DISTRIBUIDORA GUAYAS S.A.",
"direccion": "Av. Las Americas, Guayaquil"
},
"traslado": {
"fecha_inicio_transporte": "2026/07/13",
"fecha_fin_transporte": "2026/07/14",
"direccion_destino": "Av. Las Americas, Guayaquil",
"ruta": "Quito - Guayaquil via E25",
"motivo_traslado": "Venta"
},
"items": [
{
"cantidad": 50,
"codigo_principal": "PROD-001",
"descripcion": "Laptop HP 15 Core i5",
"unidad_medida": 1
}
]
}
{ "creado": true,
"claveacceso": "2607…49 dígitos" }
{ "creado": false,
"errors": [ "El campo items es
obligatorio." ] }
Lista, sincroniza y descarga lo emitido
Para traer a tu sistema lo que se emitió (también desde el portal), saber en qué estado está cada documento y bajar su PDF y XML.
Autenticación de estos endpoints
Se autentican con la cabecera X-Api-Key: TU_CREDENCIAL_API_V2 (también vale Authorization: Bearer …). Es una credencial propia de la API v2 para tu punto de emisión: empieza con sk_live_ (producción) o sk_test_ (pruebas) —las creadas antes del 04/10/2026 empiezan por azur_live_ / azur_test_ y siguen valiendo—, se puede revocar y es distinta del api_key de la emisión. El dueño de la cuenta la crea en su menú de usuario → Credenciales API, eligiendo qué puede hacer (permisos), desde qué IP y hasta cuándo.
Todas responden en el mismo sobre: { "ok": true, "datos": { … }, "avisos": [ … ] } o { "ok": false, "error": { "codigo", "mensaje" } }. Base: https://tu-dominio/plataforma/api/v2
| GET | /comprobantes | Todos los comprobantes electrónicos juntos (facturas, notas, retenciones, guías, liquidaciones), con filtros y sincronización. |
| GET | /facturas | Listado de un solo tipo. También /creditos, /debitos, /guias, /retenciones, /liquidaciones, /compras, /proformas y /notaventas. |
| GET | /{recurso}/{id} | Detalle completo de un documento (recurso: factura, credito, debito, guia, retencion, liquidacion…). |
| GET | /{recurso}/{id}/estado | Estado en el SRI con su código, si es final, si se puede reprocesar y qué hacer. Con ?sri=1 pregunta en vivo al SRI. |
| GET | /{recurso}/{id}/pdf | El RIDE en PDF (cuando ya está autorizado). Con ?base64=1 llega dentro del JSON. |
| GET | /{recurso}/{id}/xml | El XML autorizado. Con ?tipo=firmado, el XML firmado; con ?base64=1, dentro del JSON. |
curl "https://tu-dominio/plataforma/api/v2/comprobantes?modificado_desde=2026-09-30&limite=100" \
-H "X-Api-Key: TU_CREDENCIAL_API_V2"
{
"ok": true,
"datos": {
"comprobantes": [
{
"id": 1520,
"recurso": "factura",
"tipo": "01",
"tipo_nombre": "Factura",
"secuencial": "000000152",
"numero": "001-001-000000152",
"fecha": "2026-09-30",
"total": "115.00",
"estado": "autorizado",
"es_borrador": false,
"actualizado": "2026-09-30 10:15:02",
"claveacceso": "3009202601179...",
"ambiente": 2,
"vendedor": null,
"cliente": {
"tipo": "cliente",
"id": 45,
"identificacion": "0990012345001",
"nombre": "DISTRIBUIDORA GUAYAS S.A."
}
}
],
"total": 1,
"pagina": 1,
"paginas": 1,
"ventana": { "aplicada": false, "dias": null, "desde": null },
"siguiente_cursor": null
},
"avisos": [ "No hay más cambios: ya está al día. Guarde la hora de esta llamada y mándela como «modificado_desde» la próxima vez." ]
}
tipoSolo en /comprobantes. Uno o varios separados por coma: factura,retencion o 01,07.desde · hastaRango por fecha de emisión.buscarTexto: número, nombre o identificación del cliente.estadoSolo en /comprobantes. Código de estado (por ejemplo 4 = autorizado).global1 = toda la empresa (solo el dueño). Sin él, solo el establecimiento de la credencial.limite · paginaHasta 100 por página (25 por defecto).modificado_desdeSincronización: lo creado o cambiado desde esa fecha (aaaa-mm-dd o aaaa-mm-dd hh:mm:ss), incluidas las anulaciones.cursorSincronización: el «siguiente_cursor» de la respuesta anterior, sin modificarlo.
Llame con modificado_desde y, mientras la respuesta traiga siguiente_cursor, vuelva a llamar con cursor=…. Cuando venga vacío, ya está al día: guarde la hora y úsela la próxima vez. Sin fechas ni búsqueda, los listados devuelven solo los últimos 60 días.
curl "https://tu-dominio/plataforma/api/v2/factura/1520/estado?sri=1" \
-H "X-Api-Key: TU_CREDENCIAL_API_V2"
{
"ok": true,
"datos": {
"codigo": 4,
"estado": "autorizado",
"es_final": true,
"autorizado": true,
"es_borrador": false,
"reprocesable": false,
"que_hacer": "Autorizado por el SRI. Ya tiene PDF y XML.",
"id": 1520,
"tipo": "Factura",
"secuencial": "000000152",
"numero": "001-001-000000152",
"claveacceso": "3009202601179...",
"ambiente": 2,
"fecha_autorizacion": "2026-09-30 10:15:02",
"errores": [],
"anulado": false,
"pendiente_en_sri": false,
"actualizado": "2026-09-30 10:15:02",
"sri": {
"consultado": true,
"estado_consulta": "EXISTE",
"estado_autorizacion": "AUTORIZADO",
"anulado": false
}
}
}
-1 |
borrador |
0 |
en proceso |
3 |
recibido por el SRI |
4 |
autorizado |
5 |
no autorizado |
6 |
error de secuencial |
7 |
error al firmar |
11 |
SRI no disponible (se reintenta solo) |
15 |
establecimiento cerrado |
17 |
corregir firma electrónica |
18 |
corregir comprobante |
9 |
anulado |
El campo codigo no cambia nunca: ramifique por él, no por el texto.
Con el api_key de emisión
Si solo usa los endpoints de emisión, puede consultar un comprobante por su clave de acceso con el mismo api_key (en el cuerpo o en la cabecera X-Api-Key).
{
"api_key": "TU_API_KEY",
"claveacceso": "3009202601179..."
}
{
"creado": true,
"claveacceso": "3009202601179...",
"estado": 4,
"estado_texto": "Autorizado",
"fecha_aprobado": "2026-09-30 10:15:02",
"mensaje": "",
"motivo": null,
"enlace_pdf": "https://.../descargaryver/...",
"enlace_xml": "https://.../descargar/..."
}
| POST | /clientes/nuevo | Crea o actualiza un cliente | { "resultado": true, "id_cliente": 45, "id_sucursal": 12, "mensaje": "cliente creado o actualizado" } |
| POST | /actualizar/productos | Actualiza nombre/descripción de productos | { "respuesta": true } |
| POST | /crear/productos | Crea productos con stock inicial | { "creado": true } |
| POST | /productos/obtenerstock | Consulta stock de un producto | { "respuesta": true, "producto": "Laptop HP", "precio": 850, "cantidad": 12, "bodega": "Principal" } |
| POST | /consulta/comprobante | Consulta estado y enlaces PDF/XML | { "creado": true, "estado": 4, "estado_texto": "Autorizado", "enlace_pdf": "...", "enlace_xml": "..." } |
| POST | /consultar/comprobantes | Comprobantes usados y restantes del plan | { "creado": true, "plan_actual": "Ilimitado", "comprobantes_utilizados": 340, "comprobantes_restantes": -1 } |
| POST | /enviar/correo | Reenvía el comprobante al cliente | { "respuesta": true } |
| POST | /factura/pagada | Marca una factura como pagada | { "modificado": true, "mensaje": "Correcto" } |
Te avisamos cuando el SRI contesta
Registra una URL y recibe un POST firmado cada vez que un comprobante se autoriza, se rechaza o se anula. Sin preguntar cada minuto.
| POST | /webhooks | Registra una URL https que recibirá los avisos. Devuelve el secreto para verificar la firma (solo esa vez). |
| GET | /webhooks | Lista sus webhooks: URL, eventos, si está activo, último envío y fallos seguidos. |
| DELETE | /webhooks/{id} | Borra un webhook. |
| GET | /webhooks/{id}/envios | Los últimos 50 envíos de ese webhook (evento, intento, código HTTP, respuesta) para depurar. |
curl -X POST "https://tu-dominio/plataforma/api/v2/webhooks" \
-H "X-Api-Key: TU_CREDENCIAL_API_V2" \
-H "Content-Type: application/json" \
-d '{
"url": "https://mi-sistema.com/avisos/sri",
"eventos": ["comprobante.autorizado", "comprobante.rechazado"],
"descripcion": "ERP principal"
}'
{
"ok": true,
"datos": {
"id": 12,
"url": "https://mi-sistema.com/avisos/sri",
"eventos": ["comprobante.autorizado", "comprobante.rechazado"],
"secreto": "whsec_9fK2...",
"como_verificar": "Cada aviso trae las cabeceras `X-Azur-Firma` y `X-Azur-Momento`. ..."
},
"avisos": [ "Guarde el secreto ahora: no se vuelve a mostrar." ]
}
urlObligatoria y https.eventosLista de eventos. Vacía = todos.descripcionOpcional, hasta 160 caracteres.
comprobante.autorizado |
El SRI autorizó el comprobante. |
comprobante.rechazado |
El SRI no lo autorizó o hay que corregirlo (secuencial, firma, establecimiento). En «errores» está el motivo. |
comprobante.anulado |
El comprobante se anuló (estado 9). |
plan.cupo_bajo |
El plan llegó al 80 %, al 95 % o se agotó (nivel 80, 95 o 100), una vez por nivel y periodo. |
POST https://mi-sistema.com/avisos/sri
Content-Type: application/json
X-Azur-Evento: comprobante.autorizado
X-Azur-Momento: 1759245302
X-Azur-Intento: 1
X-Azur-Firma: 5b1f0c…(hmac sha256 en hexadecimal)
{
"evento": "comprobante.autorizado",
"momento": "1759245302",
"datos": {
"claveacceso": "3009202601179...",
"tipo_comprobante": "01",
"secuencial": "000000152",
"id_comprobante": 1520,
"estado": 4,
"ambiente": 2,
"fecha_emision": "2026-09-30",
"valor": "115.00",
"errores": null
}
}
// PHP
$cuerpo = file_get_contents('php://input'); // el cuerpo CRUDO, sin decodificar
$momento = $_SERVER['HTTP_X_AZUR_MOMENTO'] ?? '';
$firma = $_SERVER['HTTP_X_AZUR_FIRMA'] ?? '';
$esperada = hash_hmac('sha256', $momento . '.' . $cuerpo, 'whsec_TU_SECRETO');
if (!hash_equals($esperada, $firma)) {
http_response_code(401); exit; // no viene de nosotros
}
$aviso = json_decode($cuerpo, true);
http_response_code(200); // responda 2xx rápido
// Node.js (Express)
const crypto = require('crypto');
app.post('/avisos/sri', express.raw({ type: 'application/json' }), (req, res) => {
const momento = req.get('X-Azur-Momento');
const esperada = crypto.createHmac('sha256', 'whsec_TU_SECRETO')
.update(momento + '.' + req.body.toString('utf8')).digest('hex');
if (esperada !== req.get('X-Azur-Firma')) return res.sendStatus(401);
const aviso = JSON.parse(req.body);
res.sendStatus(200);
});
Firma
Calcule hash_hmac('sha256', momento + '.' + cuerpo_crudo, secreto) con las cabeceras X-Azur-Momento y compárelo con X-Azur-Firma. Si no coincide, ignore el aviso.
Reintentos
Responda con un código 2xx. Si su servidor falla o no contesta en 20 s, reintentamos a 1, 5 y 15 minutos (4 intentos). Tras 20 fallos seguidos el webhook se desactiva.
Quién lo configura
Solo el dueño de la cuenta registra webhooks (no los vendedores). El secreto se muestra una sola vez al crearlo: guárdelo. Un aviso puede llegar repetido: use la clave de acceso para no procesarlo dos veces.
Integra en minutos, en tu lenguaje o sin código
Todo funciona con una credencial sk_live_… (producción) o sk_test_… (pruebas) que el dueño de la cuenta crea en menú de usuario → Credenciales API, con permisos, IP autorizadas y vencimiento.
SDK de PHP
Para Laravel, WordPress/WooCommerce o PHP puro. Reintentos, protección contra duplicados, sincronización por cursor y verificación de webhooks ya resueltos.
composer require azur/sdk
Ver en GitHub
SDK de JavaScript / TypeScript
Para Node.js, Next.js, Bun o Deno. Tipado completo, sin dependencias, con los mismos reintentos y verificación de webhooks.
npm install @azur.com.ec/sdk
Ver en npm
Nodos para n8n
Automatiza sin programar: elige clientes, productos y comprobantes desde listas, y dispara flujos cuando el SRI autoriza, rechaza o se anula un comprobante.
Configuración → Community nodes → n8n-nodes-azur
Ver en npm
Asistentes de IA (MCP remoto)
Conecta Claude, Cursor, VS Code o tu agente a tu cuenta: busca clientes y productos, consulta comprobantes y prepara borradores. El envío al SRI queda en manos de una persona.
https://azur.com.ec/mcp · Authorization: Bearer sk_live_…
Guía del servidor MCP
MCP local (Claude Desktop)
Para clientes de IA que se conectan por stdio. Solo necesita Node.js 18 y su credencial en AZUR_API_KEY.
npx -y @azur.com.ec/mcp
Ver en npm
OpenAPI 3.1 (Postman, Insomnia)
El contrato completo de la API, público y legible por máquina. Impórtalo en Postman o genera un cliente para cualquier otro lenguaje.
https://azur.com.ec/plataforma/api/v2/openapi
Descargar
Códigos que usa la API
04 |
RUC (13 dígitos) |
05 |
Cédula (10 dígitos) |
06 |
Pasaporte |
07 |
Consumidor final |
08 |
Identificación del exterior |
09 |
Placa |
0 |
0% |
4 |
15% |
3 |
14% |
5 |
5% |
8 |
8% (turístico) |
10 |
13% |
6 |
No objeto de IVA |
7 |
Exento de IVA |
01 |
Efectivo / sin sistema financiero |
16 |
Tarjeta de débito |
17 |
Dinero electrónico |
18 |
Tarjeta prepago |
19 |
Tarjeta de crédito |
20 |
Otros con sistema financiero |
21 |
Endoso de títulos |
Empieza a integrar hoy
Crea tu cuenta, obtén tu api_key y emite tu primer comprobante de prueba en minutos.