Implementación de reglas de validación CFDI ver. 3.3
Reachcore ha finalizado con la implementación de las Reglas de validación que el SAT requiere que los Proveedores de Certificación de Comprobantes Fiscales Digitales por Internet (PCCFDI) realicen antes de certificar (timbrar) un CFDI para la versión 3.3.
En esta página están publicadas las reglas que son verificadas en el ambiente piloto.
Ajustes realizados:
- Se actualizan los mensajes de error al certificar (timbrar) un CFD versión 3.3.
Actualización liberada el 29 de mayo del 2017
# | Elemento | Atributo | Regla de validación | Código | Mensaje error | Detalle error |
---|---|---|---|---|---|---|
1 | Comprobante | Fecha | El atributo cfdi:Comprobante:fecha debe cumplir con el patrón [0-9]{4}-(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]) y debe corresponder con la hora local donde se expide el comprobante. | CFDI33101 | El campo Fecha no cumple con el patrón requerido. | El valor del atributo (cfdi:Comprobante:fecha) no cumple con el patrón requerido. |
2 | Comprobante | Sello | Desencriptar el contenido de este atributo usando el certificado incluido en el campo "Certificado". Generar la cadena original del comprobante. Aplicar el algoritmo de digestión SHA-256. El resultado de la digestión debe ser igual al resultado de la desencripción del sello. | CFDI33102 | El resultado de la digestión debe ser igual al resultado de la desencripción del sello. | El valor del atributo (cfdi:Comprobante:Sello) no es válido al desencriptarlo con el certificado definido en el atributo (cfdi:Comprobante:Certificado) |
3 | Comprobante | FormaPago | Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante. | CFDI33103 | Si existe el complemento para recepción de pagos el campo FormaPago no debe existir. | Cuando existe el complemento Recepción de pagos (cfdi:Comprobante:Complemento:pago10:Pagos), no debe existir el atributo (cfdi:Comprobante:FormaPago) |
4 | Comprobante | FormaPago | El atributo cfdi:Comprobante:FormaPago, debe contener un valor del catálogo c_FormaPago. | CFDI33104 | El campo FormaPago no contiene un valor del catálogo c_FormaPago. | El valor del atributo (cfdi:Comprobante:FormaPago) debe tener una clave del catálogo c_FormaPago |
5 | Comprobante | Certificado | El campo debe contener un archivo .cer válido. | CFDI33105 | EL certificado no cumple con alguno de los valores permitidos. | El valor del atributo (cfdi:Comprobante:Certificado) debe ser el certificado en base64 del Certificado de Sello Digital (CSD) |
6 | Comprobante | SubTotal | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda | CFDI33106 | El valor de este campo SubTotal excede la cantidad de decimales que soporta la moneda. | El valor del atributo (cfdi:Comprobante:SubTotal) debe tener hasta la cantidad de decimales que soporte la moneda. |
7 | Comprobante | SubTotal | Cuando el TipoDeComprobante sea I, E o N, el importe registrado en el atributo debe ser igual a la suma de los importes de los conceptos registrados | CFDI33107 | El TipoDeComprobante es I,E o N, el importe registrado en el campo no es igual a la suma de los importes de los conceptos registrados. | Cuando el valor del atributo (cfdi:Comprobante:TipoDeComprobante) sea "I" (ingreso), "E" (Egreso) o "N" (Nómina), el valor del atributo (cfdi:Comprobante:SubTotal) debe ser igual a la suma de los atributos (cfdi:Comprobante:Conceptos:Concepto:Importe). |
8 | Comprobante | SubTotal | Si el comprobante es T o P el importe debe ser 0, o cero con decimales. | CFDI33108 | El TipoDeComprobante es T o P y el importe no es igual a 0, o cero con decimales. | Cuando el valor del atributo(cfdi:Comprobante:TipoDeComprobante) sea "T" (traslado) o "P" (pago), el valor del atributo (cfdi:Comprobante:Subtotal) debe ser igual a 0 (cero). , |
9 | Comprobante | Descuento | El valor registrado debe ser menor o igual que el atributo Subtotal. | CFDI33109 | El valor registrado en el campo Descuento no es menor o igual que el campo Subtotal. | El valor del atributo (cfdi:Comprobante:Descuento) debe ser menor o igual al valor del atributo (cfdi:Comprobante:Subtotal). |
10 | Comprobante | Descuento | Cuando el TipoDeComprobante sea I, E o N y algún concepto incluya el atributo Descuento, debe existir este atributo y debe ser igual a la suma de los atributos Descuento registrados en los conceptos; en otro caso se debe omitir este atributo | CFDI33110 | El TipoDeComprobante no es I,E o N, y un concepto incluye el campo descuento. | Cuando el valor del atributo(cfdi:Comprobante:TipoDeComprobante) sea ""T""(Traslado) o ""P""(Pago), no debe de existir el atributo (cfdi:Comprobante:Descuento). |
11 | Comprobante | Descuento | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33111 | El valor del campo Descuento excede la cantidad de decimales que soporta la moneda. | El valor del atributo (cfdi:Comprobante:Descuento) debe de tener el máximo de decimales para la moneda. |
12 | Comprobante | Moneda | El atributo cfdi:Comprobante:Moneda, debe contener un valor del catálogo c_Moneda. | CFDI33112 | El campo Moneda no contiene un valor del catálogo c_Moneda. | Debe existir el atributo (cfdi:Comprobante:Moneda) |
13 | Comprobante | TipoCambio | Si el atributo cfdi:Comprobante:Moneda es MXN, puede omitirse el atributo TipoCambio, pero si se incluye, debe tener el valor "1". | CFDI33113 | El campo TipoCambio no tiene el valor "1" y la moneda indicada es MXN. | Si el valor del atributo (cfdi:Comprobante:Moneda) es "MXN", puede omitirse el atributo (cfdi:Comprobante:TipoCambio); en caso de existir el atributo, el valor debe ser "1". |
14 | Comprobante | TipoCambio | El atributo cfdi:Comprobante:TipoCambio es requerido cuando el atributo cfdi:Comprobante:Moneda tenga un valor distinto de MXN y XXX. | CFDI33114 | El campo TipoCambio se debe registrar cuando el campo Moneda tiene un valor distinto de MXN y XXX. | Cuando el valor del atributo (cfdi:Comprobante:Moneda) es diferente de "MXN" o "XXX", debe existir el atributo (cfdi:Comprobante:TipoCambio) |
15 | Comprobante | TipoCambio | El atributo cfdi:Comprobante:TipoCambio no se debe registrar cuando el atributo cfdi:Comprobante:Moneda tenga el valor XXX. | CFDI33115 | El campo TipoCambio no se debe registrar cuando el campo Moneda tiene el valor XXX. | Cuando el valor del atributo (cfdi:Comprobante:Moneda) no es "XXX", no debe existir el atributo (cfdi:Comprobante:TipoCambio) |
16 | Comprobante | TipoCambio | El atributo cfdi:Comprobante:TipoCambio debe cumplir con el patrón [0-9]{1,14}(.([0-9]{1,6}))?. | CFDI33116 | El campo TipoCambio no cumple con el patrón requerido. | El valor del atributo (cfdi:Comprobante:TipoCambio) no cumple con el patrón definido (14 cifras antes del punto decimal y hasta 6 decimales) |
17 | Comprobante | TipoCambio | Si el valor está fuera del porcentaje aplicable a la moneda tomado del catálogo c_Moneda, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion | CFDI33117 | Cuando el valor del campo TipoCambio se encuentre fuera de los límites establecidos, debe existir el campo Confirmacion. | Cuando el valor del atributo (cfdi:Comprobante:TipoCambio) esta fuera del porcenaje definido para la moneda denifida en el atributo (cfdi:Comprobante:Moneda), el atributo (cfdi:Comprobante:Confirmacion) debe tener un valor válido asigando por el PCCFDI. |
18 | Comprobante | Total | Atributo requerido para representar 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 | CFDI33118 | El 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. | El valor del atributo (cfdi:Comprobante:Total) debe ser igual a la sumatoria de los atributos (cfdi:Comprobante:Subtotal) menos (cfdi:Comprobante:Descuento) más (cfdi:Comprobante:Impuestos:TotalImpuestosTrasladados) menos (cfdi:Comprobante:Impuestos:TotalImpuestosRetenidos) |
19 | Comprobante | Total | Si el valor es superior al límite que establezca el SAT en la Resolución Miscelánea Fiscal vigente, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion. | CFDI33119 | Cuando el valor del campo Total se encuentre fuera de los límites establecidos, debe existir el campo Confirmacion. | Cuando el valor del atributo (cfdi:Comprobante:Total) supera el limite definido por el SAT, el atributo (cfdi:Comprobante:Confirmacion) debe tener un valor válido asigando por el PCCFDI. |
20 | Comprobante | TipoDeComprobante | El atributo cfdi:Comprobante:TipoDeComprobante, debe contener un valor del catálogo c_TipoDeComprobante. | CFDI33120 | El campo TipoDeComprobante, no contiene un valor del catálogo c_TipoDeComprobante. | El valor del atributo (cfdi:Comprobante:TipoDeComprobante) debe tener una clave del catálogo c_TipoDeComprobante |
21 | Comprobante | MetodoPago | El atributo cfdi:Comprobante:MetodoPago, debe contener un valor del catálogo c_MetodoPago. | CFDI33121 | El campo MetodoPago, no contiene un valor del catálogo c_MetodoPago. | El valor del atributo (cfdi:Comprobante:MetodoPago) debe tener una clave del catálogo catCFDI:c_MetodoPago. |
22 | Comprobante | MetodoPago | En el caso de que el método de pago sea “Pago inicial y parcialidades” se debe incluir el complemento de recepcion de pagos | CFDI33122 | Cuando se tiene el valor PIP en el campo MetodoPago y el valor en el campo TipoDeComprobante es I ó E, el CFDI debe contener un complemento de recibo de pago. | Cuando el valor del atribuo (cfdi:Comprobante:MetodoPago) es "PIP" (Pago inicial y parcialidades) y el valor del atributo (cfdi:Comprobante:TipoComprobante) es "I" (Ingreso) o "E" (Egreso), debe existir el complemento Recepción de Pagos (cfdi:Comprobante:Complemento:pago10:Pagos) |
23 | Comprobante | MetodoPago | Se debe omitir el atributo MetodoPago cuando el TipoDeComprobante es T o P | CFDI33123 | Se debe omitir el campo MetodoPago cuando el TipoDeComprobante es T o P. | Cuando el valor del atributo (cfdi:Comprobante:TipoDeComprobante) sea "T" (traslado) o "P" (pagos), no debe existir el atributo (cfdi:Comprobante:MetodoPago) |
24 | Comprobante | MetodoPago | Si existe el complemento para recepción de pagos en este CFDI este atributo no debe existir. | CFDI33124 | Si existe el complemento para recepción de pagos en este CFDI el campo MetodoPago no debe existir. | El atributo (cfdi:Comprobante:MetodoPago) no debe existir o debe tener el valor "PIP" (pago inicial y parcialidades) si existe el complemento Recepción de Pagos (cfdi:Comprobante:Complemento:pago10:Pagos). |
25 | Comprobante | LugarExpedicion | El atributo cfdi:Comprobante:LugarExpedicion, debe contener un valor del catálogo c_LugarExpedicion. | CFDI33125 | El campo LugarExpedicion, no contiene un valor del catálogo c_CodigoPostal. | El valor del atributo (cfdi:Comprobante:LugarExpedicion) debe tener una clave del catálgo c_LugarExpedicion |
26 | Comprobante | Confirmacion | este atributo no debe existir cuando los atributios TipoCambio y/o Total están dentro del rango permitido | CFDI33126 | El campo Confirmacion no debe existir cuando los atributos TipoCambio y/o Total están dentro del rango permitido. | El atributo (cfdi:Comprobante:Confirmacion) no debe existir cuando el valor del atributo (cfdi:Comprobante:TipoCambio) o (cfdi:Comprobante:Total) están en el rango permitido. |
27 | Comprobante | Confirmacion | El Proveedor de Certificación debe verificar que el emisor le haya solicitado esta clave de confirmación. | CFDI33127 | Número de confirmación inválido. | El valor del atributo (cfdi:Comprobante:Confirmacion) no existe en los registros de Reachcore (Advantage Security) |
28 | Comprobante | Confirmacion | El Proveedor de Certificación debe verificar que la clave de confirmación no se utilice en más de un comprobante. | CFDI33128 | Número de confirmación utilizado previamente. | El valor del atributo (cfdi:Comprobante:Confirmacion) ya fue usado previamante. |
29 | Comprobante/CfdiRelacionados | TipoRelacion | El atributo cfdi:Comprobante:TipoRelacion, debe contener un valor del catálogo c_TipoRelacion. | CFDI33129 | El campo TipoRelacion, no contiene un valor del catálogo c_TipoRelacion. | El valor del atributo (cfdi:Comprobante:CfdiRelacionados:TipoRelacion) debe tener una clave del catálgo c_TipoRelacion |
30 | Comprobante/Emisor | RegimenFiscal | El atributo cfdi:Comprobante:Emisor:RegimenFiscal, debe contener un valor del catálogo c_RegimenFiscal. | CFDI33130 | El campo RegimenFiscal, no contiene un valor del catálogo c_RegimenFiscal. | El valor del atributo (cfdi:Comprobante:Emisor:RegimenFiscal) debe tener una clave del catálgo c_RegimenFiscal |
31 | Comprobante/Emisor | RegimenFiscal | El régimen fiscal que se registre en este atributo debe corresponder con el tipo de persona del emisor | CFDI33131 | La clave del campo RegimenFiscal debe corresponder con el tipo de persona (fisica o moral). | El valor del atributo (cfdi:Comprobante:Emisor:RegimenFiscal) debe corresponder al tipo de persona (fisica o moral). |
32 | Comprobante/Receptor | Rfc | En el elemento cfdi:Comprobante Nodo: Receptor, cuando no se utilice un RFC genérico, el RFC debe estar en la lista de RFC inscritos no cancelados en el SAT. | CFDI33132 | Este RFC del receptor no existe en la lista de RFC inscritos no cancelados del SAT. | El valor del atributo (cfdi:Comprobante:Receptor:Rfc) debe existir en la lista de RFC inscritos, no cancelados (l_RFC) publicada por el SAT. |
33 | Comprobante/Receptor | ResidenciaFiscal | El atributo cfdi:Comprobante:Receptor:ResidenciaFiscal, debe contener un valor del catálogo c_Pais. | CFDI33133 | El campo ResidenciaFiscal, no contiene un valor del catálogo c_Pais. | El valor del atributo (cfdi:Comprobante:Receptor:ResidenciaFiscal) debe tener una clave del catálogo c_Pais |
34 | Comprobante/Receptor | ResidenciaFiscal | Si el RFC del receptor es de un RFC registrado en el SAT o un RFC genérico nacional, este atributo NO debe existir | CFDI33134 | El RFC del receptor es de un RFC registrado en el SAT o un RFC genérico nacional y existe el campo ResidenciaFiscal. | Cuando el valor del atributo (cfdi:Comprobante:Receptor:Rfc) es "XAXX01010100" o esta en la lista de RFC inscritos, no cancelados (l_RFC), no debe existir el atributo (cfdi:Comprobante:Receptor:ResidenciaFiscal) |
35 | Comprobante/Receptor | ResidenciaFiscal | El valor del atributo no puede ser MEX | CFDI33135 | El valor del campo ResidenciaFiscal no puede ser MEX. | El valor del atributo (cfdi:Comprobante:Receptor:ResidenciaFiscal) no puede tener el valor "MEX" |
36 | Comprobante/Receptor | ResidenciaFiscal | Si el RFC del receptor es un RFC genérico extranjero y el comprobante incluye el complemento de comercio exterior, o se registró el atributo NumRegIdTrib, este atributo debe existir | CFDI33136 | Se 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. | Cuando el valor del atributo (cfdi:Comprobante:Receptor:Rfc) es "XEXX01010100" y existe el Complemento de Comercio Exterior (cfdi:Comprobante:Complementos:cce11:ComercioExterior) o existe en atributo (cfdi:Comprobante:Receptor:NumRegIdTrib), debe existir el atributo (cfdi:Comprobante:Receptor:ResidenciaFiscal). |
37 | Comprobante/Receptor | NumRegIdTrib | Si el valor del atributo es un RFC inscrito no cancelado en el SAT o un RFC genérico nacional, no se debe registrar este atributo. | CFDI33137 | El valor del campo es un RFC inscrito no cancelado en el SAT o un RFC genérico nacional, y se registró el campo NumRegIdTrib. | Cuando el valor del atributo (cfdi:Comprobante:Receptor:Rfc) es "XAXX01010100" o esta en la lista de RFC inscritos, no cancelados (l_RFC), no debe existir el atributo (cfdi:Comprobante:Receptor:NumRegIdTrib) |
38 | Comprobante/Receptor | NumRegIdTrib | Si el RFC del receptor es un RFC genérico extranjero y el comprobante incluye el complemento de comercio exterior, debe existir este atributo. | CFDI33138 | Para 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. | Cuando el valor del atributo (cfdi:Comprobante:Receptor:Rfc) es "XEXX01010100" y existe el Complemento de Comercio Exterior (cfdi:Comprobante:Complementos:cce11:ComercioExterior), debe existir el atributo (cfdi:Comprobante:Receptor:NumRegIdTrib) |
39 | Comprobante/Receptor | NumRegIdTrib | El atributo debe cumplir con el patrón correspondiente incluido en la columna “Formato de Registro de Identidad Tributaria” que publique en el catalogo de C_Pais. | CFDI33139 | El campo NumRegIdTrib no cumple con el patrón correspondiente. | El valor del atributo (cfdi:Comprobante:Receptor:NumRegIdTrib) debe cumplir con el patron definido para el pais definido en el atributo (cfdi:Comprobante:Receptor:ResidenciaFiscal) |
40 | Comprobante/Receptor | UsoCFDI | El atributo cfdi:Comprobante:Receptor:UsoCFDI, debe contener un valor del catálogo c_UsoCFDI. | CFDI33140 | El campo UsoCFDI, no contiene un valor del catálogo c_UsoCFDI. | El valor del atributo (cfdi:Comprobante:Receptor:UsoCFDI) debe tener una clave del catálogo c_UsoCFDI |
41 | Comprobante/Receptor | UsoCFDI | El valor que se registre en este atributo debe aplicar para el tipo de persona del receptor | CFDI33141 | La clave del campo UsoCFDI debe corresponder con el tipo de persona (fisica o moral). | El valor del atributo (cfdi:Comprobante:Receptor:UsoCFDI) debe corresponder al tipo de persona (fisica o moral) con base al valor del atributo (cfdi:Comprobante:Receptor:Rfc) |
42 | Comprobante/Conceptos/Concepto | ClaveProdServ | El atributo cfdi:Comprobante:Concepto:ClaveProdServ, debe contener un valor del catálogo c_ClaveProdServ. | CFDI33142 | El campo ClaveProdServ, no contiene un valor del catálogo c_ClaveProdServ. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ClaveProdServ) debe tener una clave del catálogo c_ClaveProdServ |
43 | Comprobante/Conceptos/Concepto | ClaveProdServ | Deben existir los complementos que señale el catálogo c_ClaveProdServ aplicables para este atributo. | CFDI33143 | No existe el complemento requerido para el valor de ClaveProdServ. | Se deben incluir los complementos [lista complementos], conforme a la clave indicado en el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ClaveProdServ) |
44 | Comprobante/Conceptos/Concepto | ClaveProdServ | Deben existir los impuestos trasladados y/o retenidos que señale el catálogo c_ClaveProdServ aplicables para este atributo. | CFDI33144 | No está declarado el impuesto relacionado con el valor de ClaveProdServ. | Se deben incluir impuestos [retenidos/trasadados], conforme a la clave indicado en el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ClaveProdServ) |
45 | Comprobante/Conceptos/Concepto | ClaveUnidad | El atributo cfdi:Comprobante:Concepto:ClaveUnidad debe contener un valor del catálogo c_ClaveUnidad. | CFDI33145 | El campo ClaveUnidad no contiene un valor del catálogo c_ClaveUnidad. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ClaveUnidad)debe tener una clave del catálogo c_ClaveUnidad |
46 | Comprobante/Conceptos/Concepto | ValorUnitario | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda | CFDI33146 | El valor del campo ValorUnitario debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ValorUnitario) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
47 | Comprobante/Conceptos/Concepto | ValorUnitario | El valor de este atributo debe ser mayor que cero (0) cuando el tipo de comprobante es Ingreso, Egreso o Nomina | CFDI33147 | El valor valor del campo ValorUnitario debe ser mayor que cero (0) cuando el tipo de comprobante es Ingreso, Egreso o Nomina. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ValorUnitario) debe ser mayor de 0 (cero) cuando el valor del atributo (cfdi:Comprobante:TipoComprobante) es "I" (ingreso), "E" (egreso) o "N" (nómina) |
48 | Comprobante/Conceptos/Concepto | Importe | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33148 | El valor del campo Importe debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Importe) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
49 | Comprobante/Conceptos/Concepto | Importe | El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior | CFDI33149 | El valor del campo Importe no se encuentra entre el limite inferior y superior permitido. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Importe) debe ser mayor o igual que el limite inferior y menor o igual al limite superior. |
50 | Comprobante/Conceptos/Concepto | Descuento | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33150 | El valor del campo Descuento debe tener hasta la cantidad de decimales que tenga registrado el atributo importe del concepto. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Descuento) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
51 | Comprobante/Conceptos/Concepto | Descuento | El valor registrado debe ser menor o igual al atributo Importe. | CFDI33151 | El valor del campo Descuento es mayor que el campo Importe. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Descuento) debe ser menor o igual al valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Importe) |
52 | Comprobante/Conceptos/Concepto/ Impuestos | --- | En caso de utilizar el nodo Impuestos en un concepto, se deben incluir impuestos de traslado y/o retenciones | CFDI33152 | En caso de utilizar el nodo Impuestos en un concepto, se deben incluir impuestos de traslado y/o retenciones. | Cuando exista el elemento (cfdi:Comprobante:Conceptos:Concepto:Impuesto), se debe de incluir ya sea el elemento (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados) o (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Retenciones) |
53 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | Base | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33153 | El valor del campo Base que corresponde a Traslado debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:Base) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
54 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | Base | El valor debe ser mayor que cero | CFDI33154 | El valor del campo Base que corresponde a Traslado debe ser mayor que cero. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:Base) debe ser mayor de 0 (cero) |
55 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | Impuesto | El atributo Impuesto debe contener un valor del catálogo c_Impuesto. | CFDI33155 | El valor del campo Impuesto que corresponde a Traslado no contiene un valor del catálogo c_Impuesto. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:Impuesto) debe tener una clave del catálogo c_Impuesto |
56 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | TipoFactor | El atributo TipoFactor debe contener un valor del catálogo c_TipoFactor. | CFDI33156 | El valor del campo TipoFactor que corresponde a Traslado no contiene un valor del catálogo c_TipoFactor. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:TipoFactor) debe tener una clave del catálogo c_TipoFactor |
57 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | TipoFactor | Si el valor registrado es Exento no se deben registrar los atributos TasaOCuota ni Importe. | CFDI33157 | Si el valor registrado en el campo TipoFactor que corresponde a Traslado es Exento no se deben registrar los campos TasaOCuota ni Importe. | Cuando el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:TipoFactor) es "Exento", no deben existir los atributos (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:TasaOCuota) ni (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:Importe) |
58 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | TipoFactor | Si el valor registrado es Tasa o Cuota, se deben registrar los atributos TasaOCuota e Importe. | CFDI33158 | Si el valor registrado en el campo TipoFactor que corresponde a Traslado es Tasa o Cuota, se deben registrar los campos TasaOCuota e Importe. | Cuando el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:TipoFactor) es "Tasa" o "Cuota", deben existir los atributos (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:TasaOCuota) y (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:Importe) |
59 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | TasaOCuota | El atributo TasaOCuota debe contener un valor del catálogo c_TasaOCuota. | CFDI33159 | El valor del campo TasaOCuota que corresponde a Traslado no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:TasaCuota) debe tener una clave del catálogo c_TasaCuota |
60 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | Importe | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33160 | El valor del campo Importe que corresponde a Traslado debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Traslados:Traslado:Importe) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
61 | Comprobante/Conceptos/Concepto/ Impuestos/Traslados/Traslado | Importe | El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior | CFDI33161 | El valor del campo Importe o que corresponde a Traslado no se encuentra entre el limite inferior y superior permitido. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:Importe) debe ser mayor o igual que el limite interior y menor o igual al limite superior. |
62 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | Base | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33162 | El valor del campo Base que corresponde a Retención debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Retenciones:Retencion:Base) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
63 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | Base | El valor debe ser mayor que cero | CFDI33163 | El valor del campo Base que corresponde a Retención debe ser mayor que cero. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Retenciones:Retencion:Base) debe ser mayor de 0 (cero). |
64 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | Impuesto | El atributo Impuesto debe contener un valor del catálogo c_Impuesto. | CFDI33164 | El valor del campo Impuesto que corresponde a Retención no contiene un valor del catálogo c_Impuesto. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:Impuesto) debe tener una clave del catálogo c_Impuesto |
65 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | TipoFactor | El atributo TipoFactor debe contener un valor del catálogo c_TipoFactor. | CFDI33165 | El valor del campo TipoFactor que corresponde a Retención no contiene un valor del catálogo c_TipoFactor. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion[]:Impuesto) debe tener una clave del catálogo c_Impuesto |
66 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | TipoFactor | El valor registrado debe ser distinto de Exento | CFDI33166 | Si el valor registrado en el campo TipoFactor que corresponde a Retención debe ser distinto de Exento. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Retenciones:Retencion:TipoFactor) debe ser diferente del valor "Exento" |
67 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | TasaOCuota | Si el valor registrado es fijo debe corresponder a un valor del catálogo c_TasaOCuota, coincidir con el tipo de impuesto registrado en el atributo Impuesto y el factor debe corresponder con el atributo TipoFactor. Entre 0 y 0.16. | CFDI33167 | El valor del campo TasaOCuota que corresponde a Retención, no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango. | Cuando el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:TipoFactor) es "Fijo", el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:TasaOCuota) debe corresponder los valores de los atributos (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:Impuesto) y (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:TipoFactor) |
68 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | Importe | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33168 | El valor del campo Importe que corresponde a Retención debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Retenciones:Retencion:Importe) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
69 | Comprobante/Conceptos/Concepto/ Impuestos/Retenciones/Retencion | Importe | El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior. | CFDI33169 | El valor del campo Importe que corresponde a Retención no se encuentra entre el limite inferior y superior permitido. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuesto:Retenciones:Retencion:Importe) debe ser mayor o igual que el limite inferior y menor o igual al limite superior. |
70 | Comprobante/Conceptos/Concepto/ InformacionAduanera | NumeroPedimento | El atributo debe cumplir con las reglas de validación definidas | CFDI33170 | El número de pedimento es inválido. | El valor de las posiciones uno y dos del valor del atributo (cfdi:Comprobante:Conceptos:Concepto:InformacionAduanera:NumeroPedimento) deben ser menor o igual que los últimos dos dígitos del año de la fecha actual y deben ser mayor o igual que los últimos dos dígitos del año de la fecha actual menos diez. |
71 | Comprobante/Conceptos/Concepto/ InformacionAduanera | NumeroPedimento | Ell NumeroPedimento no debe existir si se incluye el complemento de comercio exterior | CFDI33171 | El NumeroPedimento no debe existir si se incluye el complemento de comercio exterior. | El atributo (cfdi:Comprobante:Conceptos:Concepto:InformacionAduanera:NumeroPedimento) no debe existir cuando existe el complemento de Comercio Exterior (cfdi:Comprobante:Complementos:cce11:ComercioExterior) |
72 | Comprobante/Conceptos/Concepto/ Parte | ClaveProdServ | El atributo ClaveProdServ, debe contener un valor del catálogo c_ClaveProdServ. | CFDI33172 | El campo ClaveProdServ, no contiene un valor del catálogo c_ClaveProdServ. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:ClaveProdServ) debe tener una clave del catálogo c_ClaveProdServ |
73 | Comprobante/Conceptos/Concepto/ Parte | ValorUnitario | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33173 | El valor del campo ValorUnitario debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Parte[]:ValorUnitario) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
74 | Comprobante/Conceptos/Concepto/ Parte | ValorUnitario | El valor de este atributo debe ser mayor que cero (0) | CFDI33174 | El valor del campo ValorUnitario debe ser mayor que cero (0). | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Parte:ValorUnitario) debe ser mayor de 0 (cero) |
75 | Comprobante/Conceptos/Concepto/ Parte | Importe | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33175 | El valor del campo Importe debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Parte:Importe) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
76 | Comprobante/Conceptos/Concepto/ Parte | Importe | El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior. | CFDI33176 | El valor del campo Importe no se encuentra entre el limite inferior y superior permitido. | El valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Parte:Importe) debe ser mayor o igual que el limite inferior y menor o igual al limite superior. |
77 | Comprobante/Conceptos/Concepto/ Parte/InformacionAduanera | NumeroPedimento | El atributo debe cunplir con las reglas de validación definidas | CFDI33177 | El número de pedimento es inválido. | El valor de las posiciones uno y dos del valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Parte:InformacionAduanera:NumeroPedimento) deben ser menor o igual que los últimos dos dígitos del año de la fecha actual y deben ser mayor o igual que los últimos dos dígitos del año de la fecha actual menos diez. |
78 | Comprobante/Conceptos/Concepto/ Parte/InformacionAduanera | NumeroPedimento | El NumeroPedimento no debe existir si se incluye el complemento de comercio exterior | CFDI33178 | El NumeroPedimento no debe existir si se incluye el complemento de comercio exterior. | El atributo (cfdi:Comprobante:Conceptos:Concepto:Parte:InformacionAduanera:NumeroPedimento) no debe existir cuando existe el complemento de Comercio Exterior (cfdi:Comprobante:Complementos:cce11:ComercioExterior) |
79 | Comprobante/Impuestos | --- | Cuando el TipoDeComprobante sea T o P, este elemento no debe existir. | CFDI33179 | Cuando el TipoDeComprobante sea T o P, el elemento Impuestos no debe existir. | Cuando el valor del atributo (cfdi:Comprobante:TipoDeComprobante) es "T" (traslado), "P" (pago) o "N" (Nómina), el elemento (cfdi:Comprobante:Impuestos) no debe existir. |
80 | Comprobante/Impuestos | TotalImpuestos Retenidos | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33180 | El valor del campo TotalImpuestosRetenidos debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Impuestos:TotalImpuestosRetenidos) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
81 | Comprobante/Impuestos | TotalImpuestos Retenidos | El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Retencion. | CFDI33181 | El valor del campo TotalImpuestosRetenidos debe ser igual a la suma de los importes registrados en el elemento hijo Retencion. | El valor del atributo (cfdi:Comprobante:Impuestos:TotalImpuestosRetenidos) debeser igual a la sumatoria de los atributos (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Importe) |
82 | Comprobante/Impuestos | TotalImpuestos Trasladados | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33182 | El valor del campo TotalImpuestosTrasladados debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Impuestos:TotalImpuestosTrasladados) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
83 | Comprobante/Impuestos | TotalImpuestos Trasladados | El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Traslado | CFDI33183 | El valor del campo TotalImpuestosTrasladados no es igual a la suma de los importes registrados en el elemento hijo Traslado. | El valor del atributo (cfdi:Comprobante:Impuestos:TotalImpuestosTrasladados) debeser igual a la sumatoria de los atributos (cfdi:Comprobante:Impuestos:Traslados:Traslado:Importe) |
84 | Comprobante/Impuestos/ Retenciones | --- | Debe existir el atributo TotalImpuestosRetenidos | CFDI33184 | Debe existir el campo TotalImpuestosRetenidos. | Debe existir el atributo (cfdi:Comprobante:Impuestos:TotalImpuestosRetenidos), debido a que existe el elemento (cfdi:Comprobante:Impuestos:Retenciones) |
85 | Comprobante/Impuestos/ Retenciones/Retencion | Impuesto | El atributo Impuesto debe contener un valor del catálogo c_Impuesto. | CFDI33185 | El campo Impuesto no contiene un valor del catálogo c_Impuesto. | El valor del atributo (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Impuesto) debe tener una clave del catálogo c_Impuesto |
86 | Comprobante/Impuestos/ Retenciones/Retencion | Impuesto | Debe haber sólo un registro por cada tipo de impuesto retenido. | CFDI33186 | Debe haber sólo un registro por cada tipo de impuesto retenido. | Debe existir solo un elemento (cfdi:Comprobante:Impuestos:Retenciones:Retencion) por cada valor en el atributo (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Impuesto) |
87 | Comprobante/Impuestos/ Retenciones/Retencion | Importe | Debe existir el atributo TotalImpuestosRetenidos | CFDI33187 | Debe existir el campo TotalImpuestosRetenidos. | Debe existir el atributo (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Importe) |
88 | Comprobante/Impuestos/ Retenciones/Retencion | Importe | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33188 | El valor del campo Importe correspondiente a Retención debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Importe) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
89 | Comprobante/Impuestos/ Retenciones/Retencion | Importe | Debe ser igual a la suma de los importes de los impuestos retenidos registrados en los conceptos donde el impuesto sea igual al atributo impuesto de este elemento. | CFDI33189 | El campo Importe correspondiente a Retención no es igual a la suma de los importes de los impuestos retenidos registrados en los conceptos donde el impuesto sea igual al campo impuesto de este elemento. | El valor del atributo (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Importe) debe ser igual a la sumatoria de los atributos (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:Importe) en donde es igual el atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:Impuesto) |
90 | Comprobante/Impuestos/ Traslados | --- | Debe existir el atributo TotalImpuestosTrasladados | CFDI33190 | Debe existir el campo TotalImpuestosTrasladados. | Debe existir el atributo (cfdi:Comprobante:Impuestos:TotalImpuestosTrasladados), debido a que existe al menos un elemento (cfdi:Comprobante:Impuestos:Traslados:Traslado) |
91 | Comprobante/Impuestos/ Traslados/Traslado | Impuesto | El atributo Impuesto debe contener un valor del catálogo c_Impuesto. | CFDI33191 | El campo Impuesto no contiene un valor del catálogo c_Impuesto. | El valor del atributo (cfdi:Comprobante:Impuestos:Traslados:Traslado:Impuesto) debe tener una clave del catálogo c_Impuesto |
92 | Comprobante/Impuestos/ Traslados/Traslado | Impuesto | Debe haber sólo un registro con la misma combinación de impuesto, factor y tasa por cada traslado. | CFDI33192 | Debe haber sólo un registro con la misma combinación de impuesto, factor y tasa por cada traslado. | Debe existir solo un elemento (cfdi:Comprobante:Impuestos:Traslados:Traslado) por cada cambanación de los valores en los atributos (cfdi:Comprobante:Impuestos:Traslados:Traslado:Impuesto), (cfdi:Comprobante:Impuestos:Traslados:Traslado:TipoFactor) y (cfdi:Comprobante:Impuestos:Traslados:Traslado:TasaOCuota) |
93 | Comprobante/Impuestos/ Traslados/Traslado | TasaOCuota | El valor seleccionado debe corresponder a un valor del catalogo donde la columna impuesto corresponda con el atributo impuesto y la columna factor corresponda con el atributo TipoFactor | CFDI33193 | El 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. | Cuando el valor del atributo (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:TasaOCuota) debe corresponder con los valores de los atributos (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:Impuesto) y (cfdi:Comprobante:Conceptos:Concepto:Impuestos:Retenciones:Retencion:TipoFactor) |
94 | Comprobante/Impuestos/ Traslados/Traslado | Importe | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. | CFDI33194 | El valor del campo Importe correspondiente a Traslado debe tener hasta la cantidad de decimales que soporte la moneda. | El valor del atributo (cfdi:Comprobante:Impuestos:Retenciones:Retencion:Importe) debe tener la cantidad de decimales soportada conforme a la moneda del atributo (cfdi:Comprobante:Moneda) |
95 | Comprobante/Impuestos/ Traslados/Traslado | Importe | Debe ser igual a la suma de los importes de los impuestos trasladados registrados en los conceptos donde el impuesto del concepto sea igual al atributo impuesto de este elemento y la TasaOCuota del concepto sea igual al atributo TasaOCuota de este elemento. | CFDI33195 | El campo Importe correspondiente a Traslado no es igual a 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. | El valor del atributo (cfdi:Comprobante:Impuestos:Traslados:Traslado:Importe) debe ser igual a la suma de los atributos (cfdi:Conmprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:Importe) en donde el valor de atributo (cfdi:Conmprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:Impuesto) y (cfdi:Conmprobante:Conceptos:Concepto:Impuestos:Traslados:Traslado:TasaOCuota) sean iguales. |
96 | --- | --- | --- | CFDI33196 | Error no identificado | --- |
Regresar