FacturaGPT
Preguntas frecuentes

Todo sobre FacturaGPT

Respuestas a las preguntas más comunes sobre la API, la integración, los precios y el proceso de generación de CFDI.

💡 General
¿Qué es FacturaGPT?

FacturaGPT es una API B2B que genera facturas CFDI en México a partir de una foto del ticket de compra. El sistema:

  • Extrae los datos del ticket con OCR e IA
  • Identifica el portal de facturación del comercio
  • Ejecuta el proceso de facturación automáticamente
  • Entrega el XML y PDF del CFDI

Está pensado para plataformas de gastos, fintechs, ERP, software contable y empresas con alto volumen de tickets al mes.

¿Para quién es FacturaGPT?

FacturaGPT está diseñado para empresas que necesitan automatizar la recuperación de CFDI a escala. Los casos de uso principales son:

  • Plataformas de gestión de gastos corporativos
  • Fintechs y emisores de tarjetas corporativas
  • ERP y software de gestión empresarial
  • Software contable con módulo de gastos
  • Empresas que procesan 100+ tickets de gasto al mes

No es una herramienta para facturación individual de un ticket aislado: el valor está en la automatización a escala.

¿FacturaGPT genera la factura o la recupera del comercio?

FacturaGPT recupera el CFDI oficial que emite el propio comercio. No es una factura generada internamente por FacturaGPT, sino el comprobante fiscal sellado y timbrado que el comercio emite a través de su proveedor de facturación autorizado (PAC).

El proceso es: FacturaGPT identifica el portal del comercio → ejecuta el flujo de solicitud de factura → recibe el CFDI que el comercio genera → te lo entrega.

¿El CFDI que entrega FacturaGPT es válido ante el SAT?

Sí. El XML que entregamos es el CFDI original sellado y timbrado por el PAC del comercio. Es el mismo comprobante que recibirías si hubieras facturado manualmente en el portal del comercio. Puedes verificarlo en el SAT como cualquier otro CFDI.

¿En qué versión de CFDI opera FacturaGPT?

FacturaGPT recupera el CFDI en la versión que cada comercio emite actualmente. La mayoría de los comercios ya operan en CFDI 4.0, que es el estándar vigente desde 2023. Algunos comercios pueden aún emitir en versiones anteriores según su configuración interna.

🔌 Integración
¿Cómo funciona el flujo de integración?

El flujo es completamente asíncrono:

  • Tu sistema hace un POST /api/v1/get_factura con la imagen del ticket y los datos fiscales del receptor
  • La respuesta inicial devuelve un session_id con estado processing
  • Cuando el CFDI está listo, tu webhook recibe el XML y PDF
  • También puedes consultar el estado en cualquier momento con GET /api/v1/get_factura_status/{session_id}

Ver documentación completa en Quickstart y API Reference.

¿Qué datos fiscales necesito enviar?

Para el receptor del CFDI necesitas enviar:

  • rfc — RFC del receptor
  • razon_social — Razón social
  • regimen — Clave del régimen fiscal (ej. "601")
  • cp — Código postal fiscal
  • email — Email para recibir el CFDI del comercio

También puedes enviar el PDF de la Constancia de Situación Fiscal con csf_pdf para mayor precisión en la extracción de datos.

¿Puedo guardar el perfil fiscal de un cliente para reutilizarlo?

Sí. En la primera solicitud de un receptor puedes incluir save_customer: true. FacturaGPT guarda el perfil y te devuelve un customer_id. En todas las solicitudes posteriores de ese mismo receptor solo necesitas enviar el customer_id, sin repetir los datos fiscales.

¿Qué lenguajes o frameworks puedo usar para integrar la API?

FacturaGPT es una API REST estándar con autenticación Bearer. Puedes integrarla con cualquier lenguaje: Python, Node.js, Java, C#, Go, PHP, Ruby, o cualquier entorno que pueda hacer llamadas HTTP. No requiere SDK propietario.

¿Cómo funciona la autenticación?

La autenticación es por API key via Bearer token. Incluyes el header:

Authorization: Bearer fgpt_live_tu_api_key

Las API keys tienen prefijo fgpt_live_ para producción y fgpt_test_ para sandbox.

¿Cómo configuro el webhook?

Puedes enviar una webhook_url en el body de cada solicitud, o configurar una URL global desde el dashboard. Cuando el CFDI está listo, FacturaGPT hace un POST a tu endpoint con el resultado completo, incluyendo las URLs de descarga del XML y PDF.

Ver la documentación completa de webhooks en docs/webhooks.

¿Puedo probar la integración sin afectar el saldo?

Sí. Incluye test_mode: true en el body del request para ejecutar el flujo completo en modo sandbox. Los requests de prueba no consumen saldo y te permiten validar la integración antes de activar el ambiente productivo.

⚙️ Proceso y CFDI
¿Cuánto tiempo tarda en llegar el CFDI?

Depende del comercio y su tiempo de respuesta. En la mayoría de los casos el proceso tarda entre minutos y una hora. El flujo es asíncrono: tu sistema no espera activamente, sino que recibe el resultado por webhook cuando está listo.

Puedes consultar el estado en cualquier momento con GET /api/v1/get_factura_status/{session_id}.

¿Qué pasa si el CFDI no se puede generar?

La sesión termina con estado failed. Las razones más comunes son:

  • El ticket ya venció el plazo de facturación del comercio
  • El comercio no emite CFDI electrónico
  • Los datos del ticket eran ilegibles o incompletos
  • Los datos fiscales del receptor tienen errores

Los intentos fallidos no se cobran. Recibes el webhook con el estado fallido para que puedas manejarlo en tu sistema.

¿Cómo recibo el XML y el PDF del CFDI?

Hay dos formas:

  • Webhook: cuando el CFDI está listo, tu endpoint recibe las URLs de descarga del XML y PDF
  • Endpoints de archivos: puedes descargar los archivos directamente con GET /api/v1/files/{session_id}/xml y GET /api/v1/files/{session_id}/pdf
¿Cómo vinculo el CFDI al registro correcto en mi sistema?

Usa el campo external_id al hacer el request. Puedes poner el ID de la transacción, del gasto o del registro en tu base de datos. FacturaGPT devuelve siempre ese mismo external_id en el webhook y en las respuestas de estado, lo que facilita la reconciliación.

¿Qué clave de uso CFDI debo usar?

Depende del caso de uso del receptor. Las más comunes para gastos corporativos son:

  • G03 — Gastos en general (la más usada para gastos corporativos)
  • D01 — Honorarios médicos y hospitalarios
  • I08 — Otra maquinaria y equipo

Para personas morales con gastos corporativos, G03 es la opción más común.

🗺️ Comercios y cobertura
¿Qué comercios están soportados?

FacturaGPT soporta más de 1,000 comercios en México, incluyendo los más comunes en gastos corporativos:

  • Restaurantes y cafeterías: Starbucks, McDonald's, Burger King, Domino's, Vips, Sanborns
  • Retail: Walmart, Costco, Sam's Club, Soriana, Chedraui, Oxxo
  • Combustible: Pemex, BP, Shell, G500
  • Transporte: Uber, DiDi, Cabify, aerolíneas
  • Servicios: hoteles, papelerías, ferreterías, farmacias

Si tienes un comercio específico en mente que no aparece en la lista, podemos confirmarlo durante el proceso de sandbox.

¿Qué pasa si el comercio no está soportado?

Si el comercio no está en nuestra cobertura, la sesión termina con estado failed y no se cobra el intento. Puedes rastrear qué comercios no están siendo cubiertos para priorizarlos.

Si tienes un comercio con alto volumen que necesitas cubrir, puedes reportarlo durante el sandbox y lo evaluamos para incorporarlo.

¿Funciona con tickets físicos y digitales?

FacturaGPT acepta imágenes de tickets físicos (foto con cámara) y capturas de pantalla de tickets digitales (correo, app de delivery, etc.). El campo ticket_image acepta la imagen en base64. La calidad de la imagen afecta la precisión del OCR.

¿Cuánto tiempo tiene el empleado para solicitar el CFDI después del gasto?

Cada comercio tiene su propio plazo. La mayoría permite facturar el mismo día del gasto o hasta el último día del mes en que se realizó la compra. Algunos comercios tienen plazos más cortos (24-48 horas). Si el plazo ya venció, la sesión termina como failed y no se cobra.

💰 Precios
¿Cuánto cuesta generar un CFDI?

El precio base es $4 MXN + IVA por CFDI exitoso. No pagas por intentos fallidos ni por requests de prueba en modo sandbox.

Para volúmenes de 2,000+ CFDIs al mes tenemos tarifas reducidas. Puedes discutir la estructura de precios durante el proceso de sandbox.

¿Pago por request o por CFDI exitoso?

Solo por CFDI exitoso. Si la sesión termina con estado failed (comercio no soportado, ticket vencido, datos incorrectos, etc.), no se cobra ese intento. Solo pagas cuando el CFDI se genera correctamente.

¿Hay costos de setup o mensualidad fija?

No hay costo de setup ni mensualidad fija. El modelo es pay-per-use: pagas únicamente por los CFDIs que se generan exitosamente. Para volúmenes altos podemos estructurar un modelo con tarifa por volumen comprometido.

¿Hay un período de prueba gratuito?

Sí. Durante el proceso de sandbox puedes hacer pruebas con test_mode: true sin costo. Esto te permite integrar y validar el flujo completo antes de activar el modo de producción.

¿Tienes una pregunta que no está aquí?

Solicita tu sandbox y te contactamos para resolver cualquier duda antes de la integración.