Inicio  |  Emisión  |  Conector-txt v6.0 / CFDI 4.0  |  Complemento Recepción de Pagos 2.0
La LCO fue actualizada por última vez el 19/abr/2024

Complemento Recepción de Pagos 2.0 (Payments' receipt)

This "complement" is in fact another kind of CFDI—which describes the payment of an invoice—that must be issued to the paying party after receiving income from payment in installments, or when receiving a single payment, only when this payment is received after the issuing of the invoice regardless of the method of payment.
Therefore the additional information must be appended to a normal CFDI connector along with certain modifications.

In this complement one has the ability to register as many payments as one needs, as long as each payment comes from the same entity.

    The advantages of this CFDI are:
  • Avoid improper invoice cancellations
  • Avoid inconsistent duplications of income when payed by installments
  • You will know if an invoice has been payed or not

The following formulas must be taken into account when calculating the field "Monto":

  • Monto's lower limit:
    • (ImportePagado - (10-NumDecimalesImportePagado)/2) / (TipoCambioDR + (10-NumDecimalesTipoCambioDR)/2-0.0000000001)
  • Monto's upper limit:
    • (ImportePagado + (10-NumDecimalesImportePagado)/2-0.0000000001) / (TipoCambioDR - (10-NumDecimalesTipoCambioDR)/2)
    Such formulas will take effect in the following dates:
  • Testing environment: July 24 2018
  • Production environment: August 1 2018

Solución Factible® is considering all possibilities to ease your transition to the new version.

Definition

Same as the Conector-txt-v6.0 file, this complement is divided in lines each representing a group of data.

The complement contains identifiers at the beginning of each line indicating the type of business data included in every section, the sections' order is sequential downwards and is based in the order of data the SAT has specified in its XSD technical definition, nevertheless it can be adjusted according to your needs.

The fields pertaining to each section (identifier) are separated by the character "pipe" (|, ASCII 124) and are extracted in that order, nevertheless it can be adjusted according to your needs.

The "new line" (enter, line break, EOL, or carriage return ) can be anyone used by the current operative systems: CR, LF or CR+LF.

Configuration chain

Complemento|Pagos|1.0
ComplementoPagoGenerales|MontoTotalPagos
ComplementoPagosTotales|TipoMovimiento|TipoImpuesto|TasaImpuesto|BaseImpuesto|ImporteImpuesto
ComplementoPagos|FechaPago|FormaDePago|Moneda|TipoCambio|Monto|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosCadenaPago|TipoCadPago|CertPago|CadPago|SelloPago
ComplementoPagosDoctoRelacionado|IdDocumento|Serie|Folio|MonedaDR|TipoCambioDR|MetodoDePagoDR|NumParcialidad|ImpSaldoAnt|ImpPagado|ImpSaldoInsoluto|ObjetoImpDR
ComplementoPagosDoctoRelacionadoImpuesto|TipoMovimiento|TipoImpuesto|TasaImpuesto|BaseImpuesto|ImporteImpuesto
ComplementoPagosImpuestos|TipoMovimiento|TipoImpuesto|TasaImpuesto|BaseImpuesto|ImporteImpuesto
CFDI connector Chain added to the connector
SFERP|6.0|
Comprobante|1|A|true||
Generales|01/07/2017 17:45:00||||601|||45070|
ComprobanteRelacionado|714E4B22-9620-499E-9659-01E0D19F719C|04|
Divisa||XXX||
Receptor|OSCAR KALA HAAK|KAHO641101B39|KAHO641101HNTLKS06|nombre@dominioempresa.com.mx|||P01|
DireccionFiscal|MEX|Jalisco|Zapopan|Zapopan|FRANCISCO I. MADERO|123||Centro|45900|
Concepto||Pago||1|0||0||||84111506|ACT|
Totales|0|||||
ComplementoPagoGenerales|MontoTotalPagos
ComplementoPagosTotales|TipoMovimiento|TipoImpuesto|TasaImpuesto|BaseImpuesto|ImporteImpuesto
ComplementoPagos|FechaPago|FormaDePago|Moneda|TipoCambio|Monto|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosCadenaPago|TipoCadPago|CertPago|CadPago|SelloPago
ComplementoPagosDoctoRelacionado|IdDocumento|Serie|Folio|MonedaDR|TipoCambioDR|MetodoDePagoDR|NumParcialidad|ImpSaldoAnt|ImpPagado|ImpSaldoInsoluto|ObjetoImpDR
ComplementoPagosDoctoRelacionadoImpuesto|TipoMovimiento|TipoImpuesto|TasaImpuesto|BaseImpuesto|ImporteImpuesto
ComplementoPagosImpuestos|TipoMovimiento|TipoImpuesto|TasaImpuesto|BaseImpuesto|ImporteImpuesto

Modifications of the CFDI section

There are certain lines, as shown in the example above, where some fields need to be left in blank, others must have a fixed value:

Position in line Field Modification
Generales id
2ndformaPagoblank
3rdcondicionesPagoblank
4thmetodoPagoblank
ComprobanteRelacionado id
2ndTipoRelacionfixed value: 04
Divisa id
2ndmonedaSimbolofixed value: XXX
3rdtipoCambioblank
Receptor id
7thUsoCFDIfixed value: P01
Concepto idThis line must appear only once
2nddescripcionfixed value: PAGO
3rdunidadblank
4thcantidadfixed value: 1
5thvalorUnitariofixed value: 0
7thimportefixed value: 0
8thtasaDescuentoblank
9thimporteDescuentoblank
10thcuentaPredialblank
11thClaveProdServSATfixed value: 84111506
12thClaveUnidadSATfixed value: ACT
ImpuestosConcepto idOmit this line entirely
AduanaConcepto idOmit this line entirely
ParteConcepto idOmit this line entirely
AduanaParte idOmit this line entirely
ComplementoConcepto idOmit this line entirely
CamposDinamicosConcepto idOmit this line entirely
ImpuestosComprobante idOmit this line entirely
Totales id
1stsubTotalfixed value: 0
2ndtotalTrasladosblank
3rdtotalRetencionesblank
4thtotalDescuentosblank
5thtotalComprobantefixed value: 0

Examples

Payment receipt with minimum fields.

Breaking down taxes and their bases will be calculated automatically in cfdi 4.0 only if the referenced invoice exists already in the database and the fields (ComplementoPagosImpuestos, ComplementoPagosDoctoRelacionadoImpuesto, ComplementoPagosTotales and or ComplementoPagoGenerales) are left blank.

To use simplified conector the client must be added previously, for more information about create client.

SFERP|6.0|
Comprobante|95|PA40||
Complemento|Pagos|1.0|
ComplementoPagos|10042022 11:30:00|02|MXN||34521.6|||||||
ComplementoPagosDoctoRelacionado|C7263975-BB56-4B11-BD0D-6D12FB41AC4E||||||1|34521.6|34521.6|0

Scenario: Payment of $1,000.00 MXN


This payment covers one invoice.
a) Invoice 235 on serie E, was created in MXN.
The invoice has a traslado of IVA at 16%.
SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagos|2021-04-10T12:00:00|FormaDePago|MXN|1|1000.00|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|MXN|1|PPD|1|500|200|300|02


The following examples marked as GRANULAR define a behavior in which the file control all the fields; By using them, no calculations will be performed and thus controlling the resulting receipt.

SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagoGenerales|1000.00
ComplementoPagosTotales|T|002|0.160000|172.41|27.59
ComplementoPagos|2021-04-10T12:00:00|FormaDePago|MXN|1|1000.00|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|MXN|1|PPD|1|500|200|300|02
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.16|172.41|27.59
ComplementoPagosImpuestos|T|002|0.160000|172.41|27.59

Scenario: Payment of $1,000.00 MXN.


Payment covers 2 invoices.
a) Invoice 235 of serie E, was created in MXN.
The invoice has a traslado of IVA at 16%.
b) Invoice 236 of serie E, was created in MXN.
The invoice has a traslado of IVA at 8%.
SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagosComplementoPagos|2021-04-10T12:00:00|FormaDePago|MXN|1|1000.00|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|MXN|1|PPD|1|500|200|300|02
ComplementoPagosDoctoRelacionado|IdDocumento|E|236|MXN|1|PPD|1|300|300|0|02
SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagoGenerales|1000.00
ComplementoPagosTotales|T|002|0.160000|172.41|27.59
ComplementoPagosTotales|T|002|0.080000|277.78|22.22
ComplementoPagos|2021-04-10T12:00:00|FormaDePago|MXN|1|1000.00|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|MXN|1|PPD|1|500|200|300|02
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.16|172.41|27.59
ComplementoPagosDoctoRelacionado|IdDocumento|E|236|MXN|1|PPD|1|300|300|0|02
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.08|277.78|22.22
ComplementoPagosImpuestos|T|002|0.160000|172.41|27.59
ComplementoPagosImpuestos|T|002|0.080000|277.78|22.22

Scenario: Payment of $ 10061.65 MXN.


Payment covers 2 invoices.
a) Invoice 235 of serie E, was created in USD with an exchange rate of 0.049025.
The invoice has a traslado of IVA at 8%.
b) La Invoice 236 of serie E, was created in USD with an exchange rate of 0.048471.
The invoice has a traslado of IVA at 8%.
SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagos|2021-04-10T12:00:00|FormaDePago|MXN|1|10061.65|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|USD|0.049025|PPD|1|232|232|0|02
ComplementoPagosDoctoRelacionado|IdDocumento|E|236|USD|0.048471|PPD|1|258.32|258.32|0|02
SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagoGenerales|10061.65
ComplementoPagosTotales|T|002|0.160000|8673.84|1387.81
ComplementoPagos|2021-04-10T12:00:00|FormaDePago|MXN|1|10061.65|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|USD|0.049025|PPD|1|232|232|0|02
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.16|200|32.00
ComplementoPagosDoctoRelacionado|IdDocumento|E|236|USD|0.048471|PPD|1|258.32|258.32|0|02
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.08|222.69|35.63
ComplementoPagosImpuestos|T|002|0.160000|8673.84|1387.81

Scenario: Payment of $349.69 USD, exchange rate on payment date is 20.4598 MXN.


Payment covers 2 invoices.
a) Invoice 235 of serie E, was created in MXN, at an exchange rate of 20.64026.
The invoice has a withholding of IVA at 4%.
The invoice has a traslado of IVA at 16%.
b) Invoice 236 of serie E, was created in EUR at an exchange rate of 0.882357
The invoice has a withholding of IVA at 5%.
The invoice has a traslado of IVA at 8%.
SFERP|6.0|
Comprobante|38|PA||
Complemento|Pagos|1.0|
ComplementoPagoGenerales|7154.59
ComplementoPagosTotales|R|002|||6.75
ComplementoPagosTotales|R|001|||322.04
ComplementoPagosTotales|T|002|0.160000|170.84|27.42
ComplementoPagosTotales|T|002|0.080000|6441.15|515.38
ComplementoPagos|2021-04-10T12:00:00|FormaDePago|USD|20.4598|349.69|NumOperacion|RFCEmisorCtaOrd|NomBancoOrd|CtaOrdenante|RFCEmisorCtaBen|CtaBeneficiario
ComplementoPagosDoctoRelacionado|IdDocumento|E|235|MXN|20.64026|PPD|1|500|200|300|02
ComplementoPagosDoctoRelacionadoImpuesto|R|002|0.04|172.41|6.90
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.16|172.41|27.59
ComplementoPagosDoctoRelacionado|IdDocumento|E|236|EUR|0.882357|PPD|1|300|300|0|02
ComplementoPagosDoctoRelacionadoImpuesto|R|001|0.05|277.78|13.89 #EUR
ComplementoPagosDoctoRelacionadoImpuesto|T|002|0.08|277.78|22.22 #EUR
ComplementoPagosImpuestos|R|001|||15.74
ComplementoPagosImpuestos|R|002|||0.33
ComplementoPagosImpuestos|T|002|0.160000|8.35|1.34
ComplementoPagosImpuestos|T|002|0.080000|314.82|25.19

Data dictionary

TypeFieldsDescription
 * The rounding method for all the calculations can be adjusted in your settings.
 * Allowing the connector to make the calculations automatically can incur in a difference vs your journal entries caused by exchange rate and/or rounding operations. Please review the examples marked as GRANULAR as they will give you complete control over all the fields.
*ComplementoPagoGeneralesTotal amount of received payments. In MXN. (monto x tipoCambio)
   
ComplementoPagosTotalesTax summary linked in MXN.
*TipoMovimientoT or R (traslado/retención (withholding))
*TipoImpuestoTax type. According to the catalogue
*TasaImpuestoTax rate (left blank under withholding)
*BaseImpuestoTaxable base (left blank under withholding)
*ImporteImpuestoTax amount
*TipoFactorFactor type id that is applied to taxable base.
   
ComplementoPagosDoctoRelacionadoImpuestoTax breakdown linked to the invoice. Original invoice currency.
*TipoMovimientoT or R (traslado/retención (withholding))
*TipoImpuestoTax type. According to the catalogue
*TasaImpuestoTax rate
*BaseImpuestoTaxable base
*ImporteImpuestoTax amount
*TipoFactorFactor type id that is applied to taxable base.
   
ComplementoPagosImpuestosTax summary. The currency of the received Payment will be used
*TipoMovimientoT or R (traslado/retención (withholding))
*TipoImpuestoTax type. According to the catalogue
*TasaImpuestoTax rate (left blank under withholding)
*BaseImpuestoTaxable base (left blank under withholding)
*ImporteImpuestoTax amount
*TipoFactorFactor type id that is applied to taxable base.
   
   
Complemento fieldsMandatory id
RIdentificadorComplementoThe name of the complement, it must have the fixed value: Pagos
RVersionVersion of this complement.
   
ComplementoPagos fieldsMandatory id
RFechaPagoDate the payment was received, with format: yyyy-MM-ddThh:mm:ss
RFormaDePagoThe SAT's Method-of-payment id. Ex. 01(cash) or 02 (nominative check).
RMonedaPayment's currency id in compliance with ISO 4217. Ex. MXN (Mexican Peso), USD (U.S. Dollar), JPY (Yen). The value must be different to XXX and if it's not MXN the field "TipoCambio" must be specified.
CTipoCambioThe exchange rate of the payment's currency when it is not MXN and in the moment of receiving it. Ex. USD to MXN exchange rate in September 5 2017=17.8999.
If the rate is different to the one published by the SAT in its' currency catalogue (c_Moneda) a confirmation token delivered by the Certification-Authorized Provider (PAC) must be specified in the field "ClaveConfirmacionPAC" of the identifier "Comprobante".
RMontoPayment amount.
Following formulas must be taken into account when calculating the field's amount:
Lower limit:
(ImpPagado - (10 -ImpPagado's no. of decimals)/2) / (TipoCambioDR + (10 -TipoCambioDR's no. of decimals)/2-0.0000000001).
Upper limit:
(ImpPagado + (10 -ImpPagado's no. of decimals)/2-0.0000000001) /(TipoCambioDR - (10 -TipoCambioDR's no. of decimals)/2).
CNumOperacionAny kind of identification number (check number, approval number, reference number, etcetera) which identifies the payment.
CRfcEmisorCtaOrd The RFC of the paying party's bank, financial institution, or whichever entity from which the payment was issued. If this entity is abroad Mexico then the value will be XEXX010101000.
Consider the rules in the filling catalogue regarding this field (c_FormaPago).
CNomBancoOrd The name of the paying party's bank, financial institution, or whichever entity from which the payment was issued (up to 300 characters). Required if this entity is abroad Mexico.
Consider the rules in the filling catalogue regarding this field (c_FormaPago).
Ex. BANK OF TOKYO.
CCtaOrdenante The account number which the paying party used to perform the payment (from 10 characters up to 50).
Consider the rules in the filling catalogue regarding this field (c_FormaPago).
CRfcEmisorCtaBen The RFC of the payment recipient's bank, financial institution, or whichever entity from which the payment was issued.
Consider the rules in the filling catalogue regarding this field (c_FormaPago).
CCtaBeneficiario The account number were the recipient received the payment (from 10 characters up to 50).
Consider the rules in the filling catalogue regarding this field (c_FormaPago).
   
 ComplementoPagosCadenaPago fieldsOptional id
CTipoCadPago Id of the payment chain generated by the recipient of the payment.
Consider the rules in the filling catalogue regarding this field (c_FormaPago).
The several payment chain ids can be found in the filling catalogue c_TipoCadenaPago section.
If this field is specified the fields CertPago, CadPago and SelloPago must be specified.
CCertPago Payment's certificate chain as a text chain formatted in base64.
CCadPago The payment recipient's bank certificate chain as a text formatted in base64.
CSelloPago Seal of approval associated to the payment formatted in base64.
   
 ComplementoPagosDoctoRelacionado fieldsOtional id
This line must be appear for every invoice being referenced
RIdDocumentoThe fiscal folio of the invoice been payed. Ex. 431044D8-6CA 5-FA CE-ER18-4558kl859874
OSerieThe referenced invoice's series used for personal administration. Ex. "E"
OFolioThe referenced invoice's folio used for personal administration. Ex. 13425
RMonedaDRThe currency in which the referenced invoice's amounts are stated. If left in blank the value "MXN" is taken by default. The fields "ImpSaldoAnt", "ImpPagado" and "ImpSaldoInsoluto" must appear in this currency. Ex. MXN (Mexican Peso), USD (U.S. Dollar), JPY (Yen).
  • This field must no have the value: XXX
  • If this currency is different to the one specified in the field "MonedaP", the field "TipoCambioDR" must be specified.
  • If this currency and the one in field "MonedaP" are equal to MXN, the field "TipoCambioDR" must be left in blank.
  • If this currency is MXN and is different to the one in field "MonedaP", the field "TipoCambioDR" must have the value "1".
  • The values in fields ImpSaldoAnt, ImpPagado and ImpSaldoInsoluto must be in the currency specified, and rounded to the amount of decimals this currency supports in the currency catalogue (c_Moneda).
CTipoCambioDRThe exchange rate of the referenced invoice's currency. Required when the currency of the payment is different to the one in the referenced invoice.
Ex. In the field "MonedaDR" the currency "USD" is specified, and the payed amount in field "Monto" are 100 EUR (Euros), in this field the exchange rate will be 1.1911 (EUR/USD September 5 2017). And the payed amount (field: ImpPagado) will be 1.1911*100=119.11
RMetodoDePagoDRPayment type's id. Ex. PUE (single payment), or PPD (deferred payment or installments).
RNumParcialidad The number of installment.
RImpSaldoAnt Previous-remaining-due amount.
RImpPagado Payment amount for this related invoice.
RImpSaldoInsoluto Remaining amount to be payed (field ImpSaldoAnt's value - field ImpPagado's value).
*ObjetoImpDRReferenced invoice's payment is subject to tax or not.
  • R= Required
  • C= Conditional
  • O= Optional
  • *= If omit this field, then their value will be calculated only if the referenced document exists in the database.

External Links

External links

Datos de contacto
comments powered by Disqus