Saltar al contenido
Factuplan
Developer-first

API facturación electrónica REST para Ecuador

Emite facturas, notas de crédito y débito, retenciones y liquidaciones de compra ante el SRI desde tu app. SDK TypeScript oficial, sandbox sin tarjeta, webhooks firmados y Postman Collection.

REST + JSON estándar Sin tarjeta Autorizado SRI SDK tipado en npm
import { Factuplan } from "factuplan"

const factuplan = new Factuplan(process.env.FACTUPLAN_API_KEY!, {
  ruc: "0993378150001",
})

const factura = await factuplan.invoices.create({
  customer: {
    identificationType: "RUC",
    identification: "0950194407001",
    legalName: "Cliente Demo S.A.",
    email: "facturas@cliente.ec",
  },
  items: [
    {
      code: "SERV-001",
      description: "Servicio mensual",
      quantity: 1,
      unitPrice: 500,
      taxType: "IVA_RATE",
      tax: 15,
    },
  ],
  sendEmail: true,
})

console.log(factura.accessKey) // 49 dígitos

El Stripe de la facturación Ecuador

Diseñada por developers, para developers.

Documentación pública abierta, sandbox sin contrato comercial, errores tipados, webhooks firmados, idempotencia con devReference, rate limits visibles en headers. Todo lo que esperas de una API moderna en 2026.

Las 6 funciones de la API factura electrónica de Factuplan

Capacidades técnicas que diferencian a Factuplan de los demás proveedores ecuatorianos.

  • Los 3 modos del SRI

    Modo A: Factuplan firma, autoriza y envía. Modo B: tú generas el XML, nosotros firmamos y autorizamos. Modo C: tú gestionas la transmisión al SRI. Una sola API key cubre los tres modos.

  • Sandbox real sin tarjeta

    Crea API keys ak_test_* en 2 minutos. Emite comprobantes ficticios que se eliminan cada hora. Sin contrato comercial, sin formularios, sin esperar aprobación.

  • Webhooks firmados HMAC SHA-256

    Recibe eventos invoice.authorized, invoice.rejected, credit_note.authorized, waybill.authorized y más con firma HMAC. Sin polling, sin reintentos manuales.

  • Idempotencia con devReference

    Envía tu propia referencia (por ejemplo el número de pedido) en el campo devReference del body. Si reintentas por un timeout, la API responde con el mismo comprobante y duplicate: true en vez de emitir otro. No existe ningún header de idempotencia.

  • Autorización SRI en segundos

    Esquema offline vigente desde 2022. Comprobantes autorizados típicamente en pocos segundos. Si el SRI cae, el comprobante queda en ERROR y Factuplan lo reintenta automáticamente cuando el SRI vuelve.

  • Todos los comprobantes electrónicos

    Facturas, notas de crédito, notas de débito, comprobantes de retención y liquidaciones de compra, cada tipo con su endpoint JSON. Las guías de remisión se emiten desde el panel o enviando tu propio XML por el Modo B.

Funciona en cualquier stack

API REST estándar sobre HTTPS. Tenemos SDK oficial en TypeScript y snippets en los lenguajes más usados.

  • Node.js
  • TypeScript
  • Python
  • PHP
  • Go
  • Ruby
  • .NET
  • cURL

¿Otro lenguaje? La API REST funciona con cualquier cliente HTTP. Lee los docs técnicos para los detalles del envelope JSON y los catálogos del SRI.

Quickstart en 3 pasos

De cero a primera factura autorizada por el SRI en menos de 10 minutos.

  1. Crea tu cuenta y API key

    Registro gratis en 2 minutos. Crea una API key de pruebas (ak_test_*) sin tarjeta de crédito.

    # Dashboard → Developer → Create API key
  2. Instala el SDK (opcional)

    Para Node/TypeScript usa el paquete oficial. Otros lenguajes consumen la API REST con cualquier cliente HTTP.

    npm install factuplan
  3. Emite tu primera factura

    10 líneas. El SRI autoriza en segundos. Tu cliente recibe XML + RIDE PDF por email automáticamente.

    await factuplan.invoices.create({ customer, items, sendEmail: true })

Por qué developers eligen Factuplan

Comparativa con APIs alternativas del mercado ecuatoriano.

Característica Factuplan API APIs alternativas
SDK oficial tipado ✓ TypeScript en npm con autocompletado y errores tipados Sin SDK oficial publicado
Documentación API ✓ Pública, abierta, con snippets en 6 lenguajes Restringida por acuerdo comercial
Sandbox sin tarjeta ✓ ak_test_* en 2 minutos Trámite comercial previo
Modos A/B/C SRI ✓ Los 3 con misma API key Modo único
Webhooks firmados HMAC ✓ Eventos completos Limitados o sin webhooks
Errores estructurados ✓ JSON con code, message, statusCode y details Respuestas heterogéneas
Pricing público ✓ Por uso visible en /precios Cotización personalizada

Casos de uso reales

Tipos de productos que ya integran Factuplan API en producción.

  • E-commerce

    Shopify, WooCommerce, Tienda Nube, Magento: emite factura automática al confirmar pago. El cliente recibe RIDE por email sin acción manual del comercio.

  • POS / retail

    Sistemas de caja en restaurantes, farmacias, supermercados. Emisión instantánea al cobrar con código QR del RIDE en la pantalla del cliente.

  • ERP empresarial

    SAP, Odoo, ERPNext, Microsoft Dynamics, Defontana: conectar el módulo de ventas a Factuplan para emisión y autorización SRI sin desarrollo interno del XML.

  • SaaS multi-tenant

    Plataforma vertical (gestión de hoteles, talleres, clínicas, etc.) que ofrece facturación electrónica a sus clientes finales. Multi-RUC con una sola integración.

  • Marketplace

    Plataforma con múltiples vendedores donde cada uno necesita emitir factura propia con su RUC y firma. Multi-tenant con API key por workspace.

  • Pasarelas de pago

    Procesadores que automatizan emisión de factura al recibir pago confirmado. Webhook de pago → llamada a Factuplan API → factura autorizada en segundos.

Pricing transparente, por uso

Sin cotizaciones comerciales, sin formularios. Precios públicos por volumen de comprobantes/mes. Plan gratuito para empezar (25 facturas el primer mes), planes pagos desde USD 9/mes para producción.

FAQ

Preguntas frecuentes

¿No encuentras tu respuesta? Escríbenos.

¿Cuál es la diferencia entre /api y /docs/api?

Son dos páginas complementarias con audiencias distintas. /api (esta página) es la landing comercial del API: presenta el valor, casos de uso, comparativa con otras APIs del mercado y CTA para crear API key. /docs/api es la referencia técnica detallada: endpoints, payloads completos, códigos de error, schemas, ejemplos exhaustivos. Si estás evaluando si Factuplan API encaja con tu proyecto, empieza aquí; si ya decidiste integrar y necesitas la referencia, salta a /docs/api. Ambas están cross-linked.

¿Necesito tarjeta de crédito para probar la API?

No. Crea tu cuenta en app.factuplan.com.ec sin tarjeta y genera tu primera API key de pruebas (prefijo ak_test_*) en 2 minutos. Los comprobantes emitidos en sandbox son ficticios y se eliminan automáticamente cada hora; con el contribuyente de pruebas que trae tu cuenta nueva (RUC 9999999990001) no requieren firma electrónica P12 (Factuplan omite la firma y simula la respuesta del SRI). Cuando estés listo para producción, cargas tu firma electrónica vigente y reemplazas la API key por una ak_live_*. El plan freemium incluye 25 facturas reales/mes en producción también sin tarjeta.

¿Qué lenguajes y frameworks soporta la API?

Cualquiera que pueda hacer HTTP POST con JSON. La API REST es estándar: cabeceras X-API-Key + x-taxpayer-ruc, body JSON, respuestas con sobre data/meta. Tenemos snippets oficiales en cURL, Node.js, TypeScript, Python, PHP, Go, Ruby y .NET. Para Node.js/TypeScript publicamos un SDK oficial tipado en npm (paquete factuplan) que añade autocompletado, manejo de errores estructurado y verificación de firmas de webhooks. El SDK no reintenta por su cuenta (timeout de 30 segundos): si reintentas una emisión, envía el mismo devReference para no duplicar el comprobante. Para otros lenguajes la integración es directa con la API REST.

¿Cuántas peticiones puedo hacer? ¿Hay rate limits?

Sí, todo API serio los tiene. Factuplan publica los rate limits en headers HTTP (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) en cada response, así tu cliente puede ajustarse automáticamente. Hay también una cuota mensual de comprobantes según tu plan (25 el primer mes en Free, 10/mes en Start desde USD 9, mayor en planes superiores), visible en tu dashboard. Al agotar el cupo de tu plan (y el excedente, si tu plan lo incluye) la API rechaza las emisiones con HTTP 403 hasta que renueves o subas de plan: código SUB_12002, o SUB_12008 cuando también se agotó el excedente. El HTTP 429 es para cuando superas el límite de peticiones por segundo. El SDK no reintenta por su cuenta: ante un 429 lanza RateLimitError y tú decides cuándo volver a intentar.

¿Cómo funcionan los webhooks?

Configuras un endpoint HTTPS público en tu app en Dashboard → Developer → Webhooks. Factuplan envía eventos POST con body JSON y header x-factuplan-signature con el formato t=<timestamp>,v1=<firma> (HMAC SHA-256 sobre el texto <timestamp>.<body> con tu webhook secret). Los eventos principales son invoice.authorized, invoice.rejected, credit_note.authorized, waybill.authorized, withholding.authorized y sus contrapartes rejected. Tu endpoint verifica la firma, procesa el evento (idealmente async/encolado) y responde 200 OK rápido. Si tu endpoint falla o tarda, Factuplan reintenta con backoff exponencial: hasta 8 intentos en cerca de una hora. Tras 10 entregas fallidas seguidas el webhook se desactiva y te avisamos por correo. Cuando lo reactives en Dashboard → Developer → Webhooks, puedes reenviar desde su historial las entregas que no llegaron: ahí quedan registrados también los eventos de los 7 días siguientes a la desactivación.

¿Qué modos de operación del SRI soporta?

Los tres modos definidos por la Ficha Técnica de Comprobantes Electrónicos v2.32: Modo A (recomendado, default): Factuplan genera el XML, lo firma con tu P12, lo autoriza ante el SRI, genera el RIDE PDF y envía el email al cliente. Modo B: tú generas el XML según el schema del SRI, nos lo envías sin firmar, nosotros lo firmamos y autorizamos. Modo C: tú generas el XML, Factuplan solo lo firma con tu P12 y el envío al SRI lo haces tú. Los tres modos usan la misma API key y se eligen por endpoint. La mayoría de integraciones usan Modo A porque resuelve todo el flujo end-to-end.

¿Hay un SLA o garantía de disponibilidad?

Para planes pagos Factuplan ofrece SLA documentado en el contrato comercial estándar, típicamente 99.9% mensual con compensaciones por incumplimiento. Para el plan gratuito el SLA es best-effort sin compromiso contractual, aunque la infraestructura es la misma. La disponibilidad real se monitorea continuamente y los incidentes se publican en el status page. Para caídas del SRI (que no son responsabilidad del proveedor), la API sigue aceptando emisiones: el comprobante queda en ERROR (recibes el webhook invoice.error) y Factuplan lo reintenta automáticamente cuando el SRI vuelve a responder.

¿Puedo usar la API en un sistema multi-RUC (multi-tenant)?

Sí. Las API keys son por workspace en Factuplan, y un workspace puede tener múltiples RUCs configurados (cada uno con su firma electrónica P12). En cada request envías el header x-taxpayer-ruc indicando con qué RUC emitir el comprobante. Esto es ideal para SaaS verticales, marketplaces y plataformas que facturan en nombre de múltiples clientes finales. Cada RUC tiene su catálogo de productos, clientes, secuenciales y reportes independientes, pero todo bajo una sola API key y un solo dashboard.

Empieza a facturar electrónicamente hoy

1 mes gratis al comprar tu firma electrónica con FirmaOK. Sin tarjeta de crédito.

Empresas activas
+1.000
Calificación clientes
4.9/5
Tiempo de onboarding
<1 día
Disponibilidad SRI
24/7
  • Configuración en minutos
  • Cancela cuando quieras
  • Soporte en español ecuatoriano