Fiscalapi para Stripe
La app de Fiscalapi para el Stripe App Marketplace emite los CFDI 4.0 de los pagos que recibes en Stripe. El cliente con datos fiscales obtiene su factura en cuanto se confirma el pago; los demás pagos entran en la factura global del periodo, y cada reembolso o disputa perdida de un pago facturado genera su nota de crédito.


La app trabaja con tu cuenta de Fiscalapi: timbra con los timbres y el CSD de tu emisor, y cada CFDI aparece también en tu Dashboard de Fiscalapi.
Precios
La app no tiene costo adicional: va incluida con la suscripción a Emisión CFDI y solo pagas los timbres que usa. Si ya tienes la suscripción, no pagas nada más por la app.
Cada factura, nota de crédito o factura global usa 1 timbre. El enlace de autofactura, opcional, requiere el módulo Auto CFDI.
Casos de uso e industrias
Industrias: SaaS y suscripciones, e-commerce, educación en línea, marketplaces y servicios profesionales que cobran con Stripe.
| Si tu negocio | La app |
|---|---|
| Cobra con Stripe y sus clientes piden factura | Emite la factura a nombre del cliente en cuanto se confirma el pago, sin capturar nada en Fiscalapi. |
| Vende al público en general | Emite la factura global de cada periodo dentro del plazo del SAT. |
| Hace reembolsos o pierde disputas | Emite la nota de crédito de cada reembolso o disputa perdida de un pago facturado. |
| Cobra en dólares o euros | Factura con el tipo de cambio FIX de Banxico; los euros, con su equivalencia publicada en el DOF. |
| Quiere que el cliente pida su factura después | Envía al cliente un enlace para capturar sus datos fiscales o para pedir su factura en tu portal de Auto CFDI. |
Cómo funciona
- Vinculas tu cuenta de Stripe con tu cuenta de Fiscalapi y eliges el emisor.
- Tu cliente paga en Stripe.
- La app lee el pago, sus conceptos e impuestos y los datos fiscales del cliente.
- Si el cliente tiene datos fiscales, la app emite su factura; si no, el pago entra en la factura global del periodo.
- La app guarda el UUID en el pago de Stripe y, si lo activas, envía la factura por correo al cliente.
- Cada reembolso o disputa perdida de un pago facturado genera su nota de crédito. Lo que no se pudo facturar aparece en Requieren atención.
La página completa de la app, en Aplicaciones > Fiscalapi del Dashboard de Stripe, resume el periodo en curso y tiene tres pestañas: Resumen, Requieren atención y Facturas globales.


Configuración
Configura la app una vez, en este orden:
- Crea tu cuenta de Fiscalapi.
- Activa la suscripción a Emisión CFDI en Compras en línea > Suscripciones y compra timbres en Compras en línea > Tienda en línea, como explica activar suscripción. Si el emisor no es el owner, asígnale timbres con una transferencia.
- En Catalogos > Personas, completa el RFC, el régimen fiscal y el código postal del emisor y sube su CSD vigente.
- Instala la app y vincula tu cuenta.
- Completa los ajustes obligatorios, como la serie de facturas.
El checklist Listo para facturar de la app revisa cada requisito y te lleva a donde se resuelve. La app solo factura cuando tu cuenta está lista para timbrar.
Necesitas el rol de administrador o de superadministrador en Stripe para vincular la cuenta, cambiar los ajustes, asignar claves SAT por producto, agregar o editar los datos fiscales de un cliente, usar Importar desde la Constancia y ejecutar Corregir factura, Emitir nota de crédito, Facturar al cliente, Restablecer pago, Descartar aviso, Marcar como facturado fuera de la app y Marcar como emitida fuera de la app. Con cualquier rol ves el estado de cada pago y sus CFDI, ejecutas Emitir factura y Reintentar, descargas el PDF y el XML y usas Reenviar por correo.
Ambientes
Cada modo de Stripe se vincula con su ambiente de Fiscalapi, y los dos no se mezclan. El modo live usa live.fiscalapi.com y timbra en el PAC de producción, con validez fiscal. El modo de prueba o sandbox usa test.fiscalapi.com y timbra en el PAC de pruebas, sin validez fiscal.
Para probar la app en un sandbox de Stripe, crea antes tu cuenta en test.fiscalapi.com con un emisor de prueba. Los datos de prueba incluyen un RFC y un CSD que puedes usar.
Instalar y vincular
Instala Fiscalapi desde el Stripe App Marketplace. Mientras la cuenta no está vinculada, la app te pide vincularla:


- Haz clic en Vincular con Fiscalapi. Fiscalapi se abre en una pestaña nueva.
- Inicia sesión con la cuenta que usas en el Dashboard de Fiscalapi.
- Elige el emisor que timbrará los pagos y confirma. Por omisión es el owner de tu cuenta.
- Regresa a Stripe. La app muestra el emisor vinculado y el checklist Listo para facturar.
Solo el owner de tu cuenta de Fiscalapi puede vincular una cuenta de Stripe. Ves y administras las cuentas vinculadas en Configuración > Cuentas de Stripe del Dashboard de Fiscalapi. La app factura los pagos que se confirman después de vincular. Factura los pagos anteriores desde el Dashboard de Fiscalapi.
Ajustes
Los ajustes viven en la página de configuración de la app en Stripe, con un solo botón para guardar. Aplican a los pagos nuevos.


En Obligatorio defines la serie de las facturas, de las notas de crédito y de las facturas globales. También defines la clave de producto o servicio y la clave de unidad que usa un concepto cuyo producto no tiene sus propias claves, y la periodicidad de la factura global: diaria, semanal o mensual. Por omisión, mensual.


| Ajuste opcional | Qué controla |
|---|---|
| Perfil de impuestos por omisión | Los impuestos que se usan cuando Stripe no reporta los del pago. |
| Forma de pago por omisión | La forma de pago de un método de pago de Stripe sin equivalente en el catálogo de formas de pago del SAT. |
| Facturar automáticamente | Si la factura se emite en cuanto se confirma el pago. Consulta facturación automática. |
| Enviar la factura por correo al cliente | Si el cliente recibe su CFDI por correo. |
| Pedir datos fiscales por correo | Si el cliente sin datos fiscales recibe un enlace para subir su Constancia de Situación Fiscal. |
| Enviar enlace de autofactura | Si el cliente sin datos fiscales recibe un enlace de tu portal de Auto CFDI. Requiere el módulo Auto CFDI y usa 1 crédito de ticket por enlace. |
En Claves SAT e impuestos por producto asignas a cada producto de Stripe su clave de producto o servicio, su clave de unidad y su perfil de impuestos. El emisor se muestra en solo lectura: lo cambia el owner desde el Dashboard de Fiscalapi.
Facturación automática
El interruptor Facturar automáticamente viene activado al vincular la cuenta: la app emite la factura en cuanto se confirma el pago. Con el checklist completo, la app lo confirma con el mensaje «Todo listo. Los pagos nuevos se facturarán automáticamente.»
Para desactivarla, apaga el interruptor y guarda los ajustes. Cada pago nuevo de un cliente con datos fiscales espera a que emitas su factura desde el panel del pago con Emitir factura. Los pagos sin datos fiscales siguen yendo a la factura global.
Qué pasa con cada pago
La app factura los pagos que recibes en Stripe, sin importar cómo se cobraron: Stripe Checkout, facturas de Stripe (Invoices), suscripciones o cualquier otro pago. Cada pago se factura en cuanto se confirma, siempre con método de pago PUE: una factura de Stripe abierta no genera CFDI hasta que se paga, y un pago en OXXO o SPEI se factura al confirmarse.
| El cliente del pago | Qué emite la app |
|---|---|
| Tiene datos fiscales completos | Un CFDI de ingreso a su nombre, en cuanto se confirma el pago. |
| No tiene datos fiscales | Nada por ahora: el pago entra en la factura global de su periodo. |
| No tiene datos fiscales y la autofactura está activa | Un ticket de venta y un enlace para que el cliente pida su factura en tu portal. Si no la pide, el pago entra en la global. |
| Es extranjero, sin RFC y con país distinto de México | Un CFDI al RFC genérico extranjero XEXX010101000. |
Cada concepto del CFDI corresponde a una línea del pago, con las claves SAT de su producto y los impuestos que cobraste en Stripe. El total del CFDI coincide con el del pago al centavo.
La app factura pagos en MXN, USD y EUR. Los pagos en USD llevan el tipo de cambio FIX que publica Banxico; los pagos en EUR, el FIX del dólar por la equivalencia del euro que publica el DOF. Un pago en otra moneda aparece en Requieren atención.
Datos fiscales del cliente
Los datos fiscales del receptor viven en el Customer de Stripe: el RFC como tax ID de tipo mx_rfc y el régimen fiscal, el uso del CFDI y el código postal en su metadata. La razón social y el correo salen de los campos del Customer. Sin datos fiscales, el pago entra en la factura global.


| Forma | Cómo |
|---|---|
| Desde el panel del cliente en Stripe | Abre el cliente, abre la app y haz clic en Agregar datos fiscales (o Editar datos fiscales). Importar desde la Constancia llena los datos a partir de la Constancia de Situación Fiscal; el PDF no sale de tu equipo. |
| En Stripe Checkout | La sesión de Checkout pide el RFC, la razón social y los tres datos que Stripe no tiene, y la app los guarda en el Customer. Consulta datos fiscales en Stripe Checkout. |
| Por el cliente | Con Pedir datos fiscales por correo o con la autofactura, el cliente recibe un enlace por correo y captura sus datos en una página de Fiscalapi. |




Cuando se guardan los datos de un cliente, la app factura sus pagos pendientes del mes que todavía no entran en una global.
Ingreso, egreso y factura global
Cada pago de un cliente con datos fiscales genera un CFDI de ingreso. Cada reembolso o disputa perdida de un pago facturado genera una nota de crédito (egreso), y los pagos sin factura entran en la factura global del periodo.
Factura global
Al cierre de cada periodo, la app emite la factura global con los pagos sin factura, dentro de las 24 horas siguientes al cierre que exige el SAT. El periodo se cuenta en la zona horaria del lugar de expedición del emisor.


Se emite una global por emisor y por moneda, con receptor XAXX010101000 y un concepto por pago, como pide la guía de llenado de la factura global.
Si un pago del mes en curso ya está en una global y el cliente pide después su factura, Facturar al cliente emite una nota de crédito relacionada con la global y, aparte, la factura del cliente. Usa 2 timbres.
Reembolsos y disputas
La app emite la nota de crédito de cada reembolso con el mismo emisor del CFDI que relaciona:
| Caso | Qué emite la app |
|---|---|
| Reembolso total o parcial de un pago con factura | Una nota de crédito relacionada con la factura, por el monto reembolsado. |
| Reembolso de un pago incluido en una global | Una nota de crédito relacionada con la global, con receptor XAXX010101000. |
| Reembolso de un pago todavía sin factura | Nada: el pago se ajusta al monto que no se reembolsó, o se descarta. |
| Disputa cerrada como perdida | Lo mismo que un reembolso total. |
| Devolución hecha fuera de Stripe, como la de un pago en OXXO | La emites tú desde el panel del pago con Emitir nota de crédito. |
Una nota de crédito nunca supera lo que queda por reembolsar del pago.
Si un reembolso falla después de aplicarse, el panel del pago lo avisa y ofrece Restablecer pago.
Ciclo de vida de la factura
La app emite cada CFDI sola; tú intervienes desde el panel del pago, en el Dashboard de Stripe, para corregir, acreditar o reenviar. Con Enviar la factura por correo al cliente activado, el cliente recibe su factura por correo al emitirse.
La app no tiene una acción para cancelar una factura sin sustituirla: eso se hace en Fiscalapi, desde el Dashboard o con DELETE /api/v4/invoices. Consulta cancelación de CFDI.
Acciones desde el panel del pago
El panel de cada pago muestra su estado, su CFDI, sus notas de crédito y las acciones que aplican en ese momento. Las acciones que usan timbres o cancelan un CFDI piden confirmación:
| Acción | Qué hace |
|---|---|
| Emitir factura | Emite el CFDI del pago. Usa 1 timbre. |
| Corregir factura | Emite una factura nueva con los datos corregidos y pide cancelar la anterior con motivo 01. Usa 1 timbre. |
| Emitir nota de crédito | Emite un egreso por el monto que indiques, hasta lo que queda por acreditar. Usa 1 timbre. |
| Facturar al cliente | Saca de la global un pago del mes cuyo cliente pidió su factura. Usa 2 timbres. |
| Restablecer pago | Restablece un pago cuyo reembolso o disputa ya no aplica. Si había nota de crédito, solicita su cancelación al SAT después de que confirmes la acción, y restablece el pago cuando el SAT la confirma. |
| Marcar como facturado fuera de la app | La app deja de facturar el pago. Úsalo solo si ya lo facturaste en Fiscalapi. |
| Descargar PDF, Descargar XML | Descarga el CFDI. |
| Reenviar por correo | Envía de nuevo el CFDI al cliente. |
| Reintentar | Vuelve a intentar un pago que requiere atención. |
Requieren atención
Un pago que no se pudo facturar aparece en la pestaña Requieren atención, con su motivo y el siguiente paso. Un rechazo del timbrado no descuenta timbres.




La app reintenta sola cuando se resuelve la causa: falta de timbres, suscripción inactiva, el FIX que Banxico aún no publica o el timbrado sin respuesta.
El resto espera una acción, como corregir los datos fiscales del cliente o asignar las claves SAT de un producto. Al hacerla, haz clic en Reintentar en el panel del pago.
Una factura global que no se pudo emitir aparece en el resumen, y se marca en rojo cuando su plazo de 24 horas está en riesgo.
Desvincular o desinstalar
Al desvincular la cuenta o desinstalar la app, Fiscalapi emite las facturas globales del periodo en curso con los pagos pendientes, porque la global es obligatoria, y deja de recibir los pagos de esa cuenta. Los CFDI ya emitidos siguen en tu cuenta de Fiscalapi. Si reinstalas la app y vuelves a vincular la cuenta, la app factura los pagos que se confirmen a partir de ese momento.
Funciones de punta a punta
| Función | Cómo funciona |
|---|---|
| Factura de ingreso | Automática al confirmarse el pago, o con Emitir factura. |
| Factura global | Automática al cierre de cada periodo, por emisor y por moneda. |
| Nota de crédito | Automática por reembolso o disputa perdida, o con Emitir nota de crédito. |
| Corrección | Corregir factura emite la nueva y pide cancelar la anterior. |
| Descarga y envío | Descargar PDF, Descargar XML y Reenviar por correo. |
| Errores | Requieren atención con motivo, siguiente paso y Reintentar. |