CFDI 4.0 errors

This guide describes how API errors are classified and lists the level 2 errors of CFDI 4.0 (CFDI: Mexico's electronic invoice), with their code, the validation that produces them, and their description.

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 CFDI 4.0. 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.


CFDI 4.0 errors

CFDI 4.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 CFDI 4.0 error matrix, with its codes, validations, and descriptions:

No.ElementAttributeValidationError codeSAT message (Spanish)
1ComprobanteFechaThis attribute must match the pattern (20[1-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]) and must be the local time where the CFDI is issued.CFDI40101El campo Fecha no cumple con el patrón requerido.
2ComprobanteSelloDecrypt the content of this attribute with the certificate in the "Certificado" attribute. Generate the original string (cadena original, the sequence of CFDI data that the digital seal signs) of the CFDI. Apply the SHA-256 digest algorithm. The digest result must equal the result of decrypting the seal.CFDI40102El resultado de la digestión debe ser igual al resultado de la desencripción del sello.
3ComprobanteFormaPagoConditional attribute for the key of the form of payment (how the customer paid: cash, bank transfer, card; the FormaPago key) of the goods or services the CFDI covers.CFDI40103Si existe el tipo de comprobante T, N o P el campo FormaPago no debe existir.
4ComprobanteFormaPagoThis attribute must contain a value from the c_FormaPago catalog.CFDI40104El campo FormaPago no contiene un valor del catálogo c_FormaPago.
5ComprobanteFormaPagoThis attribute must contain "99" when the MetodoPago attribute contains "PPD" (paid in installments or later, Pago en parcialidades o diferido).CFDI40105El campo FormaPago no contiene el valor "99".
6ComprobanteCertificadoThe attribute must contain a valid .cer file.CFDI40106EL certificado no cumple con alguno de los valores permitidos.
7ComprobanteSubTotalThis value can have at most the decimal places the currency supports.CFDI40107El valor de este campo SubTotal excede la cantidad de decimales que soporta la moneda.
8ComprobanteSubTotalWhen TipoDeComprobante is I, E, or N, the amount in this attribute must equal the rounded sum of the amounts of the line items.CFDI40108El TipoDeComprobante es I,E o N, el importe registrado en el campo no es igual al redondeo de la suma de los importes de los conceptos registrados.
9ComprobanteSubTotalIf the CFDI is T or P, the amount must be 0, or zero with decimals.CFDI40109El TipoDeComprobante es T o P y el importe no es igual a 0, o cero con decimales.
10ComprobanteDescuentoThe value must be less than or equal to the Subtotal attribute.CFDI40110El valor registrado en el campo Descuento no es menor o igual que el campo Subtotal.
11ComprobanteDescuentoWhen TipoDeComprobante is I, E, or N and a line item includes the Descuento attribute, this attribute must be present and must equal the rounded sum of the Descuento attributes of the line items; otherwise, omit this attribute.CFDI40111El TipoDeComprobante no es I,E o N, y un concepto incluye el campo descuento.
12ComprobanteDescuentoThis value can have at most the decimal places the currency supports.CFDI40112El valor del campo Descuento excede la cantidad de decimales que soporta la moneda.
13ComprobanteMonedaThis attribute must contain a value from the c_Moneda catalog.CFDI40113El campo Moneda no contiene un valor del catálogo c_Moneda.
14ComprobanteTipoCambioIf the currency is MXN, you can omit the TipoCambio attribute, but if you include it, it must be "1".CFDI40114El campo TipoCambio no tiene el valor "1" y la moneda indicada es MXN.
15ComprobanteTipoCambioThis attribute is required when the Moneda attribute has a value other than MXN and XXX.CFDI40115El campo TipoCambio se debe registrar cuando el campo Moneda tiene un valor distinto de MXN y XXX.
16ComprobanteTipoCambioThis attribute must not be present when the Moneda attribute is XXX.CFDI40116El campo TipoCambio no se debe registrar cuando el campo Moneda tiene el valor XXX.
17ComprobanteTipoCambioThis attribute must match the pattern [0-9]{1,18}(.[0-9]{1,6})?.CFDI40117El campo TipoCambio no cumple con el patrón requerido.
18ComprobanteTipoCambioIf this value is outside the percentage allowed for the currency in the c_Moneda catalog, the issuer must manually obtain a confirmation key from the PAC (Proveedor Autorizado de Certificación, a SAT-authorized provider that stamps CFDIs) that will stamp the CFDI, to confirm that the value is correct, and include that key in the Confirmacion attribute.CFDI40118Cuando el valor del campo TipoCambio se encuentre fuera de los límites establecidos, debe existir el campo Confirmacion.
19ComprobanteTotalRequired attribute for the sum of the subtotal, minus the applicable discounts, plus the contributions received (transferred taxes (traslado, a tax the issuer charges the recipient), federal and/or local; duties; productos (government revenue from private-law activities); aprovechamientos (other government revenue under public law); social security contributions; improvement contributions), minus the federal and/or local withheld taxes (retención).CFDI40119El campo Total no corresponde con la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos trasladados - federales o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos y/o locales.
20ComprobanteTotalIf the value exceeds the limit the SAT sets in the current Resolución Miscelánea Fiscal (the SAT's annual tax rules), the issuer must manually obtain a confirmation key from the PAC that will stamp the CFDI, to confirm that the value is correct, and include that key in the Confirmacion attribute.CFDI40120Cuando el valor del campo Total se encuentre fuera de los límites establecidos, debe existir el campo Confirmacion.
21ComprobanteTipoDeComprobanteThis attribute must contain a value from the c_TipoDeComprobante catalog.CFDI40121El campo TipoDeComprobante, no contiene un valor del catálogo c_TipoDeComprobante.
22ComprobanteExportacionRequired attribute that states whether the CFDI covers an export transaction.CFDI40122El campo Exportacion contiene el valor "02", el CFDI debe contener el complemento para Comercio Exterior.
23ComprobanteExportacionThis attribute must contain a value from the c_Exportacion catalog.CFDI40123El campo Exportacion no contiene un valor del catálogo c_Exportacion.
24ComprobanteMetodoPagoThis attribute must contain a value from the c_MetodoPago catalog.CFDI40124El campo MetodoPago, no contiene un valor del catálogo c_MetodoPago.
25ComprobanteMetodoPagoOmit the MetodoPago attribute when TipoDeComprobante is T or P.CFDI40125Se debe omitir el campo MetodoPago cuando el TipoDeComprobante es T o P.
26ComprobanteLugarExpedicionThis attribute must contain a value from the c_CodigoPostal catalog.CFDI40126El campo LugarExpedicion, no contiene un valor del catálogo c_CodigoPostal.
27ComprobanteConfirmacionThis attribute must not be present when the TipoCambio and/or Total attributes are within the allowed range.CFDI40127El campo Confirmacion no debe existir cuando los campos TipoCambio y/o Total están dentro del rango permitido.
28ComprobanteConfirmacionThe PAC must verify that the issuer requested this confirmation key from it.CFDI40128Número de confirmación inválido.
29ComprobanteConfirmacionThe PAC must verify that the confirmation key isn't used in more than one CFDI.CFDI40129Número de confirmación utilizado previamente.
30cfdi:InformacionGlobalThis node must be present whenever TipoDeComprobante is "I", the Rfc attribute of the Receptor node contains "XAXX010101000", and the Nombre attribute of the Receptor node contains "PUBLICO EN GENERAL".CFDI40130Cuando el tipo de comprobante sea Ingreso y el campo Rfc del nodo receptor corresponda al valor "XAXX010101000" y el campo Nombre del nodo Receptor contenga la descripción “PUBLICO EN GENERAL”, el nodo Información Global debe existir.
31cfdi:InformacionGlobalPeriodicidadThis attribute must contain a value from the c_Periodicidad catalog.CFDI40131El campo Periodicidad, no contiene un valor del catálogo c_Periodicidad.
32cfdi:InformacionGlobalPeriodicidadWhen this attribute contains the key "05", the RegimenFiscal attribute must contain "621".CFDI40132El campo RegimenFiscal, no contiene el valor 621
33cfdi:InformacionGlobalMesesThis attribute must contain a value from the c_Meses catalog.CFDI40133El campo Meses, no contiene un valor del catálogo c_Meses.
34cfdi:InformacionGlobalMesesIf the Periodicidad attribute contains a value other than "05", this attribute must contain one of the values "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", or "12".CFDI40134El campo Meses, no contiene alguno de los valores “01”, “02”, “03”, “04”, “05”, “06”, “07”, “08”, “09”, “10”, “11” o "12".
35cfdi:InformacionGlobalMesesIf the Periodicidad attribute contains "05", this attribute must contain one of the values "13", "14", "15", "16", "17", or "18".CFDI40135El campo Meses, no contiene alguno de los valores “13”, “14”, “15”, “16”, “17” o “18”.
36cfdi:InformacionGlobalAñoRequired attribute for the year the information of the global invoice (factura global, one CFDI that groups a period's sales to the general public) belongs to.CFDI40136El valor registrado en el campo Año, no es igual al año en curso o no contiene un valor de hasta 5 ejercicios anteriores.
37cfdi:CfdiRelacionadosTipoRelacionThis attribute must contain a value from the c_TipoRelacion catalog.CFDI40137El campo TipoRelacion, no contiene un valor del catálogo c_TipoRelacion.
38cfdi:EmisorNombreThis attribute must be in the SAT list of registered, non-canceled RFCs (Mexico's taxpayer IDs, Registro Federal de Contribuyentes).CFDI40138El campo Nombre del emisor, debe encontrarse en la lista de RFC inscritos no cancelados en el SAT.
39cfdi:EmisorNombreThis attribute must belong to the name associated with the RFC in the Rfc attribute of the Emisor node.CFDI40139El campo Nombre del emisor, debe pertenecer al nombre asociado al RFC registrado en el campo Rfc del Emisor.
40cfdi:EmisorRegimenFiscalThis attribute must contain a value from the c_RegimenFiscal catalog.CFDI40140El campo RegimenFiscal, no contiene un valor del catálogo c_RegimenFiscal.
41cfdi:EmisorRegimenFiscalThe tax regime (régimen fiscal, the SAT category a taxpayer is registered under, such as 601 or 626) in this attribute must match the issuer's person type: individual (persona física) or legal entity (persona moral).CFDI40141La clave del campo RegimenFiscal debe corresponder con el tipo de persona (fisica o moral).
42cfdi:EmisorFacAtrAdquirenteThis attribute must contain the operation number whenever the SAT's RFC validator service for issuing invoices through the acquirer returns a positive response.CFDI40142El campo FacAtrAdquirente, no contiene un número de operación valido.
43cfdi:ReceptorRfcWhen a generic RFC isn't used, the RFC must be in the SAT list of registered, non-canceled RFCs.CFDI40143Este RFC del receptor no existe en la lista de RFC inscritos no cancelados del SAT.
44cfdi:ReceptorNombreThis attribute must be in the SAT list of registered, non-canceled RFCs.CFDI40144El campo Nombre del receptor, debe encontrarse en la lista de RFC inscritos no cancelados en el SAT.
45cfdi:ReceptorNombreThis attribute must belong to the name associated with the RFC in the Rfc attribute of the Receptor node.CFDI40145El campo Nombre del receptor, debe pertenecer al nombre asociado al RFC registrado en el campo Rfc del Receptor.
46cfdi:ReceptorNombreIf this attribute is "PUBLICO EN GENERAL", the recipient's RFC attribute must be "XAXX010101000".CFDI40146El campo RFC del receptor debe contener el valor "XAXX010101000".
47cfdi:ReceptorDomicilioFiscalReceptorThis attribute must be in the SAT list of registered, non-canceled RFCs.CFDI40147El campo DomicilioFiscalReceptor del receptor, debe encontrarse en la lista de RFC inscritos no cancelados en el SAT.
48cfdi:ReceptorDomicilioFiscalReceptorThis attribute must belong to the name associated with the RFC in the Rfc attribute of the Receptor node.CFDI40148El campo DomicilioFiscalReceptor del receptor, debe pertenecer al nombre asociado al RFC registrado en el campo Rfc del Receptor.
49cfdi:ReceptorDomicilioFiscalReceptorIf the Rfc attribute of the recipient is "XAXX010101000" or "XEXX010101000", this attribute must equal the LugarExpedicion attribute.CFDI40149El campo DomicilioFiscalReceptor, no es igual al valor del campo LugarExpedicion.
50cfdi:ReceptorResidenciaFiscalThis attribute must contain a value from the c_Pais catalog.CFDI40150El campo ResidenciaFiscal, no contiene un valor del catálogo c_Pais.
51cfdi:ReceptorResidenciaFiscalIf the recipient's RFC is registered with the SAT or is the generic domestic RFC, this attribute must NOT be present.CFDI40151El RFC del receptor es de un RFC registrado en el SAT o un RFC genérico nacional y existe el campo ResidenciaFiscal.
52cfdi:ReceptorResidenciaFiscalThe value can't be MEX.CFDI40152El valor del campo ResidenciaFiscal no puede ser MEX.
53cfdi:ReceptorResidenciaFiscalIf the recipient's RFC is the generic foreign RFC and the CFDI includes the Comercio Exterior complement (Comercio Exterior: the CFDI foreign trade complement for exports; complement: complemento, an XML extension the SAT defines for specific operations), or the NumRegIdTrib attribute is present, this attribute must be present.CFDI40153Se debe registrar un valor de acuerdo al catálogo c_Pais en en el campo ResidenciaFiscal, cuando en el en el campo NumRegIdTrib se registre información.
54cfdi:ReceptorNumRegIdTribIf the recipient's RFC is in the SAT list of registered, non-canceled RFCs or is the generic domestic RFC, this attribute must not be present.CFDI40154El valor del campo es un RFC inscrito no cancelado en el SAT o un RFC genérico nacional, y se registró el campo NumRegIdTrib.
55cfdi:ReceptorNumRegIdTribIf the recipient's RFC is the generic foreign RFC and the CFDI includes the Comercio Exterior complement, this attribute must be present.CFDI40155Para registrar el campo NumRegIdTrib, el CFDI debe contener el complemento de comercio exterior y el RFC del receptor debe ser un RFC genérico extranjero.
56cfdi:ReceptorNumRegIdTribThis attribute must match the pattern in the Formato de Registro de Identidad Tributaria (tax ID format) column that the SAT publishes in the c_Pais catalog.CFDI40156El campo NumRegIdTrib no cumple con el patrón correspondiente.
57cfdi:ReceptorRegimenFiscalReceptorThis attribute must contain a value from the c_RegimenFiscal catalog.CFDI40157El campo RegimenFiscalR, no contiene un valor del catálogo c_RegimenFiscal.
58cfdi:ReceptorRegimenFiscalReceptorThe tax regime in this attribute must match the recipient's person type.CFDI40158La clave del campo RegimenFiscalR debe corresponder con el tipo de persona (física o moral).
59cfdi:ReceptorRegimenFiscalReceptorIf the Rfc attribute of the Receptor contains "XAXX010101000" or "XEXX010101000", this attribute must contain the key "616".CFDI40159La clave del campo RegimenFiscalR no corresponde de acuerdo al RFC del receptor.
60cfdi:ReceptorUsoCFDIThis attribute must contain a value from the c_UsoCFDI catalog.CFDI40160El campo UsoCFDI, no contiene un valor del catálogo c_UsoCFDI.
61cfdi:ReceptorUsoCFDIThe value in this attribute must apply to the recipient's person type and tax regime according to the c_UsoCFDI catalog.CFDI40161La clave del campo UsoCFDI debe corresponder con el tipo de persona (física o moral) y el régimen correspondiente conforme al catálogo c_UsoCFDI.
62cfdi:Conceptos/ConceptoClaveProdServThis attribute must contain a value from the c_ClaveProdServ catalog.CFDI40162El campo ClaveProdServ, no contiene un valor del catálogo c_ClaveProdServ.
63cfdi:Conceptos/ConceptoClaveProdServThe complements that the c_ClaveProdServ catalog indicates for this value must be present.CFDI40163No existe el complemento requerido para el valor de ClaveProdServ.
64cfdi:Conceptos/ConceptoClaveProdServThe transferred and/or withheld taxes that the c_ClaveProdServ catalog indicates for this value must be present.CFDI40164No está declarado el impuesto relacionado con el valor de ClaveProdServ.
65cfdi:Conceptos/ConceptoClaveUnidadThis attribute must contain a value from the c_ClaveUnidad catalog.CFDI40165El campo ClaveUnidad no contiene un valor del catálogo c_ClaveUnidad.
66cfdi:Conceptos/ConceptoValorUnitarioThe value must be greater than zero (0) when the CFDI type (the TipoDeComprobante key: I income, the regular sales invoice; E credit note; T transfer, moves goods without a sale; N payroll; P payment) is income, credit note, or payroll.CFDI40166El valor valor del campo ValorUnitario debe ser mayor que cero (0) cuando el tipo de comprobante es Ingreso, Egreso o Nomina.
67cfdi:Conceptos/ConceptoImporteThe value must be greater than or equal to the lower limit and less than or equal to the upper limit.CFDI40167El valor del campo Importe no se encuentra entre el limite inferior y superior permitido.
68cfdi:Conceptos/ConceptoDescuentoThis value can have at most the number of decimal places in the Importe attribute of the line item.CFDI40168El valor del campo Descuento no contiene la misma cantidad de decimales registrados en el campo Importe del concepto.
69cfdi:Conceptos/ConceptoDescuentoThe value must be less than or equal to the Importe attribute.CFDI40169El valor del campo Descuento es mayor que el campo Importe.
70cfdi:Conceptos/ConceptoObjetoImpThis attribute must contain a value from the c_ObjetoImp catalog.CFDI40170El campo ObjetoImp, no contiene un valor del catálogo c_ObjetoImp.
71cfdi:Conceptos/ConceptoObjetoImpIf this attribute contains "02", the Impuestos child node of the Concepto node must be present.CFDI40171El nodo concepto, no contiene el nodo hijo Impuestos.
72cfdi:Conceptos/ConceptoObjetoImpIf this attribute contains "01", "03", "04", or "05", the Impuestos child node of the Concepto node must not be present.CFDI40172El nodo hijo Impuestos del nodo Concepto, no debe existir.
73cfdi:Conceptos/Concepto:ImpuestosImpuestosIf you use the Impuestos node in a line item, it must include transferred taxes and/or withholdings.CFDI40173En caso de utilizar el nodo Impuestos en un concepto, se deben incluir impuestos de traslado y/o retenciones.
74cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoBaseThe value must be greater than zero.CFDI40174El valor del campo Base que corresponde a Traslado debe ser mayor que cero.
75cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoImpuestoThis attribute must contain a value from the c_Impuesto catalog.CFDI40175El valor del campo Impuesto que corresponde a Traslado no contiene un valor del catálogo c_Impuesto.
76cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoTipoFactorThis attribute must contain a value from the c_TipoFactor catalog.CFDI40176El valor del campo TipoFactor que corresponde a Traslado no contiene un valor del catálogo c_TipoFactor.
77cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoTipoFactorIf the value is Exento (exempt), the TasaOCuota and Importe attributes must not be present.CFDI40177Si el valor registrado en el campo TipoFactor que corresponde a Traslado es Exento no se deben registrar los campos TasaOCuota ni Importe.
78cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoTipoFactorIf the value is Tasa (rate) or Cuota (fixed amount), the TasaOCuota and Importe attributes must be present.CFDI40178Si el valor registrado en el campo TipoFactor que corresponde a Traslado es Tasa o Cuota, se deben registrar los campos TasaOCuota e Importe.
79cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoTasaOCuotaIf the value is fixed, it must be a value from the c_TasaOCuota catalog, it must match the tax in the Impuesto attribute, and the factor must match the TipoFactor attribute.CFDI40179El valor del campo TasaOCuota que corresponde a Traslado no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango.
80cfdi:Conceptos/Concepto:Impuestos:Traslados/TrasladoImporteThe value must be greater than or equal to the lower limit and less than or equal to the upper limit.CFDI40180El valor del campo Importe o que corresponde a Traslado no se encuentra entre el limite inferior y superior permitido.
81cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionBaseThe value must be greater than zero.CFDI40181El valor del campo Base que corresponde a Retención debe ser mayor que cero.
82cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionImpuestoThis attribute must contain a value from the c_Impuesto catalog.CFDI40182El valor del campo Impuesto que corresponde a Retención no contiene un valor del catálogo c_Impuesto.
83cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionTipoFactorThis attribute must contain a value from the c_TipoFactor catalog.CFDI40183El valor del campo TipoFactor que corresponde a Retención no contiene un valor del catálogo c_TipoFactor.
84cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionTipoFactorThe value must be other than Exento (exempt).CFDI40184Si el valor registrado en el campo TipoFactor que corresponde a Retención debe ser distinto de Exento.
85cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionTasaOCuotaIf the value is fixed, it must be a value from the c_TasaOCuota catalog, it must match the tax in the Impuesto attribute, and the factor must match the TipoFactor attribute.CFDI40185El valor del campo TasaOCuota que corresponde a Retención, no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango.
86cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionImporteThe value must be greater than or equal to the lower limit and less than or equal to the upper limit.CFDI40186El valor del campo Importe que corresponde a Retención no se encuentra entre el limite inferior y superior permitido.
87cfdi:Conceptos/Concepto:ACuentaTercerosRfcACuentaTercerosIf this attribute is other than "EXT990101NI1", it must be in the l_LCO list.CFDI40187El valor registrado en el campo RfcACuentaTerceros, no se encuentra en la lista l_LCO.
88cfdi:Conceptos/Concepto:ACuentaTercerosRfcACuentaTercerosThe value must be different from the values in the Rfc attributes of the Emisor and Receptor nodes.CFDI40188El valor del campo RfcACuentaTerceros, debe ser diferente de los valores de los campos Rfc del Emisor y Receptor.
89cfdi:Conceptos/Concepto:ACuentaTercerosNombreACuentaTercerosIf the RfcACuentaTerceros attribute is other than "EXT990101NI1", this attribute must be in the SAT list of registered, non-canceled RFCs; otherwise, it must contain the description "EXPEDICIÓN DE CFDI POR RESIDENTES EN MÉXICO QUE PRESTAN SERVICIOS DE INTERMEDIACIÓN ENTRE TERCEROS A OFERENTES DE BIENES Y SERVICIOS RESIDENTES EN EL EXTRANJERO" (issuance of CFDIs by Mexican residents that provide intermediation services between third parties to providers of goods and services resident abroad).CFDI40189El valor registrado debe encontrarse en la lista de RFC inscritos no cancelados en el SAT, en otro caso debe contener la descripción “EXPEDICIÓN DE CFDI POR RESIDENTES EN MÉXICO QUE PRESTAN SERVICIOS DE INTERMEDIACIÓN ENTRE TERCEROS A OFERENTES DE BIENES Y SERVICIOS RESIDENTES EN EL EXTRANJERO”.
90cfdi:Conceptos/Concepto:ACuentaTercerosNombreACuentaTercerosThis attribute must belong to the name associated with the RFC in the Rfc attribute of the ACuentaTerceros node.CFDI40190El campo NombreACuentaTerceros, debe pertenecer al nombre asociado al RFC registrado en el campo Rfc del tercero.
91cfdi:Conceptos/Concepto:ACuentaTercerosRegimenFiscalACuentaTercerosThis attribute must contain a value from the c_RegimenFiscal catalog.CFDI40191El campo RegimenFiscalACuentaTerceros, no contiene un valor del catálogo c_RegimenFiscal.
92cfdi:Conceptos/Concepto:ACuentaTercerosDomicilioFiscalACuentaTercerosThe value of this attribute must be in the SAT list of registered, non-canceled RFCs.CFDI40192El valor registrado en el atributo DomicilioFiscalACuentaTerceros, debe encontrarse en la lista de RFC inscritos no cancelados en el SAT.
93cfdi:Conceptos/Concepto:ACuentaTercerosDomicilioFiscalACuentaTercerosThe value of this attribute must belong to the name associated with the RFC in the RfcACuentaTerceros attribute of the ACuentaTerceros node; if RfcACuentaTerceros is "EXT990101NI1", this attribute must equal the "LugarExpedicion" attribute.CFDI40193El valor registrado en el atributo DomicilioFiscalACuentaTerceros, debe pertenecer al nombre asociado al RFC registrado en el campo Rfc del tercero, o debe ser igual al valor del atributo "LugarExpedicion".
94cfdi:Conceptos/Concepto:InformacionAduaneraNumeroPedimentoThis attribute must meet the defined validation rules.CFDI40194El número de pedimento es inválido.
95cfdi:Conceptos/Concepto:InformacionAduaneraNumeroPedimentoNumeroPedimento must not be present if the CFDI includes the Comercio Exterior complement.CFDI40195El NumeroPedimento no debe existir si se incluye el complemento de comercio exterior.
96cfdi:Conceptos/Concepto:ParteClaveProdServThis attribute must contain a value from the c_ClaveProdServ catalog.CFDI40196El campo ClaveProdServ, no contiene un valor del catálogo c_ClaveProdServ.
97cfdi:Conceptos/Concepto:ParteValorUnitarioThe value of this attribute must be greater than zero (0).CFDI40197El valor del campo ValorUnitario debe ser mayor que cero (0).
98cfdi:Conceptos/Concepto:ParteImporteThe value must be greater than or equal to the lower limit and less than or equal to the upper limit.CFDI40198El valor del campo Importe no se encuentra entre el limite inferior y superior permitido.
99cfdi:Conceptos/Concepto:Parte:InformacionAduaneraNumeroPedimentoThis attribute must meet the defined validation rules.CFDI40199El número de pedimento es inválido.
100cfdi:Conceptos/Concepto:Parte:InformacionAduaneraNumeroPedimentoNumeroPedimento must not be present if the CFDI includes the Comercio Exterior complement.CFDI40200El NumeroPedimento no debe existir si se incluye el complemento de comercio exterior.
101cfdi:ImpuestosImpuestosWhen TipoDeComprobante is T or P, this element must not be present.CFDI40201Cuando el TipoDeComprobante sea T o P, el elemento Impuestos no debe existir.
102cfdi:ImpuestosTotalImpuestosRetenidosThis value can have at most the decimal places the currency supports.CFDI40202El valor del campo TotalImpuestosRetenidos debe tener hasta la cantidad de decimales que soporte la moneda.
103cfdi:ImpuestosTotalImpuestosRetenidosThe value must equal the sum of the amounts in the Retencion child element.CFDI40203El valor del campo TotalImpuestosRetenidos debe ser igual a la suma de los importes registrados en el elemento hijo Retencion.
104cfdi:ImpuestosTotalImpuestosTrasladadosThis value can have at most the decimal places the currency supports.CFDI40204El valor del campo TotalImpuestosTrasladados debe tener hasta la cantidad de decimales que soporte la moneda.
105cfdi:ImpuestosTotalImpuestosTrasladadosThe value must equal the sum of the amounts in the Traslado child element.CFDI40205El valor del campo TotalImpuestosTrasladados no es igual a la suma de los importes registrados en el elemento hijo Traslado.
106cfdi:Impuestos:RetencionesRetencionesThe TotalImpuestosRetenidos attribute must be present.CFDI40206Debe existir el campo TotalImpuestosRetenidos.
107cfdi:Impuestos:Retenciones/RetencionImpuestoThis attribute must contain a value from the c_Impuesto catalog.CFDI40207El campo Impuesto no contiene un valor del catálogo c_Impuesto.
108cfdi:Impuestos:Retenciones/RetencionImpuestoThere must be only one entry for each withheld tax.CFDI40208Debe haber sólo un registro por cada tipo de impuesto retenido.
109cfdi:Impuestos:Retenciones/RetencionImporteThe TotalImpuestosRetenidos attribute must be present.CFDI40209Debe existir el campo TotalImpuestosRetenidos.
110cfdi:Impuestos:Retenciones/RetencionImporteThis value can have at most the decimal places the currency supports.CFDI40210El valor del campo Importe correspondiente a Retención debe tener hasta la cantidad de decimales que soporte la moneda.
111cfdi:Impuestos:Retenciones/RetencionImporteThe value must equal the rounded sum of the withheld tax amounts in the line items whose tax matches the Impuesto attribute of this element.CFDI40211El campo Importe correspondiente a Retención no es igual al redondeo de la suma de los importes de los impuestos retenidos registrados en los conceptos donde el impuesto sea igual al campo impuesto de este elemento.
112cfdi:Impuestos:TrasladosTrasladosThe TotalImpuestosTrasladados attribute must be present when there are line items with a TipoFactor other than Exento (exempt).CFDI40212Debe existir el campo TotalImpuestosTrasladados.
113cfdi:Impuestos:Traslados/TrasladoTrasladoIf all line items have TipoFactor Exento (exempt), this node must have only the Base, Impuesto, and TipoFactor attributes.CFDI40213Deben exitir los campos Base, Impuesto y TipoFactor
114cfdi:Impuestos:Traslados/TrasladoBaseThis value can have at most the decimal places the currency supports.CFDI40214El valor del campo Importe correspondiente a Traslado debe tener hasta la cantidad de decimales que soporte la moneda.
115cfdi:Impuestos:Traslados/TrasladoBaseThe value must equal the rounded sum of the Base attributes of the transferred taxes in the line items whose tax matches the Impuesto attribute of this element and whose TasaOCuota matches the TasaOCuota attribute of this element.CFDI40215El campo Importe correspondiente a Traslado no es igual al redondeo de la suma de los importes de las bases trasladados registrados en los conceptos donde el impuesto del concepto sea igual al campo impuesto de este elemento y la TasaOCuota del concepto sea igual al campo TasaOCuota de este elemento.
116cfdi:Impuestos:Traslados/TrasladoBaseIf all line items have TipoFactor Exento (exempt), the sum of this attribute must equal the rounded sum of the Base attributes in the line items.CFDI40216El importe del campo Base correspondiente a Traslado no es igual al redondeo de la suma de los importes de las bases trasladados registrados en los conceptos.
117cfdi:Impuestos:Traslados/TrasladoImpuestoThis attribute must contain a value from the c_Impuesto catalog.CFDI40217El campo Impuesto no contiene un valor del catálogo c_Impuesto.
118cfdi:Impuestos:Traslados/TrasladoImpuestoThere must be only one entry with the same combination of tax, factor, and rate for each transferred tax.CFDI40218Debe haber sólo un registro con la misma combinación de impuesto, factor y tasa por cada traslado.
119cfdi:Impuestos:Traslados/TrasladoTasaOCuotaThe value must be a catalog value where the tax column matches the Impuesto attribute and the factor column matches the TipoFactor attribute.CFDI40219El valor seleccionado debe corresponder a un valor del catalogo donde la columna impuesto corresponda con el campo impuesto y la columna factor corresponda con el campo TipoFactor.
120cfdi:Impuestos:Traslados/TrasladoImporteThis value can have at most the decimal places the currency supports.CFDI40220El valor del campo Importe correspondiente a Traslado debe tener hasta la cantidad de decimales que soporte la moneda.
121cfdi:Impuestos:Traslados/TrasladoImporteThe value must equal the rounded sum of the transferred tax amounts in the line items whose tax matches the Impuesto attribute of this element and whose TasaOCuota matches the TasaOCuota attribute of this element.CFDI40221El campo Importe correspondiente a Traslado no es igual al redondeo de la suma de los importes de los impuestos trasladados registrados en los conceptos donde el impuesto del concepto sea igual al campo impuesto de este elemento y la TasaOCuota del concepto sea igual al campo TasaOCuota de este elemento.
122ComprobanteExportacionWhen the Exportacion attribute contains the key "01" or "03" of the c_Exportacion catalog, the Comercio Exterior complement must not be present.CFDI40222El complemento de Comercio Exterior no debe existir cuando el campo Exportacion contenga un valor igual a "01" o “03” del catálogo de CFDI c_Exportacion.
123cfdi:Conceptos/Concepto:ACuentaTercerosRegimenFiscalACuentaTercerosIf the RfcACuentaTerceros attribute contains "EXT990101NI1", this attribute must contain the key "616".CFDI140223El valor registrado en el atributo RegimenFiscalACuentaTerceros es distinto a “616”.
124cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionImpuestoIf the issuer's RFC has the Retención (withholding) flag set to "1" in the SAT list of registered, non-canceled RFCs, the "RegimenFiscal" attribute of the Emisor node is "626", the "Rfc" attribute of the "Emisor" node is 13 characters long (individual), and the "Rfc" attribute of the "Receptor" node is 12 characters long (legal entity), the "Retenciones" node can be present as long as the "Impuesto" attribute of the "Retencion" node is other than 001 (ISR: Mexico's income tax, Impuesto Sobre la Renta).CFDI140224El valor 001 (ISR) en el atributo "Impuesto" del nodo hijo “Retencion” del elemento “Retenciones” a nivel Concepto no debe existir.
125cfdi:Conceptos/Concepto:Impuestos:Retenciones/RetencionImpuestoIf the issuer's RFC has the Retención (withholding) flag set to "2" in the SAT list of registered, non-canceled RFCs, the RegimenFiscal attribute of the Emisor node is 626, the "Rfc" attribute of the "Emisor" node is 13 characters long (individual), and the "Rfc" attribute of the "Receptor" node is 12 characters long (legal entity), the "Retenciones" node must be present with at least one "Retencion" child node with 001 (ISR) in the "Impuesto" attribute, and the "TasaOCuota" attribute must contain 0.0125.CFDI140225Debe existir el valor 001 (ISR) y en el atributo “TasaOCuota” se debe registrar el valor 0.0125 en el atributo “Impuesto” del nodo hijo “Retencion” del elemento “Retenciones” a nivel Concepto.
126cfdi:Conceptos/ConceptoObjetoImpIf this attribute contains "06" or "08", the Impuestos child node of the Concepto node must not have "Retencion" or "Traslado" child nodes with "002" and/or "003" in the "Impuesto" attribute; the "Retenciones" node can be present, with at least one "Retencion" child node with "001" in the "Impuesto" attribute.CFDI140226Cuando en el campo ObjetoImp se registre el valor "06" o "08", los valores "002" (IVA) y/o "003" (IEPS) en el campo "Impuesto" de los nodo hijos “Retencion” y/o "Traslado" del elemento “Retenciones” y/o "Traslados" a nivel Concepto no deben existir.
127cfdi:Conceptos/ConceptoObjetoImpIf this attribute contains "07", the Impuestos child node of the Concepto node must not have "Retencion" or "Traslado" child nodes with "002" in the "Impuesto" attribute; the "Retenciones" node can be present, with at least one "Retencion" child node with "001" in the "Impuesto" attribute; a "Traslado" child node with "003" in the "Impuesto" attribute must be present; and a "Retencion" child node with "003" in the "Impuesto" attribute can be present.CFDI140227Cuando en el campo ObjetoImp se registre el valor "07", el valor "002" (IVA) en el campo "Impuesto" de los nodos hijo “Retencion” y/o "Traslado" del elemento “Retenciones” y/o "Traslados" a nivel Concepto no debe existir; debe existir el valor "003" (IEPS) en el campo “Impuesto” del nodo hijo "Traslado" del elemento "Traslados" a nivel Concepto.
128Unclassified errorUnclassifiedUnclassified error.CFDI40999Error no clasificado.

Was this page helpful?