Nuevo · API REST + MCP para agentes de IA

Timbra CFDI 4.0 desde tu código

La infraestructura de facturación detrás de CFDI Express, ahora como API. Facturas PUE, PPD y globales, complementos de pago, cancelaciones y PDF del SAT — desde tu backend con convenciones estilo Stripe, o desde tu agente de IA vía MCP. Sandbox gratis.

tu-primer-timbre.sh
# Timbra una factura PUE
$ curl https://api.cfdi.express/v1/invoices \
  -H "Authorization: Bearer sk_test_…" \
  -H "Idempotency-Key: orden-1042" \
  -d '{ "merchantId": "mer_…",
       "receptor": { "rfc": "XAXX010101000", … },
       "conceptos": [ … ] }'

# ← 201 Created
{ "id": "inv_9f2…", "status": "stamped",
  "uuid": "A1B2C3…", "pdfUrl": "https://…",
  "xmlUrl": "https://…" }
1.57sp95 de timbrado verificado bajo ráfaga
52k+claves de producto SAT en catálogo local
$1MXN por timbre, menos con volumen
0dobles timbres en 35 stamps concurrentes

Todo el ciclo de vida del CFDI, en una API

De la emisión a la cancelación. Sin portales, sin Excel, sin calcular impuestos a mano.

🧾Core

Facturas PUE, PPD y Globales

Timbrado CFDI 4.0 nominativo y global (público en general) con las reglas del SAT validadas del lado del servidor. Motor de impuestos incluido: tú no calculas nada.

💳Core

Complementos de Pago REP

Pagos 2.0 con numParcialidad y saldos calculados en servidor. Sobrepagos, pagos fuera de secuencia y facturas liquidadas se rechazan solos.

Core

Cancelaciones con Acuse

Motivos 01–04, folioSustitucion cuando aplica y el acuse XML del SAT guardado con URL firmada. Cancelar un REP restaura el saldo de la factura.

📄Core

PDF y XML Propios

PDF Anexo 20 con QR, sellos y cadena original, generado por nosotros. XML, PDF y ZIP servidos como URLs firmadas de 15 minutos.

📚Core

Catálogos SAT Locales

52,513 claves de producto (con sinónimos), 2,418 unidades, usos CFDI, regímenes fiscales y formas de pago. Sin lookups externos.

🏢Pro

Multi-CSD y Multi-RFC

Varios emisores por cuenta, cada uno con su CSD validado (vigencia, llave↔cert, RFC) y encriptado con AES-256-GCM. Todos activos a la vez.

🔁Pro

Idempotencia Real

Idempotency-Key persistente por cuenta y modo: un replay devuelve la respuesta original, duplicados concurrentes reciben 409 y misma llave con otro body, 422.

🔐DX

Convenciones Estilo Stripe

Llaves sk_test_/sk_live_, livemode en cada recurso, errores problem+json, IDs opacos y paginación por cursor. Si usaste Stripe, ya sabes usar esto.

DX

OpenAPI + Docs Interactivas

Spec OpenAPI generada del código con docs interactivas para probar cada endpoint desde el navegador. Errores con subcódigos específicos.

De registro a timbre, en minutos

01

Crea tu cuenta

Regístrate en dash.cfdi.express y obtén tu llave sk_test_ al instante, con saldo de prueba para el sandbox.

02

Sube tu CSD

POST /v1/merchants con tus archivos .cer y .key. Validamos vigencia, llave↔cert y RFC antes de guardarlos encriptados.

03

Timbra tu primer CFDI

POST /v1/invoices con emisor, receptor y conceptos. El motor de impuestos calcula todo por ti.

04

Entrega XML y PDF

Recibe URLs firmadas del XML, PDF y ZIP listas para enviar a tu cliente o guardar en tu sistema.

Requests predecibles, respuestas claras

JSON en, JSON out. Errores problem+json con subcódigos específicos para que tu código sepa exactamente qué pasó.

POST /v1/invoicesRequest
{
  "merchantId": "mer_8xk2…",
  "tipoDeComprobante": "I",
  "metodoPago": "PUE",
  "formaPago": "03",
  "receptor": {
    "rfc": "EKU9003173C9",
    "nombre": "ESCUELA KEMPER URGATE",
    "regimenFiscal": "601",
    "domicilioFiscal": "76000",
    "usoCfdi": "G03"
  },
  "conceptos": [{
    "claveProdServ": "01010101",
    "claveUnidad": "E48",
    "descripcion": "Desarrollo de software",
    "cantidad": 1,
    "valorUnitario": 1500.00,
    "objetoImp": "02"
  }]
}
201 CreatedResponse
{
  "id": "inv_9f2c41…",
  "livemode": false,
  "status": "stamped",
  "uuid": "A1B2C3D4-…-000000000042",
  "serie": "FA",
  "folio": "1042",
  "total": "1740.00",
  "chargedCentavos": 100,
  "pdfUrl": "https://files.cfdi.express/…?sig=…",
  "xmlUrl": "https://files.cfdi.express/…?sig=…",
  "zipUrl": "https://files.cfdi.express/…?sig=…",
  "created": "2026-08-01T18:22:10.512Z"
}

Endpoints que resuelven el ciclo completo

Estos son los más usados. La referencia completa vive en la documentación interactiva.

POST/v1/invoicesTimbra facturas PUE, PPD o globales
GET/v1/invoicesLista con filtros y paginación por cursor
POST/v1/invoices/{id}/paymentsComplemento de pago REP (Pagos 2.0)
POST/v1/invoices/{id}/cancelCancela con motivo y acuse del SAT
POST/v1/merchantsRegistra un emisor y sube su CSD
GET/v1/catalogs/products52k+ claves de producto del SAT
GET/v1/balanceSaldo, precio por timbre y timbres restantes
POST/v1/billing/checkout_sessionsRecarga saldo con tarjeta vía Stripe

Tu agente de IA también puede facturar

La API incluye un servidor MCP (Model Context Protocol). Conéctalo a claude.ai, ChatGPT, Claude Code, Cursor o a tu agente propio y pídele en lenguaje natural que timbre facturas, registre pagos o cancele CFDIs.

claude.ai · Claude Desktop · ChatGPTOAuth

Agrégalo como conector personalizado con esta URL e inicia sesión con tu cuenta del dashboard. Sin llaves, sin configuración:

https://api.cfdi.express/mcp

¿Solo quieres experimentar? Conecta https://api.cfdi.express/mcp/test y tu agente timbra contra el sandbox del SAT, gratis.

Claude Code · Cursor · Windsurf · MCP SDKAPI key
# Claude Code
claude mcp add --transport http cfdi \
  https://api.cfdi.express/mcp \
  --header "Authorization: Bearer sk_test_…"

// Cursor / Windsurf — mcp.json
{
  "mcpServers": {
    "cfdi": {
      "url": "https://api.cfdi.express/mcp",
      "headers": {
        "Authorization": "Bearer sk_test_…"
      }
    }
  }
}

13 herramientas que cubren el ciclo CFDI completo:

create_invoiceget_invoicelist_invoicescancel_invoicecreate_paymentget_paymentlist_paymentscancel_paymentlist_merchantssearch_product_codessearch_unit_codesget_catalogget_balance
🧪

Modo test para experimentar

Conecta /mcp/test (o usa tu llave sk_test_) y tu agente timbra contra el sandbox del SAT gratis, sin gastar saldo. Cambia a /mcp cuando estés listo para producción.

🧠

Errores que el agente entiende

Cada error regresa el código estable del API (validation_error, insufficient_credits, sat_rejected…), punteros por campo y una pista de reintento — el agente se autocorrige solo.

🔁

Idempotencia también aquí

Las herramientas que timbran aceptan idempotency_key: si el agente reintenta, recibe el documento original sin gastar otro timbre. Cero dobles timbres, también con IA.

🔒

Alcance controlado

El agente puede timbrar, cancelar y consultar, pero los CSDs no se administran por MCP: tus certificados solo se suben y validan desde el dashboard.

Hecha para producción, no para demos

La misma infraestructura que timbra para las tiendas Shopify de CFDI Express, endurecida bajo pruebas de ráfaga.

🛡️

Cero dobles timbres

Los timbres nunca se reintentan a ciegas: una falla ambigua con el PAC marca el documento para reconciliación manual y mantiene tu saldo reservado. Verificado con 35 timbres concurrentes: contabilidad exacta.

💰

Saldo con reembolso automático

Cada timbre reserva saldo y lo confirma al timbrar. Si el SAT rechaza o el PAC falla, el reembolso es automático — con ledger completo para auditar cada centavo.

🚦

Rate limit y guardrails

300 requests por minuto por llave con 429 + Retry-After, límite de body de 1 MB y un registro de auditoría en cada mutación. Predecible bajo carga.

🔒

CSDs encriptados

Tus certificados se guardan con encriptación de sobre AES-256-GCM. La validación es local: vigencia, match llave↔certificado, RFC y rechazo de FIEL con subcódigos claros.

Paga solo por lo que timbras

Sin mensualidad, sin mínimos, sin contratos. Saldo prepagado que recargas cuando lo necesitas.

Sandbox gratis

Pay as you go

Para cualquier volumen

$1MXN / timbre
Recargas de $100 a $50,000 MXN con tarjeta, vía Stripe. Descuentos por volumen: entre más timbras, menos pagas por timbre.
  • Descuentos por volumen automáticos
  • Sandbox gratis e ilimitado con sk_test_
  • Facturas PUE, PPD y globales
  • Complementos de pago y cancelaciones incluidos
  • PDF + XML + ZIP con URLs firmadas
  • Reembolso automático si el SAT rechaza
  • Multi-CSD y multi-RFC sin costo extra
  • Catálogos SAT sin límite de consultas
Crear cuenta gratis

¿Vendes en Shopify? La app tiene planes desde $15 USD/mes — ver planes de la app

Todo lo que necesitas saber

No. La API de CFDI Express es independiente de Shopify: cualquier sistema que pueda hacer HTTPS puede timbrar — ERPs, tiendas propias, apps móviles o backends internos. Si vendes en Shopify, la app ya incluye todo integrado.

Tu primer timbre, en minutos.

Sandbox gratis. Sin tarjeta. Llaves sk_test_ al instante.