FiscalAPI
Complemento de pago: guía práctica para emitirlo

Complemento de pago: guía práctica para emitirlo

4 de abril de 2026

Llevo años integrando sistemas de facturación electrónica y hay un tema que genera más confusión que cualquier otro: el complemento de pago. No porque sea difícil de entender, sino porque el SAT decidió que registrar un pago debería involucrar dos comprobantes diferentes, campos que suenan igual pero significan cosas distintas, y un flujo que nadie te explica completo en un solo lugar. Hasta que lo ves funcionar de principio a fin, parece un laberinto burocrático. Pero no lo es. Es lógica pura, y una vez que la entiendes, todo encaja.

Qué es el complemento de pago

El complemento de pago es un documento fiscal (un CFDI de tipo "P") que acredita que un pago se realizó sobre una factura que se emitió antes de recibir el dinero. En términos del SAT, es un Comprobante Fiscal Digital por Internet que complementa a una factura original emitida con método de pago PPD.

La mecánica es directa. Cuando vendes algo a crédito o en parcialidades, no puedes decirle al SAT que ya te pagaron porque no es cierto. Entonces emites la factura con método PPD y forma de pago 99 (Por Definir). Cuando el cliente finalmente paga, emites el complemento de pago indicando cuánto pagó, cuándo, cómo, y a qué factura corresponde ese pago.

El complemento de pago existe desde 2017, pero con la versión 2.0 (obligatoria desde enero 2022) se volvió más estricto. Ahora incluye desglose de impuestos por cada documento relacionado y un resumen de impuestos del pago completo. El SAT quiere saber exactamente qué impuestos ampara cada peso que recibes.

El complemento de pago no es opcional. Si emitiste una factura con método PPD, estás obligado a emitir el complemento de pago cuando recibas el dinero. Omitirlo puede resultar en discrepancias fiscales y requerimientos del SAT. La fecha límite para emitirlo es el día 5 del mes siguiente al que recibiste el pago.

PUE vs PPD: dos caminos, un solo destino

La diferencia entre PUE y PPD determina si necesitas o no un complemento de pago. Parece simple, y lo es, pero la cantidad de gente que elige el método incorrecto en producción es alarmante.

PUE: Pago en Una sola Exhibición

Usas PUE cuando el cliente te paga en el momento de la transacción o dentro del mismo mes calendario en que emites la factura. Cobras, facturas, y listo. No hay segundo comprobante.

La forma de pago debe ser la real: 03 para transferencia, 01 para efectivo, 04 para tarjeta de crédito. Nunca 99 con PUE.

Es el flujo más limpio. Un solo CFDI y te olvidas.

PPD: Pago en Parcialidades o Diferido

Usas PPD cuando el cliente te va a pagar después: a 30 días, a 60 días, en 3 mensualidades, cuando le caiga el presupuesto. La factura se emite con forma de pago 99 (Por Definir) porque al momento de facturar, no sabes cómo ni cuándo va a pagar.

Cada vez que el cliente hace un pago (parcial o total), emites un complemento de pago. Si paga en 3 parcialidades, emites 3 complementos de pago.

Más trabajo, pero refleja la realidad de la transacción.

La regla de oro: si ya te pagaron o te van a pagar en el mismo mes, usa PUE. Si el pago cae en un mes diferente al de la factura, usa PPD. He visto empresas que usan PPD para todo "por si acaso", y terminan emitiendo complementos de pago innecesarios. Otras usan PUE para ventas a crédito y después no pueden comprobar cuándo recibieron el dinero. Ambos errores cuestan tiempo y generan observaciones del SAT.

Flujo completo: de la factura PPD al complemento de pago

Este diagrama muestra el flujo real que sigue una transacción con método PPD, desde la emisión de la factura hasta el complemento de pago timbrado.

Lo que mucha gente no ve en este diagrama es que el PAC valida que el UUID de la factura relacionada exista y esté vigente. Si la factura original fue cancelada, el complemento de pago se rechaza. Parece obvio, pero en sistemas con miles de facturas y flujos asincrónicos, pasa más de lo que quisieras.

Proceso para emitir un complemento de pago

1

Emitir la factura original con método PPD#

Genera un CFDI de tipo Ingreso ("I") con paymentMethodCode: "PPD" y paymentFormCode: "99". Esta factura registra la obligación de pago pero no el pago en sí. Guarda el UUID que te devuelve el PAC; lo necesitarás para vincular el complemento.

2

Registrar el pago recibido#

Cuando el cliente paga (total o parcialmente), registra en tu sistema la fecha, el monto, la forma de pago real (transferencia, cheque, efectivo), y el tipo de cambio si la factura es en moneda extranjera.

3

Construir el complemento de pago#

Crea un CFDI de tipo Pago ("P") que incluya: la fecha de pago, la forma de pago, el monto pagado, la moneda, y en la sección de documentos relacionados, el UUID de la factura original con el número de parcialidad, el saldo anterior, el monto que se está pagando, y el saldo insoluto restante.

4

Incluir desglose de impuestos#

Con la versión 2.0 del complemento de pago, debes incluir el desglose de impuestos (IVA, ISR, IEPS) por cada documento relacionado, y un resumen total de impuestos trasladados y retenidos del pago. Este paso no existía en la versión 1.0 y es donde más errores ocurren.

5

Timbrar y entregar#

Envía el CFDI de tipo Pago al PAC para timbrado. Una vez timbrado, entrégalo al cliente. El complemento de pago debe emitirse a más tardar el día 5 del mes siguiente al que se recibió el pago.

Un solo complemento de pago puede amparar pagos a varias facturas. Si un cliente te hace una transferencia que cubre 3 facturas diferentes, no necesitas 3 complementos. Uno solo con 3 documentos relacionados es válido y más eficiente.

Qué cambió con el complemento de pago 2.0

La versión 2.0 del complemento de pago entró en vigor el 1 de enero de 2022 y se volvió la única versión aceptada. Los cambios no fueron cosméticos. Rompieron integraciones que funcionaban perfectamente con la versión 1.0.

El cambio más significativo: ahora es obligatorio incluir el desglose de impuestos por cada documento relacionado dentro del complemento de pago. Antes, los impuestos solo se registraban en la factura original. Ahora el SAT quiere ver en cada pago exactamente cuánto IVA, ISR o IEPS corresponde a ese pago específico.

Esto significa que si una factura tiene IVA al 16% y el cliente paga la mitad, el complemento de pago debe reflejar el IVA proporcional a ese pago parcial. No el IVA total de la factura, sino el que corresponde al monto pagado.

Otros cambios del complemento de pago 2.0:

Se agregó el nodo TotalesPago que resume los montos totales de retenciones y traslados de impuestos del complemento completo. Es un resumen, pero el SAT lo usa para cuadrar automáticamente.

Se eliminó la posibilidad de dejar campos de impuestos vacíos. Antes podías omitirlos y el PAC los aceptaba. Ahora, si la factura original tenía impuestos, el complemento debe traerlos proporcionalmente.

El campo ObjetoImpuestoCode se volvió obligatorio en los conceptos del complemento de pago. Siempre va 01 (No objeto de impuesto) en el concepto del pago, porque los impuestos se desglosan en la sección de documentos relacionados, no en el concepto.

Si tu sistema calculaba complementos de pago con la lógica de la versión 1.0, no basta con cambiar el número de versión. La estructura de impuestos cambió por completo. Necesitas recalcular proporciones de impuestos por pago parcial. Muchas integraciones se cayeron en producción por asumir que era un cambio menor.

Forma de pago vs método de pago vs complemento de pago

Estos tres conceptos generan una confusión desproporcional a su complejidad real. Suenan parecido, aparecen juntos en el XML, y cada uno significa algo diferente.

Cómo te pagaron. Es el medio físico o electrónico por el que se realizó el pago. El SAT tiene un catálogo con más de 30 claves:

  • 01 Efectivo
  • 03 Transferencia electrónica
  • 04 Tarjeta de crédito
  • 06 Dinero electrónico
  • 28 Tarjeta de débito
  • 99 Por definir (solo con PPD)

En una factura PUE, la forma de pago es la real. En una factura PPD, siempre es 99 porque al emitir la factura aún no sabes cómo te van a pagar. La forma de pago real aparece después en el complemento de pago.

Una forma sencilla de recordarlo: método es el cuándo, forma es el cómo, y complemento es la prueba.

Errores comunes al emitir complementos de pago

Después de revisar cientos de integraciones, estos son los errores que aparecen con más frecuencia. Algunos son triviales y otros te hacen perder horas buscando por qué el PAC rechaza el timbrado.

UUID incorrecto de la factura relacionada. Si el UUID de la factura original tiene un solo carácter diferente, o si la factura fue cancelada, el complemento se rechaza. Valida siempre que el UUID exista y el CFDI esté vigente antes de construir el complemento.

Impuestos no proporcionales al monto pagado. Con el complemento de pago 2.0, los impuestos deben calcularse proporcionalmente al pago. Si la factura es por $10,000 + IVA y el cliente paga $5,000, el IVA del complemento debe ser $800 (16% de $5,000), no $1,600. He visto sistemas que copian los impuestos totales de la factura original al complemento. El PAC los acepta a veces, pero el SAT detecta la inconsistencia.

Número de parcialidad incorrecto. El primer pago es parcialidad 1, el segundo 2, y así sucesivamente. Si emites dos complementos con parcialidad 1, el segundo se rechaza. Tu sistema debe llevar un contador confiable por factura.

Saldo insoluto mal calculado. El saldo insoluto es lo que queda por pagar después del pago actual. Si la factura era por $10,000 y el primer pago fue $4,000, el saldo insoluto es $6,000. En el último pago, el saldo insoluto debe ser exactamente 0. No 0.01, no -0.01. Cero. Las diferencias por redondeo son la causa número uno de rechazos en el último pago de una serie de parcialidades.

Para evitar problemas de redondeo en el saldo insoluto del último pago, calcula el monto del último pago como la diferencia entre el saldo anterior y cero, en lugar de repetir el monto esperado. Así absorbes cualquier centavo de diferencia por redondeo acumulado.

Cómo emitir un complemento de pago con Fiscalapi

Emitir un complemento de pago requiere dos pasos: primero la factura PPD y después el complemento cuando llega el pago. Con Fiscalapi puedes automatizar ambos. La API se encarga del cálculo proporcional de impuestos, la validación de UUIDs, y el timbrado.

Primero, la factura PPD:

// Paso 1: Emitir factura PPD
var fiscalapi = FiscalApiClient.Create(settings => {
    settings.ApiUrl = "https://test.fiscalapi.com";
    settings.ApiKey = "TU_API_KEY";
    settings.Tenant = "TU_TENANT";
});

var factura = await fiscalapi.Invoices.CreateAsync(new Invoice {
    VersionCode = "4.0",
    Series = "F",
    TypeCode = "I",
    PaymentFormCode = "99",
    PaymentMethodCode = "PPD",
    CurrencyCode = "MXN",
    ExpeditionZipCode = "42501",
    Issuer = new InvoiceIssuer { Id = "ID_DEL_EMISOR" },
    Recipient = new InvoiceRecipient { Id = "ID_DEL_RECEPTOR" },
    Items = new List<InvoiceItem> {
        new InvoiceItem {
            Id = "ID_DEL_PRODUCTO",
            Quantity = 1
        }
    }
});

// Paso 2: Emitir complemento de pago
var complemento = await fiscalapi.Invoices.CreateAsync(new Invoice {
    VersionCode = "4.0",
    Series = "CP",
    TypeCode = "P",
    CurrencyCode = "MXN",
    ExpeditionZipCode = "42501",
    Issuer = new InvoiceIssuer { Id = "ID_DEL_EMISOR" },
    Recipient = new InvoiceRecipient { Id = "ID_DEL_RECEPTOR" },
    Payments = new List<InvoicePayment> {
        new InvoicePayment {
            PaymentDate = "2026-04-04",
            PaymentFormCode = "03",
            CurrencyCode = "MXN",
            Amount = 11600.00m,
            RelatedDocuments = new List<PaymentRelatedDocument> {
                new PaymentRelatedDocument {
                    Uuid = factura.Data.Uuid,
                    Series = "F",
                    PaymentMethodCode = "PPD",
                    PartialityNumber = 1,
                    PreviousBalanceAmount = 11600.00m,
                    AmountPaid = 11600.00m,
                    RemainingBalanceAmount = 0
                }
            }
        }
    }
});

Fiscalapi calcula los impuestos proporcionales automáticamente a partir de la factura original vinculada por UUID. No necesitas calcular manualmente cuánto IVA corresponde a cada pago parcial. La documentación completa cubre escenarios más complejos: pagos en moneda extranjera, múltiples facturas en un solo complemento, y cancelación de complementos de pago.

Puedes probar todo esto en el sandbox (test.fiscalapi.com) sin costo y sin consecuencias fiscales. El ambiente de pruebas simula el comportamiento completo del SAT, incluyendo validación de UUIDs y timbrado.

Preguntas frecuentes sobre el complemento de pago