Saltar al contenido

Timbra CFDI 4.0 desde tu sistema,
sin pagar por la API

Envía un JSON o tu XML ya sellado y recibe el CFDI timbrado con XML y PDF. La API v5 viene incluida: pagas folios que no caducan, 1 por CFDI timbrado.

JSON · XML Base64 · Archivo XML

$0
Por usar la API
1 folio
Por CFDI timbrado
100%
Disponibilidad
2008
Facturando desde

Timbra como prefieras

Si empiezas de cero, envía JSON. Si ya generas y sellas tu XML, solo cambias a dónde lo envías.

Para conectar tu ERP o tu sistema

Envías los datos en JSON y nosotros generamos el XML, lo sellamos con el CSD de tu cuenta y lo timbramos. Recibes el UUID, el XML en Base64 y la liga al PDF.

  • Fecha, Folio e IdCCP de Carta Porte con el valor "AUTO"
  • PDF con la plantilla que elijas (plantilla_id)
  • Envío por correo al timbrar (enviar_mail)
  • Errores del SAT en español, con el elemento y el campo
Endpoint
POST /api/v5/invoice/create
factura.jsonFactura de ingreso con IVA 16%
{
  "Version": "4.0",
  "Serie": "F",
  "Folio": "AUTO",
  "Fecha": "AUTO",
  "FormaPago": "03",
  "MetodoPago": "PUE",
  "Moneda": "MXN",
  "TipoDeComprobante": "I",
  "Exportacion": "01",
  "LugarExpedicion": "64000",
  "SubTotal": "1000.00",
  "Total": "1160.00",
  "Emisor": { "RegimenFiscal": "601" },
  "Receptor": {
    "Rfc": "XIA190128J61",
    "Nombre": "XENON INDUSTRIAL ARTICLES",
    "DomicilioFiscalReceptor": "76343",
    "RegimenFiscalReceptor": "601",
    "UsoCFDI": "G03"
  },
  "Conceptos": [{
    "ClaveProdServ": "81111811",
    "Cantidad": "1",
    "ClaveUnidad": "E48",
    "Descripcion": "Servicio de soporte técnico",
    "ValorUnitario": "1000.00",
    "Importe": "1000.00",
    "ObjetoImp": "02",
    "Impuestos": { "Traslados": [{
      "Base": "1000.00",
      "Impuesto": "002",
      "TipoFactor": "Tasa",
      "TasaOCuota": "0.160000",
      "Importe": "160.00"
    }] }
  }],
  "Impuestos": { ... },
  "enviar_mail": {
    "destinatarios": "cliente@facturadigital.com.mx"
  }
}

Se envía en el campo json de POST /invoice/create:

curl -X POST \
  "https://app.facturadigital.com.mx/api/v5/invoice/create" \
  -H "X-Api-Key: $FD_API_KEY" \
  --data-urlencode "json@factura.json"
Producción
https://app.facturadigital.com.mx/api/v5
Sandbox
https://sandbox-app.facturadigital.com.mx/api/v5

Qué incluye la API v5

Sin costo extra: pagas folios, no la API.

WebhooksNuevo

Tu sistema recibe un aviso firmado cuando se timbra o se cancela un CFDI, o se registra un pago. Si no responde, el aviso se reintenta.

SDKs oficialesNuevo

La API es REST sobre HTTPS y funciona con cualquier lenguaje. Si prefieres una librería, hay SDKs para Node.js, PHP y Python.

Servidor MCPNuevo

Conecta Claude, ChatGPT o Gemini a tu cuenta. El asistente prepara la factura y tú confirmas antes de timbrar.

Todo el ciclo del CFDI

Timbra, cancela con motivos 01 a 04, reenvía por correo, lista emitidos, recibidos y pagos, y consulta CFDI relacionados.

Catálogos, autofactura y validación

Da de alta clientes, productos y proveedores; registra tickets para tu kiosko de autofactura; y valida RFC, listas negras y estatus de CFDI con créditos aparte.

Timbrado PAC ultrarrápido y con respaldo

Si un PAC no responde, tu CFDI se timbra igual y tu integración no cambia. Corre en AWS (región México) y Google Cloud; tus XML y PDF se resguardan 5 años.

Integra en 4 pasos

  1. 01

    Crea tu cuenta en el sandbox

    Es gratis y los CFDI que generes ahí no tienen validez fiscal.

  2. 02

    Sube tu CSD

    En Configuración → Certificados sube tu .cer, tu .key y la contraseña.

    Usa el Certificado de Sello Digital (CSD), no tu e.firma.

  3. 03

    Copia tu API key

    Está en Configuración → Datos de facturación y va en el header X-Api-Key. Sandbox y producción usan llaves distintas.

  4. 04

    Haz tu primera petición

    Consulta tus folios con GET /account/balance y timbra tu primer CFDI con POST /invoice/create.

Complementos por JSON o por XML

Timbra factura, nota de crédito, recibo de pago, nómina y Carta Porte. Los complementos se incluyen con límite; con Premium no tienen límite.

Complementos por API
  • Carta Porte 3.1 (ingreso y traslado)
  • Recibo de pago (Pagos 2.0) y Nómina 1.2
  • Comercio Exterior 2.0
  • Impuestos Locales, INE, Donatarias, Construcción, Pago en Especie, Vehículo Usado e Hidrocarburos
  • IEDU, cuenta predial y pedimento en conceptos
  • Solo por API: Detallista, Notarios, Aerolíneas, Obras de arte, Divisas y A cuenta de terceros

Guías y herramientas para devs

Guías por caso de uso

Complemento de pago

Pagos 2.0 con parcialidades, saldos e impuestos por documento.

Para probar sin usar tu certificado

Generador de XML de pruebaNuevo

CFDI 4.0 sellado con los RFC y CSD de prueba del SAT, listo para el sandbox.

Validador de XMLNuevo

Revisa el sello, el certificado, la fecha y los importes de tu XML.

Validador de JSON

Revisa el JSON de invoice/create con las reglas del SAT y con el sandbox.

Matriz de errores

Las claves de error del SAT y los códigos de la API v5, con buscador.

Colección de Postman

Cada endpoint de la API v5 listo para importar y probar.

Ejemplos por lenguaje

Timbrado en curl, PHP, Node.js, Python, C# y Java.

Dudas sobre la API

¿Necesitas ayuda con la integración?

¿Necesito generar el XML, la cadena original y el sello?

Con JSON (POST /invoice/create), no: envías los datos y nosotros armamos el XML, lo sellamos con tu CSD y lo timbramos. Si ya generas y sellas tu XML, envíalo a /invoice/stampxml (Base64) o a /invoice/stampxmlfile (archivo) y solo lo timbramos.

¿La API tiene costo?

No. La API v5 está incluida: pagas folios, no la API. Cada CFDI timbrado usa 1 folio, igual que en la web, y los folios no caducan.

¿Puedo probarla sin costo?

Sí. El sandbox en sandbox-app.facturadigital.com.mx es gratis y timbra con un PAC de pruebas; los CFDI que generes ahí no tienen validez fiscal. Cuando estés listo, cambias la URL y la llave por las de producción.

¿Cómo me autentico?

Con el header X-Api-Key. La llave ya viene codificada en Base64: la copias de Configuración → Datos de facturación o la obtienes con GET /account/authorize enviando tu usuario y contraseña.

¿En qué lenguajes puedo integrarla?

En cualquiera que haga peticiones HTTPS: con curl, fetch, Guzzle, requests o HttpClient basta. Si prefieres una librería, hay SDKs oficiales (nuevo) para Node.js, PHP y Python.

¿Cómo se entera mi sistema de una cancelación o de un pago?

Con webhooks (nuevo): enviamos un aviso firmado a la URL de tu sistema cuando se timbra o se cancela un CFDI, o cuando se registra un pago. Si tu servidor no responde, el aviso se reintenta.

¿Puedo facturar desde Claude, ChatGPT o Gemini?

Sí, con el servidor MCP (nuevo). Conectas tu asistente de IA a tu cuenta y le pides la factura; el asistente la prepara y tú confirmas antes de timbrar. Tiene los mismos permisos que tu usuario.

¿Qué pasa si un PAC no responde?

Timbrado PAC ultrarrápido y con respaldo: si un PAC no responde, tu CFDI se timbra igual. El cambio ocurre de nuestro lado, sin que modifiques tu integración. La plataforma corre en AWS (región México) y en Google Cloud.

¿Puedo cambiarme desde mi PAC actual sin reescribir mi código?

Si ya generas y sellas tu XML, sí: lo envías tal cual a /invoice/stampxml o /invoice/stampxmlfile. Cambias la URL y la autenticación; tu generador de XML se queda igual. Para cancelar sin cargar tu CSD en la cuenta, usa /invoice/cancelwithcsd.

¿Puedo timbrar Carta Porte, recibos de pago y nómina por API?

Sí: Carta Porte 3.1 (con IdCCP en "AUTO"), recibo de pago 2.0, nómina 1.2, Comercio Exterior 2.0 y los demás complementos vigentes, además de algunos que solo existen por API, como Detallista o Notarios.

¿Qué pasa si mi JSON tiene un error?

No se timbra y la respuesta te dice qué corregir. Si el CFDI no cumple el esquema del SAT, la API responde con code 702, un resumen en español y la lista errors con el elemento, el campo y el mensaje de cada error; por ejemplo: «Elemento 'Comprobante': El campo 'Exportacion' es obligatorio.»

Soy integrador, ¿puedo dar de alta las cuentas de mis clientes?

Sí, como socio habilitado: alta de cuentas y carga de CSD por API, solo desde las IP que registres. Escríbenos por WhatsApp para habilitarlo.

Empieza con 10 folios de regalo.

Sin tarjeta. Subes tu constancia y tu CSD, y timbras desde el navegador.

10 folios de regalo, sin tarjeta. En el siguiente paso completas tu registro.