Payments 2.0 errors
This guide describes how API errors are classified and lists the level 2 errors of the Payments 2.0 complement (the payment complement, which records each payment received against a PPD (paid in installments or later, Pago en parcialidades o diferido) invoice; complement: complemento, an XML extension the SAT defines for specific operations), with their code, the validation that produces them, and their description.
Before you contact support, keep in mind that 99% of reported cases are integration errors. Review your implementation thoroughly before you ask for help.
Error types
Errors are classified in two levels. If a level 1 validation fails, the API stops the request and returns 400 (Bad Request) with the details of the failures, without running the level 2 validations.
1. Level 1 errors
These are request validation failures, which the API checks before it processes the request. Each failure gives the property that failed (propertyName) and a message that depends on the rule applied. Use the property, not the message text, to identify the failure in your code (see ValidationFailure).
Messages are in Spanish; for example, 'transpInternacId' no debe estar vacío. ('transpInternacId' must not be empty.) Some rule-specific messages and the JSON parsing errors, such as malformed JSON or a value of the wrong type, are in English. For the rule-specific ones, see Stamping validation messages (stamping: the certification by a SAT-authorized provider that makes a CFDI valid).
2. Level 2 errors
These are the checks the SAT (Mexico's tax authority, Servicio de Administración Tributaria) requires to comply with the Payments 2.0 complement. Their messages are in Spanish and explain the cause according to the SAT specifications.
Status codes
The status code category tells you whether the request succeeded. The response body follows the Fiscalapi response model.
- Name
2xx- Description
The request succeeded.
- Name
4xx- Description
Client error: there's a problem with the request.
- Name
5xx- Description
Server error. It's rare; see Server errors.
Payments 2.0 errors
Payments 2.0 errors are the second level of validation. If the response has an error of another kind, the request didn't pass the level 1 validations: see ValidationFailure to interpret it. This is the full Payments 2.0 error matrix, with its codes, validations, and descriptions:
| No. | Element | Attribute | Validation | Error code | SAT message (Spanish) |
|---|---|---|---|---|---|
| 1 | Comprobante | TipoDeComprobante | The registered value must be "P". | CRP20101 | El valor del campo TipoDeComprobante debe ser "P" |
| 2 | Comprobante | Exportacion | The registered value must be "01". | CRP20102 | El valor del campo Exportacion debe ser "01" |
| 3 | Comprobante | SubTotal | The SubTotal attribute must have the value "0". | CRP20103 | El valor del campo SubTotal debe ser cero "0". |
| 4 | Comprobante | Moneda | The Moneda attribute must have the value "XXX". | CRP20104 | El valor del campo Moneda debe ser "XXX". |
| 5 | Comprobante | FormaPago | The FormaPago attribute must not exist. | CRP20105 | El campo FormaPago no se debe registrar en el CFDI. |
| 6 | Comprobante | MetodoPago | The MetodoPago attribute must not exist. | CRP20106 | El campo MetodoPago no se debe registrar en el CFDI. |
| 7 | Comprobante | CondicionesDePago | The CondicionesDePago attribute must not exist. | CRP20107 | El campo CondicionesDePago no se debe registrar en el CFDI. |
| 8 | Comprobante | Descuento | The Descuento attribute must not exist. | CRP20108 | El campo Descuento no se debe registrar en el CFDI. |
| 9 | Comprobante | TipoCambio | The TipoCambio attribute must not exist. | CRP20109 | El campo TipoCambio no se debe registrar en el CFDI. |
| 10 | Comprobante | Total | The Total attribute must have the value "0". | CRP20110 | El valor del campo Total debe ser cero "0". |
| 11 | cfdi:Conceptos/Concepto | The Conceptos node must have only one concept. | CRP20111 | Solo debe existir un Concepto en el CFDI. | |
| 12 | cfdi:Conceptos/Concepto | The Conceptos node must not have child nodes, except for the AcuentaTerceros node. | CRP20112 | Si no existe el nodo AcuentaTerceros, no se deben registrar apartados dentro de Conceptos | |
| 13 | cfdi:Conceptos/Concepto | ClaveProdServ | The ClaveProdServ attribute must have the value "84111506". | CRP20113 | El valor del campo ClaveProdServ debe ser "84111506". |
| 14 | cfdi:Conceptos/Concepto | NoIdentificacion | The NoIdentificacion attribute must not exist. | CRP20114 | El campo NoIdentificacion no se debe registrar en el CFDI. |
| 15 | cfdi:Conceptos/Concepto | Cantidad | The Cantidad attribute must have the value "1". | CRP20115 | El valor del campo Cantidad debe ser "1". |
| 16 | cfdi:Conceptos/Concepto | ClaveUnidad | The ClaveUnidad attribute must have the value "ACT". | CRP20116 | El valor del campo ClaveUnidad debe ser "ACT". |
| 17 | cfdi:Conceptos/Concepto | Unidad | The Unidad attribute must not exist. | CRP20117 | El campo Unidad no se debe registrar en el CFDI. |
| 18 | cfdi:Conceptos/Concepto | Descripcion | The Descripcion attribute must have the value "Pago". | CRP20118 | El valor del campo Descripcion debe ser "Pago". |
| 19 | cfdi:Conceptos/Concepto | ValorUnitario | The ValorUnitario attribute must have the value "0". | CRP20119 | El valor del campo ValorUnitario debe ser cero "0". |
| 20 | cfdi:Conceptos/Concepto | Importe | The Importe attribute must have the value "0". | CRP20120 | El valor del campo Importe debe ser cero "0". |
| 21 | cfdi:Conceptos/Concepto | Descuento | The Unidad attribute must not exist. | CRP20121 | El campo Descuento no se debe registrar en el CFDI. |
| 22 | cfdi:Conceptos/Concepto | ObjetoImp | The ObjetoImp attribute must have the value "01". | CRP20122 | El valor del campo ObjetoImp debe ser "01". |
| 23 | cfdi:Conceptos/Concepto:Impuestos | The Impuestos node must not be registered in the CFDI. | CRP20123 | No se debe registrar el apartado de Impuestos en el CFDI. | |
| 1 | Pagos | TotalRetencionesIVA | Must equal the rounded sum of the products of each ImporteP amount of the withheld taxes in the RetencionP element where ImpuestoP contains the value IVA (Mexico's value-added tax, VAT), multiplied by the TipoCambioP value of each Pago node. | CRP20201 | El valor del campo TotalRetencionesIVA no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos retenidos registrados en el elemento RetencionP donde el atributo ImpuestoP contenga el valor IVA por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 2 | Pagos | TotalRetencionesISR | Must equal the rounded sum of the products of each ImporteP amount of the withheld taxes in the RetencionP element where ImpuestoP contains the value ISR (Mexico's income tax, Impuesto Sobre la Renta), multiplied by the TipoCambioP value of each Pago node. | CRP20202 | El valor del campo TotalRetencionesISR no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos retenidos registrados en el elemento RetencionP donde el atributo ImpuestoP contenga el valor ISR por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 3 | Pagos | TotalRetencionesIEPS | Must equal the rounded sum of the products of each ImporteP amount of the withheld taxes in the RetencionP element where ImpuestoP contains the value IEPS (Mexico's excise tax on specific goods and services, Impuesto Especial sobre Producción y Servicios), multiplied by the TipoCambioP value of each Pago node. | CRP20203 | El valor del campo TotalRetencionesIEPS no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos retenidos registrados en el elemento RetencionP donde el atributo ImpuestoP contenga el valor IEPS por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 4 | Pagos | TotalTrasladosBaseIVA16 | Must equal the rounded sum of the products of each BaseP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA, TipoFactorP is Tasa (rate), and TasaOCuotaP is 0.160000, multiplied by the TipoCambioP value of each Pago node. | CRP20204 | El valor del campo TotalTrasladosBaseIVA16 no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.160000, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 5 | Pagos | TotalTrasladosImpuestoIVA16 | Must equal the rounded sum of the products of each ImporteP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA, TipoFactorP is Tasa, and TasaOCuotaP is 0.160000, multiplied by the TipoCambioP value of each Pago node. | CRP20205 | El valor del campo TotalTrasladosImpuestoIVA16 no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.160000, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 6 | Pagos | TotalTrasladosBaseIVA8 | Must equal the rounded sum of the products of each BaseP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA, TipoFactorP is Tasa, and TasaOCuotaP is 0.080000, multiplied by the TipoCambioP value of each Pago node. | CRP20206 | El valor del campo TotalTrasladosBaseIVA8 no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.080000, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 7 | Pagos | TotalTrasladosImpuestoIVA8 | Must equal the rounded sum of the products of each ImporteP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA, TipoFactorP is Tasa, and TasaOCuotaP is 0.080000, multiplied by the TipoCambioP value of each Pago node. | CRP20207 | El valor del campo TotalTrasladosImpuestoIVA8 no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y TasaOCuotaP el valor 0.080000, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 8 | Pagos | TotalTrasladosBaseIVA0 | Must equal the rounded sum of the products of each BaseP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA, TipoFactorP is Tasa, and TasaOCuotaP is 0.000000, multiplied by the TipoCambioP value of each Pago node. | CRP20208 | El valor del campo TotalTrasladosBaseIVA0 no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.000000, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 9 | Pagos | TotalTrasladosImpuestoIVA0 | Must equal the rounded sum of the products of each ImporteP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA, TipoFactorP is Tasa, and TasaOCuotaP is 0.000000, multiplied by the TipoCambioP value of each Pago node. | CRP20209 | El valor del campo TotalTrasladosImpuestoIVA0 no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos ImporteP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.000000, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 10 | Pagos | TotalTrasladosBaseExento | Must equal the rounded sum of the products of each BaseP amount of the transferred taxes in the TrasladoP element where ImpuestoP is IVA and TipoFactorP is Exento (exempt), multiplied by the TipoCambioP value of each Pago node. | CRP20210 | El valor del campo TotalTrasladosBaseExento no es igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los atributos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los atributos contengan en ImpuestoP el valor IVA y en TipoFactorP el valor Exento, por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 11 | Pagos | MontoTotalPagos | Must equal the rounded sum of the products of each Monto attribute multiplied by the TipoCambioP value of each Pago node. | CRP20211 | El valor del campo MontoTotalPagos no es igual al redondeo de la suma del resultado de multiplicar cada uno de los atributos Monto por el valor registrado en el atributo TipoCambioP de cada nodo Pago. |
| 12 | Pagos/pago10:Pago | FormaDePagoP | The registered value must be other than 99. | CRP20212 | El valor del campo FormaDePagoP debe ser distinto de "99". |
| 13 | Pagos/pago10:Pago | MonedaP | The MonedaP attribute must be other than "XXX". | CRP20213 | El campo MonedaP debe ser distinto de "XXX" |
| 14 | Pagos/pago10:Pago | MonedaP | If the MonedaP attribute is other than MXN, the TipoCambioP attribute must be registered. | CRP20214 | El campo TipoCambioP se debe registrar. |
| 15 | Pagos/pago10:Pago | MonedaP | If the MonedaP attribute is MXN, the value "1" must be registered in the TipoCambioP attribute. | CRP20215 | El campo TipoCambioP debe contener el valor "1". |
| 16 | Pagos/pago10:Pago | TipoCambioP | When this value is outside the established limits, the issuer must manually obtain a confirmation key to confirm that the value is correct, and include it in the CFDI (Mexico's electronic invoice) in the CFDI:Confirmacion attribute. | CRP20216 | Cuando el valor del campo TipoCambioP se encuentre fuera de los límites establecidos, debe existir el campo Confirmacion |
| 17 | Pagos/pago10:Pago | Monto | When the currency of the paid invoice is the same as the payment's currency, the sum of the ImpPagado values of the DoctoRelacionado nodes must be less than or equal to this attribute's value. For the same currencies, no lower or upper limits are calculated for rounding. | CRP20217 | La suma de los valores registrados en el campo ImpPagado de los apartados DoctoRelacionado no es menor o igual que el valor del campo Monto. |
| 18 | Pagos/pago10:Pago | Monto | Must be greater than 0. | CRP20218 | El valor del campo Monto no es mayor que cero "0". |
| 19 | Pagos/pago10:Pago | Monto | The number of decimal places of the amount must follow the currency in the MonedaP attribute, according to the catalog published on the SAT website. Where necessary, amounts must be rounded to the number of decimal places set. | CRP20219 | El valor del campo Monto debe tener hasta la cantidad de decimales que soporte la moneda registrada en el campo MonedaP. |
| 20 | Pagos/pago10:Pago | Monto | When the MXN equivalent of this attribute exceeds the established limit, the issuer must manually obtain a confirmation key to confirm that the amount is correct, and include it in the CFDI:Confirmacion attribute. The PAC (Proveedor Autorizado de Certificación, a SAT-authorized provider that stamps CFDIs) assigns the confirmation key. | CRP20220 | Cuando el valor del campo Monto se encuentre fuera de los límites establecidos, debe existir el campo Confirmacion |
| 21 | Pagos/pago10:Pago | RfcEmisorCtaOrd | When the FormaDePagoP value is other than keys 02, 03, 04, 05, 06, 28, and 29, this attribute must not exist. | CRP20221 | El campo RfcEmisorCtaOrd no se debe registrar. |
| 22 | Pagos/pago10:Pago | RfcEmisorCtaOrd | When the generic RFC (Mexico's taxpayer ID, Registro Federal de Contribuyentes) XEXX010101000 is not used, the RFC must be in the SAT list of registered RFCs. | CRP20222 | El RFC del campo RfcEmisorCtaOrd no se encuentra en la lista de RFC. |
| 23 | Pagos/pago10:Pago | NomBancoOrdExt | When the generic RFC XEXX010101000 is used in the RfcEmisorCtaOrd field, the NomBancoOrdExt field is required. | CRP20223 | El campo NomBancoOrdExt se debe registrar. |
| 24 | Pagos/pago10:Pago | CtaOrdenante | When the FormaDePagoP value is other than keys 02, 03, 04, 05, 06, 28, and 29, this attribute must not exist. | CRP20224 | El campo CtaOrdenante no se debe registrar. |
| 25 | Pagos/pago10:Pago | CtaOrdenante | If the CtaOrdenante attribute exists, it must match the pattern specified in the c_FormaPago catalog. | CRP20225 | El campo CtaOrdenante no cumple con el patrón requerido. |
| 26 | Pagos/pago10:Pago | CtaBeneficiario | If the CtaBeneficiario attribute exists, it must match the pattern specified in the c_FormaPago catalog. | CRP20226 | El campo CtaBeneficiario no cumple con el patrón requerido. |
| 27 | Pagos/pago10:Pago | RfcEmisorCtaBen | When the FormaDePagoP value is other than keys 02, 03, 04, 05, 28, and 29, this attribute must not exist. | CRP20227 | El campo RfcEmisorCtaBen no se debe registrar. |
| 28 | Pagos/pago10:Pago | CtaBeneficiario | When the FormaDePagoP value is other than keys 02, 03, 04, 05, 28, and 29, this attribute must not exist. | CRP20228 | El campo CtaBeneficiario no se debe registrar. |
| 29 | Pagos/pago10:Pago | TipoCadPago | If the FormaDePagoP value is other than key 03, the TipoCadPago attribute must not exist. | CRP20229 | El campo TipoCadPago no se debe registrar. |
| 30 | Pagos/pago10:Pago | CertPago | If the TipoCadPago field exists, the CertPago, CadPago, and SelloPago fields are required. | CRP20230 | El campo CertPago se debe registrar. |
| 31 | Pagos/pago10:Pago | CertPago | If the TipoCadPago field does not exist, the CertPago, CadPago, and SelloPago fields must not be registered. | CRP20231 | El campo CertPago no se debe registrar. |
| 32 | Pagos/pago10:Pago | CadPago | If the TipoCadPago field exists, the CertPago, CadPago, and SelloPago fields are required. | CRP20232 | El campo CadPago se debe registrar. |
| 33 | Pagos/pago10:Pago | CadPago | If the TipoCadPago field does not exist, the CertPago, CadPago, and SelloPago fields must not be registered. | CRP20233 | El campo CadPago no se debe registrar. |
| 34 | Pagos/pago10:Pago | SelloPago | If the TipoCadPago field exists, the CertPago, CadPago, and SelloPago fields are required. | CRP20234 | El campo SelloPago se debe registrar. |
| 35 | Pagos/pago10:Pago | SelloPago | If the TipoCadPago field does not exist, the CertPago, CadPago, and SelloPago fields must not be registered. | CRP20235 | El campo SelloPago no se debe registrar. |
| 36 | Pagos/pago10:Pago/pago10:DoctoRelacionado | MonedaDR | The MonedaP attribute must be other than "XXX". | CRP20236 | El valor del campo MonedaDR debe ser distinto de "XXX" |
| 37 | Pagos/pago10:Pago/pago10:DoctoRelacionado | EquivalenciaDR | If the MonedaDR value is other than the value registered in the MonedaP attribute, information must be registered in the EquivalenciaDR attribute. | CRP20237 | El campo EquivalenciaDR se debe registrar. |
| 38 | Pagos/pago10:Pago/pago10:DoctoRelacionado | EquivalenciaDR | If the MonedaDR value equals the value registered in the MonedaP attribute in each paid invoice, the value "1" must be registered in the EquivalenciaDR attribute. | CRP20238 | El campo EquivalenciaDR debe contener el valor "1". |
| 39 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpSaldoAnt | Must be greater than zero. | CRP20239 | El campo ImpSaldoAnt debe mayor a cero. |
| 40 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpSaldoAnt | The amounts in the ImpSaldoAnt, ImpPagado, and ImpSaldoInsoluto attributes of this node must be in the currency registered in the MonedaDR field and rounded to the number of decimal places that currency supports. | CRP20240 | El valor del campo ImpSaldoAnt debe tener hasta la cantidad de decimales que soporte la moneda registrada en el campo MonedaDR. |
| 41 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpPagado | Must be greater than zero. | CRP20241 | El campo ImpPagado debe mayor a cero. |
| 42 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpPagado | The amounts in the ImpSaldoAnt, ImpPagado, and ImpSaldoInsoluto attributes of this node must be in the currency registered in the MonedaDR field and rounded to the number of decimal places that currency supports. | CRP20242 | El valor del campo ImpPagado debe tener hasta la cantidad de decimales que soporte la moneda registrada en el campo MonedaDR. |
| 43 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpSaldoInsoluto | The amounts in the ImpSaldoAnt, ImpPagado, and ImpSaldoInsoluto attributes of this node must be in the currency registered in the MonedaDR field and rounded to the number of decimal places that currency supports. | CRP20243 | El valor del campo ImpSaldoInsoluto debe tener hasta la cantidad de decimales que soporte la moneda registrada en el campo MonedaDR. |
| 44 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpSaldoInsoluto | Must be greater than or equal to zero and must be calculated as ImpSaldoAnt minus ImpPagado. | CRP20244 | El campo ImpSaldoInsoluto debe ser mayor o igual a cero y calcularse con la suma de los campos ImpSaldoAnt menos el ImpPagado. |
| 45 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ObjetoImpDR | The ObjetoImpDR attribute must have a value from the c_ObjetoImp catalog. | CRP20245 | El campo ObjetoImpDR, debe tener un valor del catálogo c_ObjetoImp. |
| 46 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ObjetoImpDR | If the ObjetoImpDR attribute is "02", the child node ImpuestosDR of the DoctoRelacionado node must exist. | CRP20246 | El nodo hijo ImpuestosDR del nodo DoctoRelacionado debe existir. |
| 47 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ObjetoImpDR | If this attribute is "01", "03", "04", or "05", the child node ImpuestosDR of the DoctoRelacionado node must not exist. | CRP20247 | El nodo hijo de ImpuestosDR del nodo DoctoRelacionado, no debe existir. |
| 48 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR | If the ImpuestosDR node is used in a DoctoRelacionado, it must include transferred and/or withheld taxes. | CRP20248 | En caso de utilizar el nodo Impuestos en un documento relacionado, se deben incluir impuestos de traslados y/o retenciones. | |
| 49 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:RetencionesDR/RetencionDR | BaseDR | Must be greater than zero. | CRP20249 | El valor del campo BaseDR que corresponde a Retención debe ser mayor que cero. |
| 50 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:RetencionesDR/RetencionDR | ImpuestoDR | The ImpuestoDR attribute must contain a value from the c_Impuesto catalog. | CRP20250 | El valor del campo ImpuestoDR que corresponde a Retención no contiene un valor del catálogo c_Impuesto. |
| 51 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:RetencionesDR/RetencionDR | TipoFactorDR | The TipoFactorDR attribute must contain a value from the c_TipoFactor catalog. | CRP20251 | El valor del campo TipoFactorDR que corresponde a Retención no contiene un valor del catálogo c_TipoFactor. |
| 52 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:RetencionesDR/RetencionDR | TipoFactorDR | The registered value must be other than Exento (exempt). | CRP20252 | El valor registrado en el campo TipoFactorDR que corresponde a Retención debe ser distinto de Exento. |
| 53 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:RetencionesDR/RetencionDR | TasaOCuotaDR | If the value is fixed, it must match a value in the c_TasaOCuota catalog, match the tax type in the ImpuestoDR attribute, and the factor must match the TipoFactorDR attribute. | CRP20253 | El valor del campo TasaOCuotaDR que corresponde a Retención, no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango. |
| 54 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:RetencionesDR/RetencionDR | ImporteDR | The value of this attribute must be greater than or equal to the lower limit and less than or equal to the upper limit. | CRP20254 | El valor del campo ImporteDR que corresponde a Retención no se encuentra entre el limite inferior y superior permitido. |
| 55 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | BaseDR | The value must be greater than zero. | CRP20255 | El valor del campo BaseDR que corresponde a Traslado debe ser mayor que cero |
| 56 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | ImpuestoDR | The ImpuestoDR attribute must contain a value from the c_Impuesto catalog. | CRP20256 | El valor del campo ImpuestoDR que corresponde a Traslado no contiene un valor del catálogo c_Impuesto. |
| 57 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | TipoFactorDR | The TipoFactorDR attribute must contain a value from the c_TipoFactor catalog. | CRP20257 | El valor del campo TipoFactorDR que corresponde a Traslado no contiene un valor del catálogo c_TipoFactor. |
| 58 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | TipoFactorDR | If the value is Exento (exempt), the TasaOCuotaDR and ImporteDR attributes must not be registered. | CRP20258 | Si el valor registrado en el campo TipoFactorDR es Exento no se deben registrar los campos TasaOCuotaDR ni ImporteDR. |
| 59 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | TipoFactorDR | If the value is Tasa (rate) or Cuota (fixed amount), the TasaOCuotaDR and ImporteDR attributes must be registered. | CRP20259 | Si el valor registrado en el campo TipoFactorDR que corresponde a Traslado es Tasa o Cuota, se deben registrar los campos TasaOCuotaDR e ImporteDR. |
| 60 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | TasaOCuotaDR | If the value is fixed, it must match a value in the c_TasaOCuota catalog, match the tax type in the ImpuestoDR attribute, and the factor must match the TipoFactorDR attribute. | CRP20260 | El valor del campo TasaOCuotaDR que corresponde a Traslado no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango. |
| 61 | Pagos/pago10:Pago/pago10:DoctoRelacionado/ImpuestosDR:TrasladosDR/TrasladoDR | ImporteDR | The value of this attribute must be greater than or equal to the lower limit and less than or equal to the upper limit. | CRP20261 | El valor del campo ImporteDR o que corresponde a Traslado no se encuentra entre el limite inferior y superior permitido. |
| 62 | Pagos/pago10:Pago/pago10:ImpuestosP:RetencionesP/RetencionP | ImpuestoP | The ImpuestoP attribute must contain a value from the c_Impuesto catalog. | CRP20262 | El campo ImpuestoP no contiene un valor del catálogo c_Impuesto. |
| 63 | Pagos/pago10:Pago/pago10:ImpuestosP:RetencionesP/RetencionP | ImpuestoP | There must be only one record for each withheld tax type. | CRP20263 | Debe haber sólo un registro por cada tipo de impuesto retenido. |
| 64 | Pagos/pago10:Pago/pago10:ImpuestosP:RetencionesP/RetencionP | ImporteP | At least one of the TotalRetencionesIVA, TotalRetencionesISR, or TotalRetencionesIEPS attributes must exist. | CRP20264 | Debe existir al menos uno de los campos TotalRetencionesIVA, TotalRetencionesISR, TotalRetencionesIEPS. |
| 65 | Pagos/pago10:Pago/pago10:ImpuestosP:RetencionesP/RetencionP | ImporteP | Must equal the sum of the withheld tax amounts registered in the paid invoices where the tax equals the ImpuestoP attribute of this element. | CRP20265 | El campo ImporteP que corresponde a Retención, no es igual a la suma de los importes de los impuestos retenidos registrados en el documento relacionado donde el impuesto sea igual al campo ImpuestoP de este elemento. |
| 66 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | TrasladoP | If all the paid invoices have TipoFactorDR Exento (exempt), this node must have only the BaseP, ImpuestoP, and TipoFactorP attributes. | CRP20266 | Deben existir los campos BaseP, ImpuestoP y TipoFactorP |
| 67 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | BaseP | When the ImpuestoP attribute of the TrasladoP node is the key 002 - IVA, at least one of the TotalTrasladosBaseIVA16, TotalTrasladosBaseIVA8, TotalTrasladosBaseIVA0, or TotalTrasladosBaseIVAExento attributes must exist. | CRP20267 | Debe existir al menos uno de los campos TotalTrasladosBaseIVA16 y/o TotalTrasladosBaseIVA8 y/o TotalTrasladosBaseIVA0 y/o TotalTrasladosBaseIVAExento. |
| 68 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | BaseP | Must equal the sum of the BaseDR amounts registered in the paid invoices where the paid invoice's tax equals the ImpuestoP attribute of this element and the paid invoice's TasaOCuotaDR equals the TasaOCuotaP attribute of this element. | CRP20268 | El campo BaseP que corresponde a Traslado, no es igual a la suma de los importes de las bases registrados en los documentos relacionados donde el impuesto del documento relacionado sea igual al campo ImpuestoP de este elemento y la TasaOCuotaDR del documento relacionado sea igual al campo TasaOCuotaP de este elemento. |
| 69 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | BaseP | If all the paid invoices have TipoFactorDR Exento (exempt), the sum of this attribute must equal the sum of the BaseDR amounts registered in the paid invoices. | CRP20269 | El importe del campo BaseP que corresponde a Traslado, no es igual a la suma de los importes de las bases registrados en los documentos relacionados. |
| 70 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | ImpuestoP | The ImpuestoP attribute must contain a value from the c_Impuesto catalog. | CRP20270 | El campo ImpuestoP que corresponde a Traslado no contiene un valor del catálogo c_Impuesto. |
| 71 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | ImpuestoP | There must be only one record with the same combination of tax, factor, and rate for each transferred tax. | CRP20271 | Debe haber sólo un registro con la misma combinación de impuesto, factor y tasa por cada traslado. |
| 72 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | TasaOCuotaP | The value must match a value in the c_TasaOCuota catalog where the tax column matches the ImpuestoP attribute and the factor column matches the TipoFactorP attribute. | CRP20272 | El valor seleccionado debe corresponder a un valor del catálogo Tasa O Cuota donde la columna impuesto corresponda con el campo ImpuestoP y la columna factor corresponda con el campo TipoFactorP. |
| 73 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | ImporteP | When the ImpuestoP attribute of the TrasladoP node is the key 002 - IVA, at least one of the TotalTrasladosImpuestoIVA16, TotalTrasladosImpuestoIVA8, or TotalTrasladosImpuestoIVA0 attributes must exist when there are concepts with a TipoFactor other than Exento (exempt). | CRP20273 | Deben existir al menos uno de los campos TotalTrasladosImpuestoIVA16, TotalTrasladosImpuestoIVA8, TotalTrasladosImpuestoIVA0 cuando existan conceptos con un TipoFactor distinto a Exento. |
| 74 | Pagos/pago10:Pago/pago10:ImpuestosP:TrasladosP/TrasladoP | ImporteP | Must equal the sum of the ImporteDR amounts registered in the paid invoice where the paid invoice's tax equals the ImpuestoP attribute of this element and the paid invoice's TasaOCuotaDR equals the TasaOCuotaP attribute of this element. | CRP20274 | El campo ImporteP que corresponde a Traslado, no es igual a la suma de los importes de los impuestos registrados en el documento relacionado donde el impuesto del documento relacionado sea igual al campo ImpuestoP de este elemento y la TasaOCuotaP del documento relacionado sea igual al campo TasaOCuotaP de este elemento. |
| 75 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ImpPagado | When the currency of the paid invoice differs from the payment's currency, first calculate the lower and upper limits of each paid amount: the lower limit is truncated and the upper limit is rounded, to the number of decimal places the currency supports. The limits are calculated for each paid amount individually, and each paid amount must fall between its own limits. | CRP20275 | El valor del campo ImpPagado del nodo DoctoRelacionado no se encuentra entre el limite inferior y superior permitido. |
| 76 | Pagos/pago10:Pago | Monto | In operations with different currencies, if the sum of the ImpPagado attributes of each paid invoice, converted to the payment's currency, is not less than or equal to the Monto attribute, the Monto value must be greater than or equal to the sum of the lower limits and less than or equal to the sum of the upper limits of each ImpPagado, calculated previously. | CRP20276 | El valor del campo Monto no se encuentra entre el límite inferior y superior permitido. |
| 77 | Pagos/pago10:Pago/pago10:DoctoRelacionado | EquivalenciaDR | When there are operations with more than one paid invoice and at least one of them has the same currency as the payment, EquivalenciaDR must contain "1.0000000000" (10 decimal places) when its value is 1, in the formula that calculates the limits of each paid amount. | CRP20277 | El valor de EquivalenciaDR para la fórmula del cálculo del margen de variación debe ser “1.0000000000”. |
| 78 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ObjetoImpDR | If the value is "06" or "08", the child nodes RetencionDR and TrasladoDR of the DoctoRelacionado node must not have the value "002" and/or "003" in their ImpuestoDR attribute. A child node RetencionDR with the value "001" in ImpuestoDR may exist. | CRP20278 | Cuando se registre el valor "06" o "08" en el campo ObjetoImpDR, el valor del campo ImpuestoDR de los nodos hijo RetencionDR y/o TrasladoDR del nodo DoctoRelacionado debe ser distinto de los valores "002" (IVA) y/o "003" (IEPS). |
| 79 | Pagos/pago10:Pago/pago10:DoctoRelacionado | ObjetoImpDR | If the value is "07", the child nodes RetencionDR and TrasladoDR of the DoctoRelacionado node must not have the value "002" in their ImpuestoDR attribute. A child node RetencionDR with the value "001" in ImpuestoDR may exist, a child node TrasladoDR with the value "003" in ImpuestoDR must exist, and a child node RetencionDR with the value "003" in ImpuestoDR may exist. | CRP20279 | Cuando se registre el valor “07" en el campo ObjetoImpDR, el valor del campo ImpuestoDR de los nodos hijo RetencionDR y/o TrasladoDR del nodo DoctoRelacionado debe ser distinto del valor "002" (IVA); debe existir al menos un nodo hijo TrasladoDR con el valor "003" (IEPS). |
| 80 | Unclassified error | Unclassified | Unclassified error. | CRP20999 | Error no clasificado. |