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.
# 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://…" }
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Sube tu CSD
POST /v1/merchants con tus archivos .cer y .key. Validamos vigencia, llave↔cert y RFC antes de guardarlos encriptados.
Timbra tu primer CFDI
POST /v1/invoices con emisor, receptor y conceptos. El motor de impuestos calcula todo por ti.
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ó.
{
"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"
}]
}{
"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.
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.
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
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:
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.
Pay as you go
Para cualquier volumen
- 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
¿Vendes en Shopify? La app tiene planes desde $15 USD/mes — ver planes de la app
Todo lo que necesitas saber
Tu primer timbre, en minutos.
Sandbox gratis. Sin tarjeta. Llaves sk_test_ al instante.
