| ✓ CFDI40101 |
| (Comprobante-Fecha) Este debe cumplir con el patrón (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]) y debe corresponder con la hora local donde se expide el comprobante. |
| |
| ✓ CFDI40102 |
| (Comprobante-Sello) Desencriptar el contenido de este atributo usando el certificado incluido en el atributo "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. |
| |
| ✓ CFDI40103 |
| (Comprobante-FormaPago) Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante. |
| |
| ✓ CFDI40104 |
| (Comprobante-FormaPago) Este atributo, debe contener un valor del catálogo c_FormaPago. |
| |
| ✓ CFDI40105 |
| (Comprobante-FormaPago) Este atributo debe contener el valor “99” cuando el atributo MetodoPago contenga el valor “PPD”. |
| |
| ✓ CFDI40107 |
| (Comprobante-SubTotal) El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. |
| |
| ✓ CFDI40108 |
| (Comprobante-SubTotal) Cuando el TipoDeComprobante sea I, E o N, el importe registrado en el atributo debe ser igual al redondeo de la suma de los importes de los conceptos registrados. |
| |
| ✓ CFDI40109 |
| (Comprobante-SubTotal) Si el comprobante es T o P el importe debe ser 0, o cero con decimales. |
| |
| ✓ CFDI40110 |
| (Comprobante-Descuento) El valor registrado debe ser menor o igual que el atributo Subtotal. |
| |
| ✓ CFDI40111 |
| (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 al redondeo de la suma de los atributos Descuento registrados en los conceptos; en otro caso se debe omitir este atributo. |
| |
| ✓ CFDI40112 |
| (Comprobante-Descuento) El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. |
| |
| ✓ CFDI40113 |
| (Comprobante-Moneda) Este atributo, debe contener un valor del catálogo c_Moneda. |
| |
| ✓ CFDI40114 |
| (Comprobante-TipoCambio) Si este atributo es MXN, puede omitirse el atributo TipoCambio, pero si se incluye, debe tener el valor "1". |
| |
| ✓ CFDI40115 |
| (Comprobante-TipoCambio) Este atributo es requerido cuando el atributo Moneda tenga un valor distinto de MXN y XXX. |
| |
| ✓ CFDI40116 |
| (Comprobante-TipoCambio) Este atributo no se debe registrar cuando el atributo Moneda tenga el valor XXX. |
| |
| ✓ CFDI40117 |
| (Comprobante-TipoCambio) Este atributo debe cumplir con el patrón [0-9]{1,18}(.[0-9]{1,6})?. |
| |
| ✓ CFDI40119 |
| (Comprobante-Total) Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos trasladados - federales y/o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos y/o locales. |
| |
| ✓ CFDI40121 |
| (Comprobante-TipoDeComprobante) Este atributo, debe contener un valor del catálogo c_TipoDeComprobante. |
| |
| ✓ CFDI40122 |
| (Comprobante-Exportacion) Atributo requerido para expresar si el comprobante ampara una operación de exportación. |
| |
| ✓ CFDI40123 |
| (Comprobante-Exportacion) Este atributo, debe contener un valor del catálogo c_Exportacion. |
| |
| ✓ CFDI40124 |
| (Comprobante-MetodoPago) Este atributo, debe contener un valor del catálogo c_MetodoPago. |
| |
| ✓ CFDI40125 |
| (Comprobante-MetodoPago) Se debe omitir el atributo MetodoPago cuando el TipoDeComprobante es T o P. |
| |
| ✓ CFDI40126 |
| (Comprobante-LugarExpedicion) Este atributo, debe contener un valor del catálogo c_CodigoPostal. |
| |
| ✓ CFDI40127 |
| (Comprobante-Confirmacion) Este atributo no debe existir cuando los atributos TipoCambio y/o Total están dentro del rango permitido. |
| |
| ✓ CFDI40130 |
| (InformacionGlobal) Este Nodo debe existir siempre que el atributo TipoDeComprobante sea “I”, y el atributo Rfc del nodo receptor contiene el valor "XAXX010101000" y el valor del atributo Nombre del nodo Receptor contiene el valor “PUBLICO EN GENERAL”. |
| |
| ✓ CFDI40140 |
| (Emisor-RegimenFiscal) Este atributo, debe contener un valor del catálogo c_RegimenFiscal. |
| |
| ✓ CFDI40141 |
| (Emisor-RegimenFiscal) El régimen fiscal que se registre en este atributo debe corresponder con el tipo de persona del emisor. |
| |
| ✓ CFDI40142 |
| (Emisor-FacAtrAdquirente) Este atributo, debe contener el número de operación siempre que la respuesta del servicio del Validador de RFC para emitir facturas a través del adquirente, sea en sentido positivo. |
| |
| ✓ CFDI40146 |
| (Receptor-Nombre) Si el valor registrado en este atributo es “PUBLICO EN GENERAL”, el valor del atributo RFC del receptor debe ser “XAXX010101000”. |
| |
| ✓ CFDI40147 |
| (Receptor-DomicilioFiscalReceptor) Este atributo, debe encontrarse en la lista de RFC inscritos no cancelados en el SAT. |
| |
| ✓ CFDI40148 |
| (Receptor-DomicilioFiscalReceptor) Este atributo, debe pertenecer al nombre asociado al RFC registrado en el atributo Rfc del Nodo Receptor. |
| |
| ✓ CFDI40149 |
| (Receptor-DomicilioFiscalReceptor) Si el valor del atributo Rfc del receptor es "XAXX010101000" o "XEXX010101000", este atributo debe ser igual al valor del atributo LugarExpedicion. |
| |
| ✓ CFDI40150 |
| (Receptor-ResidenciaFiscal) Este atributo, debe contener un valor del catálogo c_Pais. |
| |
| ✓ CFDI40151 |
| (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. |
| |
| ✓ CFDI40152 |
| (Receptor-ResidenciaFiscal) El valor del atributo no puede ser MEX. |
| |
| ✓ CFDI40153 |
| (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. |
| |
| ✓ CFDI40154 |
| (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. |
| |
| ✓ CFDI40155 |
| (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. |
| |
| ✓ CFDI40157 |
| (Receptor-RegimenFiscalReceptor) Este atributo, debe contener un valor del catálogo c_RegimenFiscal. |
| |
| ✓ CFDI40158 |
| (Receptor-RegimenFiscalReceptor) El régimen fiscal que se registre en este atributo debe corresponder con el tipo de persona del receptor. |
| |
| ✓ CFDI40159 |
| (Receptor-RegimenFiscalReceptor) Si el atributo Rfc del Receptor contiene el valor “XAXX010101000” o el valor “XEXX010101000” en este atributo se debe registrar la clave “616” |
| |
| ✓ CFDI40160 |
| (Receptor-UsoCFDI) Este atributo, debe contener un valor del catálogo c_UsoCFDI. |
| |
| ✓ CFDI40161 |
| (Receptor-UsoCFDI) El valor que se registre en este atributo debe aplicar para el tipo de persona del receptor y el régimen correspondiente conforme al catálogo c_UsoCFDI. |
| |
| ✓ CFDI40162 |
| (Concepto-ClaveProdServ) Este atributo, debe contener un valor del catálogo c_ClaveProdServ.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40164 |
| (Concepto-ClaveProdServ) Deben existir los impuestos trasladados y/o retenidos que señale el catálogo c_ClaveProdServ aplicables para este atributo.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40165 |
| (Concepto-ClaveUnidad) Este atributo, debe contener un valor del catálogo c_ClaveUnidad.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40166 |
| (Concepto-ValorUnitario) El valor de este atributo debe ser mayor que cero (0) cuando el tipo de comprobante es Ingreso, Egreso o Nomina.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40167 |
| (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.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40168 |
| (Concepto-Descuento) El valor de este atributo debe tener hasta la cantidad de decimales que se tengan registrados en el atributo Importe del concepto.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40169 |
| (Concepto-Descuento) El valor registrado debe ser menor o igual al atributo Importe. |
| |
| ✓ CFDI40170 |
| (Concepto-ObjetoImp) Este atributo, debe contener un valor del catálogo c_ObjetoImp. |
| |
| ✓ CFDI40171 |
| (Concepto-ObjetoImp) Si este atributo contiene el valor "02" el nodo hijo Impuestos del nodo concepto debe existir.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40172 |
| (Concepto-ObjetoImp) Si este atributo contiene el valor "01", "03" o "04", el nodo hijo Impuestos del nodo Concepto no debe existir.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40173 |
| (Impuestos) En caso de utilizar el nodo Impuestos en un concepto, se deben incluir impuestos de traslado y/o retenciones.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40174 |
| (Traslado-Base) El valor debe ser mayor que cero.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40175 |
| (Traslado-Impuesto ) Este atributo, debe contener un valor del catálogo c_Impuesto.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40176 |
| (Traslado-TipoFactor) Este atributo, debe contener un valor del catálogo c_TipoFactor.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40177 |
| (Traslado-TipoFactor) Si el valor registrado es Exento no se deben registrar los atributos TasaOCuota ni Importe.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40178 |
| (Traslado-TipoFactor) Si el valor registrado es Tasa o Cuota, se deben registrar los atributos TasaOCuota e Importe.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40179 |
| (Traslado-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.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40180 |
| (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.
{Impuesto Trasladado #1 del Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40226 |
| (Concepto-ObjetoImp) Si este atributo contiene el valor “06" o “08", en el nodo hijo Impuestos del nodo Concepto no deben existir los nodos hijo “Retencion” y “Traslado” con el atributo “Impuesto” con el valor "002" y/o "003"; puede existir el nodo “Retenciones”, con al menos un nodo hijo “Retencion” con el valor "001" en el atributo “Impuesto”.
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40227 |
| (Concepto-ObjetoImp) Si este atributo contiene el valor “07", en el nodo hijo Impuestos del nodo Concepto no deben existir los nodos hijo “Retencion” y “Traslado” con el atributo “Impuesto” con el valor "002"; puede existir el nodo “Retenciones”, con al menos un nodo hijo “Retencion” con el valor "001" en el atributo “Impuesto”; debe existir el nodo hijo “Traslado” con el valor "003" en el atributo “Impuesto” y puede existir el nodo hijo "Retencion" con el valor "003" en el atributo "Impuesto" .
{Concepto #1 con ClaveProdServ : "39131700" y NoIdentificacion: "BRY71530FR"} |
| |
| ✓ CFDI40201 |
| (Impuestos) Cuando el TipoDeComprobante sea T o P, este elemento no debe existir. |
| |
| ✓ CFDI40202 |
| (Impuestos-TotalImpuestosRetenidos) El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. |
| |
| ✓ CFDI40203 |
| (Impuestos-TotalImpuestosRetenidos) El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Retencion. |
| |
| ✓ CFDI40204 |
| (Impuestos-TotalImpuestosTrasladados) El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. |
| |
| ✓ CFDI40205 |
| (Impuestos-TotalImpuestosTrasladados) El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Traslado. |
| |
| ✓ CFDI40212 |
| (Traslados) Debe existir el atributo TotalImpuestosTrasladados, cuando existan conceptos con un TipoFactor distinto a Exento. |
| |
| ✓ CFDI40218 |
| (Traslado-Impuesto) Debe haber sólo un registro con la misma combinación de impuesto, factor y tasa por cada traslado. |
| |
| ✓ CFDI40213 |
| (Traslado) En el caso de que sólo existan conceptos con TipoFactor Exento, en este nodo solo deben existir los atributos Base, Impuesto y TipoFactor.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40214 |
| (Traslado-Base) El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40215 |
| (Traslado-Base) Debe ser igual al redondeo de la suma de los importes de los atributos Base 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.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40216 |
| (Traslado-Base) En caso de que solo existan conceptos con TipoFactor Exento, la suma de este atributo debe ser igual al redondeo de la suma de los importes de los atributos Base registrados en los conceptos.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40217 |
| (Traslado-Impuesto) Este atributo, debe contener un valor del catálogo c_Impuesto. |
| |
| ✓ CFDI40219 |
| (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.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40220 |
| (Traslado-Importe) El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40221 |
| (Traslado-Importe) Debe ser 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 atributo impuesto de este elemento y la TasaOCuota del concepto sea igual al atributo TasaOCuota de este elemento.
{Impuesto Trasladado #1} |
| |
| ✓ CFDI40222 |
| (Comprobante-Exportacion) Cuando el atributo Exportacion contenga la clave “01” o “03” del catálogo de CFDI c_Exportacion, el complemento de Comercio Exterior no debe existir. |
| |