Facturas PPD y Recibo Electrónico de Pagos: guía 2026
Qué es un CFDI PPD, cuándo te obliga el SAT a emitirlo, cómo funciona el Recibo Electrónico de Pagos (REP) y cómo lo automatiza FactuCat sin que tengas que ser contador.
En corto
Si tu cliente te va a pagar después de emitir la factura, el método de pago correcto es PPD (Pago en Parcialidades o Diferido). Al cobrar, el SAT te obliga a emitir un Recibo Electrónico de Pagos (REP) por cada cobro, a más tardar el día 5 del mes siguiente al mes en que recibiste el dinero (no al mes de la factura). FactuCat automatiza el flujo: emites el PPD, registras el pago cuando llegue y nosotros generamos y timbramos el recibo de pago por ti, incluso con tipo de cambio del DOF si la factura va en moneda extranjera. Luego lo descargas en PDF o XML desde la misma factura.
¿Qué es un CFDI PPD?
PPD significa Pago en Parcialidades o Diferido. Es uno de los dos métodos de pago que reconoce el SAT en CFDI 4.0; el otro es PUE (Pago en Una sola Exhibición).
La regla mental es simple: PUE se usa cuando ya cobraste, PPD se usa cuando vas a cobrar después. Si emites una factura el 1 de junio y el cliente te va a pagar el 30 de junio, esa factura debe ir como PPD. No importa que sea un solo pago al final: lo que define el método es el momento del cobro respecto al de la emisión.
El PPD es la forma en la que el SAT te dice: "está bien que emitas la factura ahora, pero quiero saber cuándo realmente entró el dinero". Por eso obliga a complementarlo con un Recibo Electrónico de Pagos (REP) —también llamado CFDI con Complemento de Recepción de Pagos 2.0— por cada cobro recibido.
PPD vs PUE: cuándo aplica cada uno
| Característica | Método correcto |
|---|---|
| Cliente paga en efectivo, transferencia o tarjeta al momento de la operación | PUE |
| Cliente te paga el mismo día por adelantado y luego emites el CFDI | PUE |
| Acuerdas pago a 15, 30, 60 o más días | PPD |
| Cliente paga después, aunque sea una sola vez | PPD |
| Pago en parcialidades (anticipo + finiquito, mensualidades, etc.) | PPD |
| No sabes si el cliente te va a pagar ya o después | PPD (más seguro) |
En PUE, la forma de pago que declaras es real (01 efectivo, 03 transferencia, 04 tarjeta de crédito, etc.) porque el dinero ya está en tu cuenta. En PPD, la forma de pago del CFDI siempre es 99 (por definir): todavía no sabes cómo te van a pagar exactamente.
¿Cuándo te obligan a emitir un PPD?
El criterio del SAT es operativo, no opcional: si al momento de timbrar no ha entrado el dinero, el método tiene que ser PPD. Los casos típicos:
- Cliente corporativo con política de pago a 30/60/90 días. Te firman la factura, te la pasan a cuentas por pagar, te pagan después.
- Servicios contratados con anticipo. En cuanto el anticipo cubre menos del 100% del total, vas a quedar con saldo pendiente, y eso es PPD.
- Proyectos por hito o entregables. Cada hito que se cobra después de emitida la factura inicial es un cobro PPD.
- Ventas a crédito. Cualquier operación donde el pago ocurra después del CFDI.
Si por error emites PUE y resulta que el pago llega después, no puedes simplemente "esperar": tienes que cancelar con motivo 01 y emitir un PPD que sustituya al anterior (tipo de relación 04). Por eso, ante la duda, siempre es más seguro emitir PPD: en el peor de los casos cobras el mismo día y todo sigue legal.
El flujo doloroso sin software adecuado
Esto es lo que vive una persona que factura PPD con un software genérico (o peor, manualmente en el portal del SAT):
- Emite la factura PPD. Hasta aquí, fácil.
- Espera el pago. El cliente paga 30 días después, a veces en partes, a veces de más, a veces en otra moneda.
- Tiene que conciliar. Abre Excel, cruza el depósito bancario con la(s) factura(s) pendiente(s), calcula a mano cuánto era el saldo insoluto antes del cobro, cuánto queda después.
- Captura el Recibo Electrónico de Pagos a mano. Folio fiscal del CFDI original, serie, folio, monto, moneda, tipo de cambio del pago, parcialidad, saldo anterior, saldo insoluto. Un solo dígito mal y el SAT rechaza el timbrado.
- Si la factura era en USD, busca el DOF. Entra al portal del Diario Oficial, ubica el tipo de cambio publicado del día hábil anterior al cobro, lo copia.
- Convierte a MXN los totales que el SAT espera en pesos, y deja en moneda original los importes por pago. Si te equivocas, el PAC rechaza.
- Cumple el plazo. Tiene hasta el día 5 del mes siguiente al cobro. Si se le pasa, multa.
- Repite por cada factura cobrada del mes.
Si tienes 5 facturas PPD al mes, eso son 5 oportunidades de equivocarte en algún campo y 5 viajes al portal del DOF. Si tienes 50, ya es un trabajo de medio tiempo.
PPD en FactuCat: lo automatizamos todo
FactuCat cubre el flujo de PPD: emites el CFDI con método PPD, registras el cobro cuando llega y nosotros generamos y timbramos el Recibo Electrónico de Pagos. Sin Excel, sin portal del DOF, sin convertir totales a mano.
El flujo es de tres pasos:
1. Responde una pregunta humana al emitir la factura
En FactuCat no tienes que recordar qué significa PPD, ni elegir entre claves del SAT. Al editar la factura, te preguntamos directo: "¿Ya te pagaron esta factura?" con dos respuestas en español:
- Sí, ya me pagaron — emitimos la factura con el pago aplicado (PUE bajo el cofre).
- No, me van a pagar después — emitimos como pago diferido y luego registras el cobro en tu lista de facturas (PPD bajo el cofre). Mientras no registres el pago, la factura aparece en «Facturas por cobrar» al entrar a FactuCat.
Si eliges la segunda, FactuCat fija automáticamente el método de pago como PPD, la forma de pago como 99 (por definir) y todo lo demás que pide el SAT. Tú solo capturas conceptos, impuestos y datos del receptor, como en cualquier factura.
2. Registra el pago cuando llegue
Cuando tu cliente te paga, buscas la factura en tu lista de facturas y eliges "Registrar pago" en el menú de tres puntitos. Contestas dos preguntas: ¿Cuándo recibiste el pago? y ¿Cómo te pagaron? (transferencia, efectivo, tarjeta de crédito o de débito, cheque o monedero electrónico). Si la factura no es en pesos, también capturas el Tipo de cambio. Ahí mismo FactuCat te dice hasta qué día tienes para avisarle al SAT.
Si la factura está en USD, EUR u otra moneda extranjera, FactuCat consulta el DOF automáticamente y prellena el tipo de cambio del día hábil anterior al pago. Tú no tienes que entrar a buscar nada.
3. FactuCat genera y timbra el Recibo Electrónico de Pagos
En cuanto confirmas el pago, generamos el CFDI con Complemento de Recepción de Pagos 2.0, lo timbramos con el PAC, calculamos los saldos y hacemos las conversiones a MXN que pide el SAT en la sección de Totales. La factura cambia a "Cobrada". Por ahora no le enviamos el recibo a tu cliente. Lo descargas y se lo mandas tú.
Si necesitas el XML o el PDF del REP después, los descargas desde el mismo menú de tres puntitos de la factura cobrada, con dos opciones nuevas: "Descargar XML del Recibo de Pago" y "Descargar PDF del Recibo de Pago".
La trampa del tipo de cambio en PPD en moneda extranjera
Esta es la parte que más confunde a freelancers y PyMEs que facturan en dólares o euros, y vale la pena entenderla aunque uses FactuCat (donde la resolvemos por ti).
Un CFDI PPD en USD se emite con el tipo de cambio publicado en el DOF el día hábil anterior a la emisión. Ese tipo de cambio queda fijado en el XML de la factura original.
Pero el cliente te paga, digamos, dos meses después. Para ese momento, el DOF publica un tipo de cambio distinto. El Recibo Electrónico de Pagos no usa el TC de la factura original: usa el TC del día hábil anterior al pago real.
Ejemplo concreto:
- 1 de marzo: emites una factura por 1,000 USD. DOF de ese día: 17.00 MXN/USD. La factura quedó timbrada con TipoCambio = 17.00.
- 28 de mayo: el cliente te paga los 1,000 USD a tu cuenta. DOF del día hábil anterior: 17.50 MXN/USD. El REP se timbra con TipoCambioP = 17.50.
¿Qué pasa contablemente? Tu ingreso fiscal quedó registrado en marzo a 17.00 (17,000 MXN). Pero realmente recibiste 17,500 MXN. La diferencia de 500 MXN es ganancia cambiaria, que se acumula como ingreso fiscal en el mes en que cobras.
Si el TC del DOF hubiera bajado a 16.50, sería pérdida cambiaria deducible. En ambos casos, el SAT espera que esta diferencia aparezca en tu contabilidad mensual, no que la "metas" dentro del REP.
Para contadores escépticos
Si llegaste hasta acá y quieres saber qué hacemos exactamente bajo el cofre, esta sección es para ti.
- Complemento usado: Complemento de Recepción de Pagos versión 2.0 (
pago20), publicado por el SAT y vigente desde 2021. Validamos contra el XSD oficial antes de mandar al PAC. - Doble moneda en el XML: la regla del SAT que más se ignora. Los campos de cada nodo
Pago(Monto,ImpPagado,BaseDR,ImporteDR) van en la moneda del pago. Los campos del wrapperTotales(MontoTotalPagos,TotalTrasladosBaseIVA16,TotalTrasladosImpuestoIVA16, etc.) van en MXN, multiplicados por elTipoCambioPdel pago. Si confundes las dos secciones, el PAC rechaza con error de "valor esperado no coincide con valor reportado". FactuCat lo separa correctamente. - Tipo de cambio del DOF: consulta automática al endpoint del DOF el día hábil anterior, tanto al emitir el CFDI PPD como al registrar el pago. Si necesitas usar un tipo de cambio personalizado (por ejemplo, contrato con TC pactado), tienes un override manual disponible en el formulario de registro de pago.
- Cálculo de saldos: el
ImpSaldoAnty elImpSaldoInsolutolos calcula FactuCat. En la V1 el saldo insoluto será 0 cuando registres el pago (cobertura total). - DoctoRelacionado: referenciamos el CFDI original con
IdDocumento(UUID),SerieyFoliocorrectamente separados,MonedaDR,EquivalenciaDR(1 cuando moneda DR == moneda P, TC cruzado cuando difieren),NumParcialidad,ImpSaldoAnt,ImpPagado,ImpSaldoInsolutoy, si la factura traslada IVA, el nodoImpuestosDRcon base e importe. - ObjetoImpDR: clave 02 ("Sí objeto del impuesto") cuando la factura traslada IVA, 01 cuando no. Si tu factura iba con IVA exento (E), declaramos el desglose con tasa 0 según el catálogo
c_TasaOCuota. - Plazo del REP: la regla 2.7.1.32 de la RMF 2026 te da hasta el quinto día natural del mes inmediato siguiente al que recibes el pago. Al registrar el pago, FactuCat te muestra la fecha límite y, si ya pasó, te avisa que el recibo saldrá extemporáneo. En el inicio, «Facturas por cobrar» te recuerda las facturas que siguen sin pago registrado.
- Cancelación del REP: puedes cancelar solo el REP desde el menú («Cancelar solo el recibo de pago»), con motivo 02. También, si cancelas la factura PPD, FactuCat pide al SAT cancelar primero el REP (motivo 02) y después la factura; si la cancelación del REP falla, la factura no se cancela. Mientras el SAT confirma, el estado es «Cancelación en proceso». Si cancelaste solo el REP, cuando el SAT confirma la factura vuelve a «Por cobrar».
Si encuentras un caso donde nuestro REP no cuadra contra lo que esperas, escríbenos: nos importa más que el contador valide el XML que cualquier feature visual.
Lo que aún no hacemos
Honestidad antes que marketing: por ahora, registras un solo pago por factura, por el total. Si tu cliente te paga en dos o más partes (anticipo + finiquito, mensualidades), todavía no puedes registrar cada pago sobre la misma factura.
Todavía no manejamos parcialidades sobre la misma factura, con NumParcialidad, ImpSaldoAnt y ImpSaldoInsoluto calculados de un pago a otro. Cuando lo tengamos, lo vas a ver en esta guía.
Preguntas frecuentes
Las dudas que más nos llegan sobre PPD y Recibo Electrónico de Pagos: