Skip to content

createNodePago

Este método crea un nodo pago20:Pago, que representa un pago individual realizado por el receptor del CFDI.

Dentro de este nodo se puede incluir la información relacionada al método de pago, moneda, cuentas bancarias, y los documentos CFDI que están siendo liquidados, ya sea total o parcialmente, incluyendo sus impuestos asociados.

Este nodo puede repetirse tantas veces como pagos se hayan realizado en fechas distintas.

USO POR INSTANCIA: 1 a ilimitados.

ts
pago.createNodePago({
  pago: {...},
  doctoRelacionados: [...],
});

Subpropiedad: pago

Define los detalles del pago recibido.

ts
pago.createNodePago({
  pago: { 
    fechaPago: '2025-07-09T18:59:10', 
    formaDePagoP: "03", 
    monedaP: "MXN", 
    monto: 100, 
    tipoCambioP: 1, 
    numOperacion: "1111", 
    rfcEmisorCtaOrd: "XEXX010101000", 
    nomBancoOrdExt: "BANK OF TOKY", 
    ctaOrdenante: "123456789101112131", 
    rfcEmisorCtaBen: "MES420823153", 
    ctaBeneficiario: "123456789101114558", 
    tipoCadPago: "01", 
    certPago: "MIf3H30b...", 
    cadPago: "||Pago|Banco|300.00||", 
    selloPago: "Fi43nd...", 
  }, 
  doctoRelacionados: [...],
});

Parámetros disponibles

A continuación se muestra una tabla con las propiedades que acepta este método:

PropiedadTipoDescripción
fechaPagostringFecha y hora del pago en formato AAAA-MM-DDTHH:MM:ss
formaDePagoPc_FormaPagoClave SAT de la forma en que se realizó el pago.
monedaPc_MonedaMoneda del pago realizado.
montostring - numberMonto total pagado.
tipoCambioPstring - number(opcional) Tipo de cambio utilizado.
numOperacionstring(opcional) Número de operación o referencia bancaria.
rfcEmisorCtaOrdstring(opcional) RFC del banco ordenante.
nomBancoOrdExtstring(opcional) Nombre del banco extranjero.
ctaOrdenantestring(opcional) Número de cuenta del ordenante.
rfcEmisorCtaBenstring(opcional) RFC del banco del beneficiario.
ctaBeneficiariostring(opcional) Cuenta de destino.
tipoCadPagoc_TipoCadenaPago(opcional) Clave del tipo de cadena de pago.
certPagostringRequerido si tipoCadPago existe. Certificado digital del banco emisor.
cadPagostringRequerido si tipoCadPago existe. Cadena original del pago.
selloPagostringRequerido si tipoCadPago existe. Sello digital del pago emitido por el banco.

Subpropiedad: doctoRelacionados

Cada pago puede liquidar uno o más documentos relacionados, como facturas previas. Esta sección permite declarar el UUID, parcialidad, montos y los impuestos correspondientes.

ts
pago.createNodePago({
  pago: {...},
  doctoRelacionados: [
    {
      doctoRelacionado: {
        idDocumento: "daca5d85-b8cd-463b-a056-b021fe33c2f9",
        monedaDr: "MXN", 
        numParcialidad: "1", 
        impSaldoAnt: 100, 
        impPagado: 100, 
        impSaldoInsoluto: 0, 
        objetoImpDr: "02", 
        equivalenciaDr: 1, 
        serie: "CG", 
        folio: "324", 
      },
      impuestos: {...},
    },
  ],
});

Objeto doctoRelacionado

Parámetros disponibles

A continuación se muestra una tabla con las propiedades que acepta este método:

PropiedadTipoDescripción
idDocumentostringUUID del CFDI relacionado.
monedaDrc_MonedaMoneda del CFDI relacionado.
numParcialidadstring - numberNúmero de la parcialidad (ej. "1" para el primer pago).
impSaldoAntstring - numberImporte del saldo anterior.
impPagadostring - numberImporte pagado en este movimiento.
impSaldoInsolutostring - numberSaldo restante después del pago.
objetoImpDrc_ObjetoImpObjeto de impuesto del pago.
equivalenciaDrstring - numberRequerido si monedaDr es distinto a 'MXN'. Equivalencia cuando hay diferencia de moneda.
seriestring(opcional) Serie del CFDI relacionado.
foliostring(opcional) Folio del CFDI relacionado.

Objeto impuestos

ts
pago.createNodePago({
    pago: {...},
    doctoRelacionados: [
      {
        doctoRelacionado: {...},
        impuestos: { 
          traslados: [
            {
              baseDr: 10,
              impuestoDr: "002",
              tipoFactorDr: "Tasa",
              tasaOCuotaDr: 0.16,
              importeDr: 1.6,
            },
          ],
          retenciones: [
            {
              baseDr: 100,
              impuestoDr: "001",
              tipoFactorDr: "Tasa",
              tasaOCuotaDr: 0.35,
              importeDr: 35,
            },
          ],
        },
      },
    ],
  });
  • traslados: Lista de impuestos trasladados.
  • retenciones: Lista de impuestos retenidos.

Parámetros disponibles

A continuación se muestra una tabla con las propiedades que acepta este método:

PropiedadTipoDescripción
baseDrstring - numberBase gravable del impuesto.
impuestoDrc_ImpuestoClave del impuesto.
tipoFactorDrc_TipoFactorTipo de factor. Para retenciones no existe Exento.
tasaOCuotaDrstring - number(opcional) Tasa o cuota del impuesto.
importeDrstring - number(opcional) Monto del impuesto.

Lanzado bajo la licencia MIT.