Skip to main content
Si desarrollas un software —un ERP, un punto de venta, un sistema de gestión— y quieres ofrecer facturación electrónica al SRI a tus propios clientes sin construir la integración con el SRI desde cero, Tellen funciona como tu plataforma de facturación. Tú integras una sola API y cada uno de tus clientes emite sus comprobantes desde dentro de tu producto. Esta guía técnica te lleva de principio a fin: desde crear la cuenta de un cliente hasta emitir y autorizar su primera factura, con ejemplos en cURL, Node y Ruby.
Para el modelo conceptual (cómo se relacionan una plataforma y sus cuentas hijas, cómo funciona el cobro), revisa Cuentas hijas (plataforma). El detalle de cada endpoint —parámetros y respuestas— vive en la sección Endpoints de esta misma pestaña. ¿Buscas una visión general, sin código, de cómo Tellen ayuda a tu producto? Empieza por Software y plataformas.

Cómo funciona el modelo plataforma

  • Tu cuenta de plataforma es tu cuenta de Tellen, habilitada por nosotros para administrar otras cuentas. Su token autentica todas tus llamadas.
  • Cada cuenta hija corresponde a un cliente tuyo: un negocio ecuatoriano real con su propio RUC. Tú las creas y las operas por completo desde la API.
  • El account_id de la ruta indica sobre qué cuenta actúa cada solicitud. Cuando operas un cliente, ese identificador es siempre el de la cuenta hija, no el tuyo.
  • Tellen te cobra a ti, la plataforma. Tus clientes no pagan su uso de Tellen.
Solo una cuenta habilitada como plataforma puede crear y operar cuentas hijas. Si aún no tienes ese acceso, escríbenos.

Antes de empezar: tu cuenta de plataforma

Antes de crear la cuenta de tu primer cliente, necesitas tu propia cuenta de plataforma. Esta es la cuenta que Tellen factura —la de tu empresa, la que cobra a tus clientes—, así que se crea a partir de tu RUC, no el de ellos.
1

Crea tu cuenta de Tellen con tu RUC

Regístrate en dashboard.tellen.app con el RUC de tu empresa. Como cualquier cuenta de Tellen, el perfil se completa automáticamente desde el SRI.
2

Pídenos habilitar el acceso de plataforma

Escríbenos para activar el acceso de plataforma sobre tu cuenta. Sin él, tu cuenta solo se administra a sí misma y no puede crear cuentas hijas.
3

Genera tu token de API

Ya con el acceso activo, crea el token desde tu consola de plataforma (ver la sección siguiente). Ese token autentica todas las llamadas de esta guía.
A partir de aquí, “tu cuenta” es esta cuenta de plataforma, y “cuentas hijas” son las de tus clientes, que creas en el paso 1 de la guía rápida. Tellen te cobra a ti por el uso de todas ellas.

Autenticación

Todas las llamadas van a https://dashboard.tellen.app, bajo /api/v1/, con un token en el encabezado:
Creas el token desde tu consola de plataforma, en Tokens de API (dashboard.tellen.app/accounts/:account_id/platform/api_tokens).
El token se muestra una sola vez al crearlo. Cópialo en ese momento y guárdalo en un lugar seguro: no se puede recuperar después. Da acceso completo a todas tus cuentas hijas; nunca lo compartas ni lo subas a un repositorio.
Un token solo puede actuar sobre su propia cuenta o sobre una cuenta hija que le pertenece. Cualquier otra cuenta responde 404 —no revelamos si existe—, así que un 404 en estos endpoints casi siempre significa que el account_id no es una cuenta hija tuya.

Guía rápida: de crear un cliente a su primera factura

El flujo completo son siete pasos, en orden. Cada paso está en cURL, Node y Ruby. Los ejemplos de Node usan fetch (nativo desde Node 18) y los de Ruby usan Net::HTTP (librería estándar); ninguno necesita dependencias externas. Define primero tus credenciales. Reemplaza el token por el tuyo, y ve guardando los IDs que devuelve cada paso (el de la cuenta hija, el establecimiento, el contacto, el producto, la factura) para usarlos en los siguientes.
1

Crea la cuenta hija a partir de su RUC

Con el RUC obtenemos toda la información del negocio desde el SRI, así que solo necesitas enviar el RUC, los datos de contacto y el plan. Opcionalmente, production_mode para crearla directo en producción (por defecto arranca en pruebas).
El resto del perfil —razón social, dirección, régimen, obligaciones tributarias— y los establecimientos activos se completan automáticamente desde el SRI; no los envías ni los puedes sobrescribir. La respuesta (201) es el detalle completo de la cuenta, con su id y sus establecimientos, así que no necesitas una consulta adicional.
Errores a manejar: 404 si el RUC no existe en el SRI, 409 si ya está registrado en Tellen (no puede haber dos cuentas con el mismo RUC), 422 si el RUC es inválido.
2

Sube su certificado de firma

Una cuenta hija no puede emitir al SRI sin un certificado .p12 activo. Envíalo codificado en base64 junto con su contraseña; si la contraseña es correcta, queda como el certificado activo de la cuenta.
Sin un certificado activo y vigente, el envío al SRI (paso 7) falla. El orden importa: sube el certificado antes de intentar emitir.
3

Crea al menos un punto de emisión

Los establecimientos ya existen (llegaron del SRI en el paso 1), pero los puntos de emisión son internos de Tellen: los creas tú, y necesitas al menos uno para poder facturar.Primero consulta los establecimientos para tomar el store_id:
Luego crea el punto de emisión sobre ese establecimiento. El code (3 dígitos) debe ser el mismo que el cliente ya usaba en ese punto de venta, y el secuencial debe continuar la numeración que traía, no reiniciar en 1.
Si el cliente ya venía facturando —en otro sistema o en el portal del SRI—, el SRI rechaza cualquier factura cuyo secuencial repita uno ya autorizado. Arranca el punto de emisión desde el siguiente secuencial disponible con next_sequential_production (y next_sequential_test para el ambiente de pruebas). Por ejemplo, si la última factura autorizada fue la 001-001-000001244, el próximo secuencial es 1245. Si el cliente es nuevo y nunca ha facturado desde ese punto, omite estos campos: arrancan en 1.
Si los establecimientos del SRI cambiaron después de crear la cuenta, vuelve a sincronizarlos con POST /api/v1/accounts/$ACCOUNT_ID/stores/sync.
4

Registra los contactos del cliente

Son los clientes y proveedores de tu cliente: a quiénes les factura. Marca al menos uno de cliente o proveedor.
5

Registra su catálogo de productos

Los ítems de cada factura referencian productos por su ID. Cada producto lleva su configuración de impuestos (IVA e ICE), así que no calculas impuestos a mano en la factura.
6

Crea la factura en borrador

Envía el contact_id, el emission_point_id y los items (cada uno con product_id o product_variant_id y su cantidad). Los impuestos se derivan automáticamente de los productos referenciados: tú envías IDs y cantidades, no montos de impuestos.
La factura nace en estado draft: guardada en la cuenta, pero todavía sin efecto tributario. payment_method es un código SRI de forma de pago (por defecto 20).
7

Envíala al SRI y consulta el resultado

El envío es asíncrono. La respuesta es 202 Accepted con { "id": "...", "status": "pending" }: la factura quedó encolada, todavía no autorizada.
Consulta la factura hasta que su status deje de ser pending:
  • authorized → autorizada, con access_key y authorization_number.
  • rejected → rechazada, con el motivo en error_message.
La respuesta del envío no es el resultado final. No la trates como autorización: consulta la factura hasta ver authorized o rejected.

Anular una factura autorizada

Para dejar sin efecto una factura ya autorizada, anúlala. Solo es posible hasta el día 7 del mes siguiente a la emisión, y recuerda anular también el comprobante en el portal del SRI.
Devuelve { "id": "...", "status": "cancelled" }.

Pruebas y producción

Cada cuenta hija trabaja en el ambiente de pruebas o de producción del SRI, según su production_mode. Los comprobantes que emites en pruebas no tienen validez legal: úsalo para validar tu integración antes de emitir en producción.
  • Al crear la cuenta hija, si omites production_mode arranca en pruebas.
  • Las consultas y los secuenciales están separados por ambiente.
  • Puedes pasar una cuenta a producción al editarla, con PATCH /api/v1/accounts/:id.

Manejo de errores

Recuerda además el patrón asíncrono del envío al SRI: un 202 significa “encolada”, no “autorizada”. El estado final lo obtienes consultando la factura.

Paginación y filtros

Los listados devuelven el recurso más un objeto pagination (page, total_pages, total_count) y aceptan ?page= (25 por página). Algunos aceptan filtros:
  • Facturas: status, contact_id, emission_date_from, emission_date_to.
  • Contactos: query, contact_type.
  • Puntos de emisión: store_id.

Siguiente paso

Cuentas hijas (plataforma)

El modelo conceptual: cómo se relacionan una plataforma y sus hijas, y cómo funciona el cobro.

Referencia de endpoints

El detalle de cada endpoint, con sus parámetros y respuestas exactas.