Validaciones adicionales a realizar por el proveedor.
Del Comprobante fiscal digital por Internet:
Fecha | ||
Validar | Al momento de la recepción del archivo XML por parte del Proveedor de Certificación, éste debe verificar que la fecha y hora no debe ser:
|
|
Sello | ||
Validar |
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. |
|
FormaPago | ||
Validar |
Si el valor registrado en el atributo TipoDeComprobante es “T”, “N” o “P” este atributo no debe existir. En caso contrario este atributo debe existir y contener una clave vigente del Catálogo c_FormaPago. El valor de este atributo debe ser “99” cuando el atributo MetodoPago contenga el valor “PPD”. |
|
Certificado | ||
Validar |
El atributo debe contener un archivo .cer válido. El número de certificado registrado en el archivo debe ser igual al registrado en el atributo "NoCertificado". El certificado debe ser emitido por el Servicio de Administración Tributaria. El certificado debe estar vigente a la fecha y hora de expedición del comprobante. El certificado no debe estar revocado a la fecha y hora de expedición del comprobante. El RFC registrado en el certificado debe ser igual al registrado en el emisor del CFDI. El RFC registrado en el certificado puede ser distinto del registrado en el emisor del CFDI, sólo cuando el RFC del emisor se encuentre en la lista de RFC inscritos no cancelados en el SAT y
El certificado debe ser del tipo "Certificado de Sello Digital", excepto cuando el Proveedor de Certificación de CFDI es un proveedor de Certificación y Generación de CFDI para el sector primario o proveedor certificación de expedición de CFDI a través del adquirente de bienes o servicios, en cuyo caso el certificado es un CESD. |
|
SubTotal | ||
Validar | El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. 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. Cuando el TipoDeComprobante sea “T” o “P” el importe registrado en el atributo debe ser igual a cero. | |
Descuento | ||
Validar |
El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. El valor registrado debe ser menor o igual que el atributo Subtotal. 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. |
|
Moneda | ||
Validar |
Si es diferente de MXN y XXX, debe existir el tipo de cambio. Si es XXX no debe existir el tipo de cambio, si es MXN puede omitirse el atributo TipoCambio y si se incluye debe tener el valor "1". Si el TipoDeComprobante es “N”, este atributo debe tener el valor MXN. Tomar del Catálogo c_Moneda la cantidad de decimales que acepta la divisa y los atributos con tipo de dato importe deben ser redondeados hasta esa cantidad de decimales (cero y hasta cuatro decimales). |
|
TipoCambio | ||
Validar |
El tipo de cambio debe tener un valor que se encuentre entre el límite superior mas el valor que se publica para la fecha de la operación y el valor que se publica para la fecha de la operación menos el límite inferior. El límite superior se obtiene multiplicando el valor publicado del tipo de cambio por la suma de uno más el porcentaje aplicable a la moneda tomado del Catálogo c_Moneda. El límite inferior se obtiene multiplicando el valor publicado del tipo de cambio por la suma de uno menos el porcentaje aplicable a la moneda tomado del Catálogo c_Moneda. Si este límite fuera negativo se toma cero. Cuando el valor de este atributo se encuentre fuera de los límites establecidos, debe existir el atributo Confirmacion. |
|
Total | ||
Validar |
El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. Cuando el TipoDeComprobante sea “T” o “P”, el importe registrado en el atributo debe ser igual a cero. El valor del atributo debe ser igual al subtotal menos descuentos 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 federales y/o locales El SAT publica el límite para el valor máximo de este atributo en:
El valor máximo aplicable para el comprobante se determina de la siguiente manera:
|
|
TipoDeComprobante | ||
Validar |
Se debe omitir el atributo CondicionesDePago cuando el TipoDeComprobante es “T”, “P” o “N”. Se debe omitir el atributo Descuento de los conceptos cuando el TipoDeComprobante es “T” o “P”. Se debe omitir el elemento Impuestos cuando el TipoDeComprobante es “T”, “P” o “N”. Se debe omitir los atributos FormaPago y MetodoPago cuando el TipoDeComprobante es “T”o “P”. |
|
Exportacion | ||
Validar |
Este atributo debe contener una clave vigente delz Catálogo c_Exportacion. Si el atributo contiene el valor “02” debe existir el Complemento para Comercio Exterior |
|
MetodoPago | ||
Validar |
Si el valor registrado en el atributo TipoDeComprobante es “T” o “P” este atributo no debe existir. En caso contrario este atributo debe existir y contener una clave vigente del Catálogo c_MetodoPago. |
|
LugarExpedicion | ||
Validar | Debe corresponder con una clave vigente de código postal incluida en el Catálogo c_CodigoPostal publicado en la página del SAT . | |
Confirmacion | ||
Validar |
Si los atributos TipoCambio y Total están dentro del rango válido, no debe existir este atributo. El Proveedor de Certificación debe verificar que el emisor le haya solicitado esta clave de confirmación y que no se utilice en más de un comprobante. El Proveedor de Certificación debe enviar una notificación al emisor de que ya se utilizó esta clave de confirmación. |
|
Elemento: Comprobante Nodo: InformacionGl obal |
||
Periodicidad | ||
validar |
Este atributo debe contener una clave vigente del Catálogo c_Periodicidad. Si el valor de este atributo contiene la clave “05” el atributo RegimenFiscal debe contener el valor “621”. |
|
Meses | ||
Validar |
Este atributo debe contener una clave vigente del Catálogo c_Meses. Si el atributo Periodicidad contiene el valor “05”, este atributo debe contener alguno de los valores “13”, “14”, “15”, “16”, “17” o “18”. Si el atributo Periodicidad contiene un valor diferente de “05”, este atributo debe contener alguno de los valores “01”, “02”, “03”, “04”, “05”, “06”, “07”, “08”, “09”, “10”, “11” o “12”. |
|
Año | ||
Validar | El valor de este atributo debe ser igual al año en curso o al año inmediato anterior. Para validar el año en curso o el año inmediato anterior se debe considerar el registrado en el atributo Fecha. | |
Elemento: Comprobante Nodo: Emisor Atributos: |
||
Rfc | ||
Validar | Se deben considerar aplicar las reglas de validación que se indican en el Anexo 29 aplicables para este atributo | |
Nombre | ||
Validar | El valor de este atributo debe encontrarse en la lista de RFC inscritos no cancelados en el SAT y debe estar asociado a la clave de RFC registrado en el atributo Rfc del Nodo Emisor. | |
RegimenFiscal | ||
Validar |
Este atributo debe contener una clave vigente del Catálogo c_RegimenFiscal. El régimen fiscal que se registre en este atributo debe corresponder con el tipo de persona del emisor, es decir, si el RFC tiene longitud de 12 posiciones, debe ser de persona moral y si tiene longitud de 13 posiciones debe ser de persona física. |
|
FacAtrAdqui rente | ||
Validar | El valor de este atributo debe existir siempre que la respuesta del servicio del Validador de RFC para emitir facturas a través del adquirente, sea en sentido positivo. | |
Elemento: Comprobante Nodo: Receptor Atributos: |
||
Rfc | ||
Validar | Cuando no se utilice un RFC genérico, el RFC debe estar en la lista de RFC inscritos no cancelados en el SAT . | |
Nombre | ||
Validar |
El valor de este atributo debe encontrarse en la lista de RFC inscritos no cancelados en el SAT y debe estar asociado a la clave de RFC registrado en el atributo Rfc del Nodo Receptor. Si el valor registrado en el atributo Rfc del nodo Receptor es “XAXX010101000” o “XEXX010101000”, el valor de este atributo no debe validarse en la la lista de RFC inscritos no cancelados en el SAT Si el valor registrado en este atributo es “PUBLICO EN GENERAL”, el valor “XAXX010101000” debe existir en el atributo Rfc del nodo Receptor. |
|
DomicilioFiscal Receptor | ||
Validar |
El valor de este atributo debe encontrarse en la lista de RFC inscritos no cancelados en el SAT y debe estar asociado a la clave de RFC registrado en el atributo Rfc del Nodo Receptor Si el valor del atributo Rfc del receptor es XAXX010101000 o XEXX010101000, este atributo debe ser igual al valor del atributo LugarExpedicion. |
|
ResidenciaFiscal | ||
Validar |
Si el RFC del receptor es de un RFC registrado en el SAT o un RFC genérico nacional, no se debe registrar este atributo. Si el RFC del receptor es de un RFC registrado en el SAT o un RFC genérico nacional, no se debe registrar este atributo. |
|
NumRegIdTrib | ||
Validar |
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. Si no existe el atributo ResidenciaFiscal, este atributo puede omitirse. Si el RFC del receptor es un RFC genérico extranjero y el comprobante incluye el complemento de comercio exterior, el atributo debe existir. Si el atributo ResidenciaFiscal corresponde a una clave de país incluida en el Catálogo c_Pais publicado en la página del SAT , se deben verificar las columnas correspondientes a dicha clave:
En otro caso no se aplica esta validación. |
|
RegimenFiscal Receptor | ||
Validar |
Este atributo debe contener una clave vigente en el Catálogo c_RegimenFiscal. El régimen fiscal que se registre en este atributo debe corresponder con el tipo de persona del receptor, es decir, si el RFC tiene longitud de 12 posiciones, debe ser de persona moral y si tiene longitud de 13 posiciones debe ser de persona física. Si el atributo Rfc del nodo Receptor contiene el valor “XAXX010101000” o el valor “XEXX010101000” en este atributo se debe registrar la clave “616”. |
|
UsoCFDI | ||
Valida |
El valor que se registre en este atributo debe aplicar para el tipo de persona del receptor, es decir, si el RFC tiene longitud de 12 posiciones, debe ser de persona moral y si tiene longitud de 13 posiciones debe ser de persona física y el valor registrado en el atributo RegimenFiscalReceptor, debe corresponder a un valor de la columna Régimen Fiscal Receptor del Catálogo c_UsoCFDI. |
|
Elemento: Comprobante Nodo: Conceptos Nodo: Concepto Atributos: |
||
ClaveProdServ | ||
Validar |
Deben existir los complementos que señale el Catálogo c_ClaveProdServ aplicables para este atributo. Deben existir los impuestos trasladados y/o retenidos que señale el Catálogo c_ClaveProdServ aplicables para este atributo. |
|
ClaveUnidad | ||
validar |
Este atributo debe contener una clave vigente del Catálogo c_ClaveUnidad |
|
ValorUnitario | ||
Validar |
Si el TipoDeComprobante es “I”, “E” o “N”, el valor registrado debe ser mayor que cero. |
|
Importe | ||
Validar |
Calcular el límite inferior como: (Cantidad - 10-NumDecimalesCantidad/2)*(ValorUnitario - 10- NumDecimalesValorUnitario/2) y este resultado truncado con la cantidad de decimales que tenga registrado este atributo. Calcular el límite superior como: (Cantidad + 10 -NumDecimalesCantidad /2 -10-12)*(ValorUnitario + 10 -NumDecimalesValorUnitario /2 -10-12) y este resultado redondearlo hacia arriba con la cantidad de decimales que tenga registrado este atributo. El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior Ejemplo: moneda MXN, decimales 2, importe 924.224956 Truncado del importe a 2 decimales: 924.22 Redondeado del importe hacia arriba: 924.23 moneda OMR, decimales 3, importe 281.594680 Truncado del importe a 3 decimales: 281.594 Redondeado del importe hacia arriba: 281.595 |
|
Descuento | ||
Validar |
El valor de este atributo debe contener una clave del Catálogo c_ObjetoImp Si el valor registrado en este atributo es “02” el nodo hijo Impuestos del nodo Concepto debe existir, en caso contrario no debe existir dicho nodo. |
|
Elemento: Comprobante Nodo: Conceptos Nodo: Conceptos Nodo: Impuestos |
||
Validar |
Debe existir al menos uno de los dos elementos hijo. |
|
Elementos: Comprobantes Nodo: Conceptos Nodo: Concepto Nodo: Impuestos Nodo: Traslados Nodo: Traslado Atributos: |
||
Base | ||
Validar | Debe ser mayor que cero. | |
Impuestos | ||
Validar |
Deben existir los atributos para sumarizar el total de impuestos trasladados y el detalle de impuestos trasladados. |
|
TipoFactura | ||
Validar |
Debe ser distinto Exento. |
|
TasaOCuota | ||
Validar |
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. En caso contrario, si el valor registrado es variable debe corresponder al rango entre el valor mínimo y valor máximo señalado en el Catálogo. |
|
Importe | ||
Validar |
Calcular el límite inferior como: (Base - 10-NumDecimalesBase/2)*(TasaOCuota) y este resultado truncado con la cantidad de decimales que tenga registrado este atributo. Calcular el límite superior como: (Base + 10-NumDecimalesBase/2 - 10-12) *(TasaOCuota) y este resultado redondearlo hacia arriba con la cantidad de decimales que tenga registrado este atributo. El valor de este atributo debe ser mayor o igual que el límite inferior y menor o igual que el límite superior Ejemplo: moneda MXN, decimales 2, importe 924.224956 Truncado del importe a 2 decimales: 924.22 Redondeado del importe hacia arriba: 924.23 moneda OMR, decimales 3, importe 281.594680 Truncado del importe a 3 decimales: 281.594 Redondeado del importe hacia arriba: 281.595 |
|
Elementos: Comprobantes Nodo: Conceptos Nodo: Concepto Nodo: ACuentaTerceros Atruibuto: |
||
RfcACuentaTerceros | ||
Validar |
El valor de este atributo debe estar en la l_LCO. Se deben aplicar las reglas de validación que se indican en el Anexo 29 de la RMF, aplicables al Rfc del nodo Emisor. El valor registrado en este atributo deber ser diferente al valor registrado en los atributos Rfc de los nodos Emisor y Receptor. |
|
NombreACuentaTerceros | ||
Validar |
El valor de este atributo debe encontrarse en la lista de RFC inscritos no cancelados en el SAT y debe estar asociado a la clave de RFC registrado en el atributo RfcACuentaTerceros del Nodo ACuentaTerceros. |
|
RegimenFiscalACuentaTerceros | ||
Validar |
Este atributo debe contener una clave vigente del Catálogo c_RegimenFiscal. |
|
DomicilioFiscalACuentaTerceros | ||
Validar |
Este atributo debe contener una clave vigente del Catálogo c_RegimenFiscal. |
|
RegimenFiscalACuentaTerceros | ||
Validar |
El valor de este atributo debe encontrarse en la lista de RFC inscritos no cancelados en el SAT y debe estar asociado a la clave de RFC registrado en el atributo RfcACuentaTerceros del Nodo ACuentaTerceros. |
|
Elementos: Comprobante Nodo: Conceptos Nodo: Concepto Nodo: InformacionAduanera Atributos: |
||
NumeroPedimento | ||
Validar |
Se debe registrar cuando el CFDI no contenga el complemento de comercio exterior (es una venta de primera mano nacional). El valor de las posiciones uno y dos del NumeroPedimento deben ser menor o igual que los últimos dos dígitos del año de la fecha actual. Las posiciones cinco y seis deben corresponder con una clave vigente del Catálogo de aduanas (catCFDI:c_Aduana). Las posiciones nueve a la doce deben corresponder con un número de patente del Catálogo de patentes aduanales (catCFDI:c_PatenteAduanal El valor de los últimos seis dígitos debe estar entre el valor mínimo 1 y el valor máximo de números consecutivos de la columna cantidad del Catálogo catCFDI:c_NumPedimentoAduana que correspondan a los usados por la aduana en ese año. No se debe registrar cuando el CFDI contenga el complemento de comercio exterior. |
|
Elemento: Comprobante Nodo: Conceptos Nodo: Concepto Nodo: Parte Nodo: InformacionAduanera Atributos: |
||
NumeroPedimento | ||
Validar |
Se debe registrar cuando el CFDI no contenga el complemento de comercio exterior (es una venta de primera mano nacional). El valor de las posiciones uno y dos del NumeroPedimento deben ser menor o igual que los últimos dos dígitos del año de la fecha actual. Las posiciones cinco y seis deben corresponder con una clave vigente del Catálogo de aduanas (catCFDI:c_Aduana). Las posiciones nueve a la doce deben corresponder con un número de patente del Catálogo de patentes aduanales (catCFDI:c_PatenteAduanal). El valor de los últimos seis dígitos debe estar entre el valor mínimo 1 y el valor máximo de números consecutivos de la columna cantidad del Catálogo catCFDI:c_NumPedimentoAduana que correspondan a los usados por la aduana en ese año. No se debe registrar cuando el CFDI contenga el complemento de comercio exterior. |
|
Elemento: Comprobante Nodo: impuestos Atributos: |
||
Validar |
Cuando el TipoDeComprobante sea “T” o “P”, este elemento no debe existir |
|
TotalImpuestosRetenidos | ||
Validar |
El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Retenciones. |
|
TotalImpuestosTrasladados | ||
Validar |
El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Traslados. |
|
Elemento: Comprobante Nodo: impuestos Nodo: Retenciones Nodo: Retencion Atributos: |
||
Impuestos | ||
Validar |
El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. El valor de este atributo debe ser igual a la suma de los importes registrados en el elemento hijo Traslados. |
|
Elemento: Comprobante Nodo: impuestos Nodo: Traslados Nodo: Traslado |
||
Validar |
En el caso de que sólo existan conceptos con TipoFactor Exento, en este nodo solo deben existir los atributos Base, Impuesto y TipoFactor. |
|
Elemento: Comprobante Nodo: impuestos Nodo: Traslados Nodo: Traslado Atributos: |
||
Base | ||
Validar |
El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda. Debe ser igual al redondeo de la suma de los importes de los atributos Base 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. 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. |
|
Impuestos | ||
Validar |
Debe haber sólo un registro con la misma combinación de impuesto, factor y tasa por cada traslado. |
|
TasaOCuota | ||
Validar |
El valor seleccionado debe corresponder a un valor donde la columna impuesto corresponda con el atributo impuesto y la columna factor corresponda con el atributo TipoFactor. |
|
Importe | ||
Validar |
Debe existir el atributo TotalImpuestosTrasladados cuando existan conceptos con un TipoFactor distinto a Exento. El valor de este atributo debe tener hasta la cantidad de decimales que soporte la moneda 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 |
|
Elementos: Comprobantes Nodo: Complemento |
||
Validar |
Permite la inclusión del complemento TimbreFiscalDigital y los complementos para el CFDI general, no permite complementos del comprobante retenciones e información de pagos. |
Ver también:
Anexo 20 versión 4.0 Conoce el Anexo 20 versión 4.0 |
|
Estándar Estándar del Anexo 20 Versión 4.0 |
|
Catálogos Catálogos del Anexo 20 Versión 4.0 |
|
Preguntas Catálogos del Anexo 20 Versión 4.0 |
|
Matriz de errores Catálogos del Anexo 20 Versión 4.0 |
|
Guia de llenado Catálogos del Anexo 20 Versión 4.0 |
|
Complemento de Pagos 2.0 Conoce el Complemento de Pagos 2.0 |
|
Listado de complementos Conoce los complementos que puedes incorporar a tu factura |
Software
GNcys Factura Electrónica
CFDI |
Enlaces externos
Portal de trámites y servicios (SAT)
Servicio de Administración Tributaria |