VALIDAR XML 4.0 SAT
Validar XML 4.0 SAT
¿Qué es el SAT?
El Sistema de Administración Tributaria mejor conocido por sus siglas SAT, es una institución que forma parte del Gobierno y se hace cargo de que las personas físicas como morales, participen y se encarguen de las obligaciones tributarias y aduaneras.
El SAT obliga a los contribuyentes a que paguen la cantidad que deben de acuerdo a sus ingresos o el nivel de facturación en el que están, de no ser así, se le exigirá que realice el pago por lo que el Sistema de Administración Tributaria tiene la autoridad de llevar a cabo el procesamiento respectivo. El contribuyente solo cuenta con un periodo de 20 días hábiles para poder desacreditar lo imputado.
¿Qué es el CFDI?
El CFDI mejor conocido por Comprobante Fiscal Digital por Internet, es un comprobante que define un determinado bien y/o servicio que fue adquirido, mencionado la fecha en la que se hizo la transacción, el costo con el que fue comprado y menciona detalladamente los impuestos que corresponden al pago de dicha operación.
¿Qué es la descarga masiva de CFDI?
La descarga masiva de facturas XML es cuando las facturas que son emitidas en un tiempo transcurrido, son consultadas en el SAT. Hoy en día las empresas tienen grandes cantidades de facturas y cada día se facturan millones de ellas, por lo que descargar las facturas de un lapso en específico, puede ser muy tardado y agotador.
Por lo que, las PyMEs ya requieren la descarga masiva de facturas XML aunque este proceso solo se necesita cuando la administración de la empresa necesita información acerca de los CFDI o cuando hay ocasiones especiales como en los que el SAT identifica alguna incoherencia o irregularidad en la contabilidad por lo que se solicita descargar los comprobantes y verificar si es que hay algún error.
¿Qué son las facturas XML?
Primero se debe de mencionar que un Comprobante Fiscal Digital, mejor conocido por sus siglas CFDI, es una factura electrónica que respalda alguna transacción comercial entre un comprador y vendedor, es decir, asegura que un producto y/o servicio se está adquiriendo. Hoy en día sabemos que todos los contribuyentes deben de emitir facturas para poder demostrar los ingresos que son percibidos por las actividades económicas que se llevan a cabo.
Seguramente alguna vez emitiste o recibiste una factura y pudiste haber visto que por parte del proceso de facturación, siempre se generan 2 archivos: La factura en formato PDF y otro en formato XML. Generalmente solo le tomamos importancia al archivo PDF porque es un formato común pero en realidad solo se utiliza para poder leer los datos de forma simple, por lo que para la autoridades fiscales, sólo validan el documento si éste está en formato XML del CFDI.
El formato Extensible Markup Language mejor conocido como XML, es un archivo que contiene distintos cifrados tecnológicos o informáticos. Como mencionamos anteriormente, sirve para que ante la autoridad refiriéndonos en este caso al SAT, les pueda ser útil y sea un documento válido. El SAT al momento de hacer una auditoría, mediante los sistemas informáticos, le permite adquirir los documentos de manera ágil para que se pueda comprobar las transacciones que cada contribuyente efectúa.
Cabe destacar que como contribuyente (ya sea persona física o jurídica) tienen la obligación de manejar una contabilidad electrónica y que estén en formato XML para que se pueda comprobar los ingresos y sus transacciones. En efecto, el SAT solo recibe la contabilidad electrónica en formato XML.
¿Cómo puedo verificar las Facturas CFDI?
Es necesario mencionar que para iniciar con este proceso, las facturas electrónicas con otros emisores deben de estar timbradas correctamente y los receptores de los comprobantes no deben ser modificados. Se pueden hacer de 2 maneras, por un Proveedor Autorizado o por medio del SAT.
-Utilizar un facturador electrónico o un Proveedor Autorizado de Certificación
Si decides hacerlo de esta manera, debes de tener conocimiento que todas las facturas deben de estar timbradas mediante un Proveedor Autorizado de Certificación (PAC) o por medio de un Facturador Electrónico como EdiFact para que de esta manera, sepas que los comprobantes emitidos están validados ante el SAT.
Sabemos que es de gran importancia la confianza y tranquilidad que los facturadores electrónicos te deben de brindar, es por eso que EdiFact valida y recepciona de manera ágil e ilimitada todos los CFDI de tus proveedores, el sistema genera y envía un informe detallado de errores o datos faltantes si éste no pasara la validación y de manera automática procesa la validación y recepción de CFDI para poder disminuir la carga y coste del proceso administrativo.
Si quieres conocer contratarlo y conocer más al respecto, te invitamos a visitar el link https://www.edifact.com.mx/validador-v3000

Es decir, si lo que quieres es que tus facturas sean válidas y deducibles, esta es tu mejor alternativa y recuerda que no se debe de modificar el XML pues están desprotegidos.
-Verificar facturas por medio del SAT
Es otra herramienta para poder verificar tus comprobantes fiscales por internet de manera gratuita, es perfecta para poder comprobar que las facturas sean auténticas y que estén correctamente certificadas. A continuación te diremos los pasos para poder verificarlas:
1.- Debes de capturar el folio fiscal, el RFC tanto de quien lo emite como el que recibe la factura. Los folios digitales deben de contener 5 series de caracteres combinando números y letras.
2.- Al terminar el paso anterior, debes de darle click en el botón de “Verificar CFDI”
3.- Posteriormente se generará el resultado de validación, en caso de que sea positivo puedes darle la opción de imprimir, si dio como resultado negativo, te aparecerá el siguiente mensaje “El comprobante no se encuentra registrado en los controles del Servicio de Administración Tributaria”
Como hemos estado mencionando en artículos anteriores, se puede hacer la verificación entre 24 a 72 horas después de que se emita o se reciba el CFDI, por lo que debes de estar pendiente.
-Utilizar un software de administración
Como última herramienta, puedes contar con un software de administración pues tendrás una plataforma completa y vigente para poder verificar tus facturas de manera masiva, de este modo, los sistemas van a examinar la estructura de los archivos XML lo más rápido posible. Si cuentas con esta herramienta tendrás la ventaja de descargar los archivos XML desde el SAT y que sean validadas de forma correcta.
Versión 4.0, ¿Cuáles son los principales cambios?
A partir del 1 de enero de 2022 habrá cambios en la facturación electrónica: Versión 4.0
En donde:
- De forma obligatoria se requiere incorporar el nombre y domicilio fiscal tanto del receptor como del emisor
- Se añaden campos para poder identificar de manera más rápida las operaciones en donde hay exportación de mercancías .
- Se determinan si las operaciones amparadas en el comprobante son objeto de impuestos indirectos
- Se integran apartados con el fin de reportar información correspondiente a las operaciones con el público en general, al igual que las que son realizadas a cuentas de terceras personas.
Retenciones información de pagos
- La versión es de 2.0
- Se integra de manera obligatoria el nombre y domicilio fiscal tanto del receptor como del emisor
- Se puede relacionar con otros comprobantes fiscales
Recepción de pagos
- La versión es de 2.0
- Se integran campos nuevos para poder determinar si las operaciones amparadas en el comprobante son objeto de impuestos indirectos
- Se añade un apartado nuevo con el resumen de los importes totales de los pagos que fueron efectuados siempre y cuando se expresan en la moneda nacional, al igual que los impuestos que fueron trasladados.
Modificación del servicio de cancelación de facturas
Desde el 1 de Enero del 2022 se debe de indicar de manera obligatoria el motivo de la cancelación de los CFDI. Al momento de elegir el motivo de cancelación, se debe de poner
la clave 01 “Comprobante emitido con errores con relación” y se debe relacionar el folio fiscal del comprobante que sustituye al cancelado.
Al igual se modifican los plazos para poder realizar la cancelación de facturas.
¿Cuáles son los ajustes al estándar del CFDI?
Atributos
- Hay actualización de la versión del estándar a 4.0
- El valor prefijado cambia a 4.0
- En la parte de ‘Campo” se describe el tipo de cambio que se utilizará: FIX
- Hay un nuevo atributo requerido para expresar si el comprobante va a amparar una operación de exportación denominado :Exportación”
Elementos
- Es un nuevo nodo condicional que sirve para poder especificar la información con relación a el comprobante digital
- Se añade atributos como la periodicidad, mes y año
Elemento: CfdiRelacionados
- Se modifica la secuencia para que se pueda agregar más de una vez el nodo, de esta manera facilita relacionar un CFDI más de un tipo de relación
Elemento: Emisor
- Es un atributo que deja de ser opcional y cambia a requerido
- Se añade un atributo condicional “FacAtrAdquiriente” en el cual se menciona el número de operación proporcionado por el SAT cuando se trata acerca de un comprobante por medio de un PCECFDI o PCGCFDISP
Elemento: Receptor
- Se modifica de ser opcional a requerido
- Hay un nuevo atributo que sirve para especificar el código postal de un domicilio del receptor “DomicilioFsicalReceptor”
- Hay un nuevo atributo en donde se agrega la clave del régimen del contribuyente emisor “RegimenFiscalR”
- Se modifica el catálogo para poder relacionar el régimen correspondiente al uso del CFDI que le dará el receptor al comprobante “UsoCFDI”
Elemento: Concepto
- Es un atributo que se requiere para poder expresar la operación comercial si es objeto o no de impuesto “Objetolmp”
- Se añade un elemento que sustituye al Complemento ConceptoPorCuentaDeTerceros: “ACuentaTerceros”
Elemento: ACuentaTerceros
- Es un nodo de manera opcional que sirve para poder llevar un control de la información del contribuyente Tercero a cuenta del que se realiza la operación
- Se añaden atributos como:” RfcACuentaTerceros” en donde es una clave que registra el RFC del Tercero, “NombreACuentaTerceros” en donde se registra el nombre o la razón social del Tercero, “RegimenFsicalACuentaTerceros” en donde se agrega la clave del régimen del contribuyente y “DomicilioFiscalACuentaTerceros” en donde se añade el código postal del domicilio.
Elemento: Impuestos
- Es un nodo que se hace requerido en donde se indica que la operación es objeto de impuesto
- Se añade un atributo para mostrar la suma de los atributos Base de los conceptos del impuesto trasladado
Ajustes apartado C y D de la fracción I de Anexo 20
- Hay una modificación en la descripción del código de respuesta
- El esquema se ajusta de tal modo que se incluya el motivo de cancelación y folio fiscal
- Se deberá usar la clave 01 para indicar “Comprobante emitido por errores con relación”, 02 para indicar “Comprobante emitido por errores sin relación”, 03 para indicar que la operación no se llevó a cabo y 04 para determinar que es una operación nominativa con relación a una factura global
Validaciones
Elemento: comprobante
- FormaPago: Si se registra en el atributo TipoDeComprobante “T” o “P”, no debe existir
- Exportación: Si contiene el valor “02” debe existir en el Complemento para Comercio Exterior
- MetodoPago: Si el valor es “T” o “P”, no debe existir
- Nodo: InformacionGlobal: Si el valor contiene XAXX010101000 y el valor contiene “PUBLICO EN GENERAL” el nodo debe existir
- Año: El valor debe de ser igual al año en curso
- Periocidad: Debe contener la clave c_Periocidad
- Meses: Debe tener la clave c_Meses
Nodo: Emisor
- RFC: Se debe tomar en cuenta las reglas para validación indicadas en el Anexo 29
- Nombre: Corresponde al nombre del titular del emisor
- RegimenFsical: Debe tener la clave c_RegimenFiscal
- FacAtrAdquiriente: Debe existir en la respuesta de servicio del Validador de RFC
Nodo: Receptor
- Nombre: Debe encontrarse en la lista de RFC inscritos y debe tener relación con la clave de RFC registrado en RFC de Nodo Receptor
- DomicilioFiscalReceptor: Debe tener la clave de código incluido en el catálogo publicado
- RegimenFiscalR: Debe tener la clave c_RefimenFsical
- UsoCFDI: El valor debe aplicar a el tipo de persona del receptor
Nodo: Concepto
- Objetolmp: El valor que debe contener es c_Objetolmp
- RfcACuentaTerceros: El valor debe ser I_LCO
- NombreACuentaTercero: El valor se encuentra en la lista de RFC del SAT y debe tener el atributo “RfcACuentaTercerios del Nodo ACuentaTerceros
- RegimenFiscalACuentaTerceros: Contiene la clave c_RegimenFiscal
- DomicilioFiscalACuentaTerceros: Debe ser una clave de codigo postal
Nodo: Impuestos
- Nodo: Traslado: Cuando solo hay conceptos en el CFDI con un TipoFactor exento, solo debe existir Base, Impuesto y TipoFactor
- Base: Valor de la cantidad con decimales soportados por la moneda
- Importe: El tributo TotalImpuestosTraslados deben existir conceptos como TipoFactor diferente a exento.
Comprobante que ampara retenciones e información de pagos
Atributos
- Es el estándar del CFDI que ampara retenciones de pagos, los importes son expresado en pesos mexicanos (MXN)
- La versión se actualiza a 2.0
- FolioInt: Se incorpora el Patrón que debe ser aplicado
- No Certificado: Se incorpora el Patrón que debe ser aplicado
- FechaExp: Es un atributo requerido que comunica la fecha y hora en la que se expide el documento para amparar retenciones e información de pagos.
- LugarExpReten: Se proporciona el código postal del lugar de expedición
- DescReten: Es un atributo requerido para expresar la descripción de la retención de pagos
Elemento: CfdiRelacionados
- Es una relación de 1
- TipoRelacion: Es un atributo condicional para señalar la clave de la relación existente entre el este y el comprobante
- UUID: Es un atributo condicional para registrar el folio fiscal del comprobante
Elemento: Emisor
- NomDenRazSocE: Es un atributo condicional para incorporar el nombre o razón social del contribuyente inscrito en el RFC
- Se elimina CURPE
- RegimenFiscalE: Es un atributo condicional para integrar la clave del régimen del contribuyente emisor
Elemento: Receptor
- NomDenRazSocR: Es un atributo condicional para registrar los nombres o razón social inscritos en el RFC del receptor
- DomicilioFiscalR: Es un atributo para registrar el código postal del domicilio fiscal
Elemento: Periodo
- Ejercicio (modificación) : Eliminación del valor mínimo y máximo incluyente
- DomicilioFiscalR: Se registra el código postal del domicilio del receptor
Elemento: Totales
- MontoTotExent: Se modifica el tipo especial a un importe en pesos mexicanos
- MontoToRet: Se modifica el tipo especial a un importe en pesos mexicanos. Eliminación del valor mínimo y máximo incluyente
- UtilidadBimestral: Se expresa el monto de la utilizad de forma bimestral
- ISRCorrespondiente: Expresa el monto del RFC de acuerdo al bimestre
Elemento: ImpRetenidos
- BaseRet: Se modifica el tipo especial a un importe en pesos mexicanos
- MontoRet: Se modifica el tipo especial a un importe en pesos mexicanos
- TipoPagoRet: Se modifica el tipo especial al catálogo de retenciones
Ajustes apartado C
Se modifica la descripción del código de respuesta para la cancelación y se modifica el esquema para la inclusión del motivos de cancelación y folio fiscal.
Deben de tener las claves 01 para un comprobante emitido con errores con relación, 02 para un comprobante emitido con errores sin relación, 03 cuando la operación no se lleva a cabo y 04 cuando la operación nominativa se relaciona a la factura global.
Facturación Electrónica Complemento para recepción de Pagos
Elemento: Totales
- Nodo: Impuestos: Se requiere especificar el monto total de los pagos y total de impuestos expresados en pesos mexicanos
- a) Atributos
- TotalRetencionesIVA: Se expresa el total de impuestos retenido de IVA
- TotalRetencionesISR: Se expresa el total de impuestos retenido de ISR
- TotalRetencionesIEPS: Se expresa el total de impuestos retenido de IEPS
- TotalTrasladoBaseIVA16: Es el total de la base de IVA trasladada con la tasa del 16%
- TotalTrasladosImpuestoIVA16: Expresa el total de los impuestos del IVA trasladado a la tasa del 16%
- TotalTrasladosBaseIVA8: Expresa el total de los impuestos del IVA trasladado a la tasa del 8%
- TotalTrasladosImpuestosIVA8: Expresa el total de los impuestos del IVA trasladado a la tasa del 8%
- TotalTrasladosBaseIVA0: Expresa el total de los impuestos del IVA trasladado a la tasa del 0% que desprende de los pagos
- TotalTrasladosImpuestoIVA0: Expresa el total de los impuestos del IVA trasladado a la tasa del 0% que desprende de los pagos
- TotalTrasladadosBaseIVAExcento: Expresa el total de la base del iva trasladado exento desprendido de los pagos
- MontoTotalPagos: Expresa el total de los pagos desprendidos de los nodos Pago.
Elemento: Pago
- MonedaP: Sirve para identificar la clave de la moneda utilizada para poder efectuar el pago.
Elemento: DoctoRelacionado
- Objetolmp: Se expresa si el pago es objeto o no de impuestos
- MetodoDePagoDR: Eliminación
- NumParcialidad, ImpSaldoAnt e ImpSaldoInsoluto: Son opcionales
- EquivalenciaDR: Cambia de nombre
Elemento: ImpuestosP
- ImpuestosP: Se incluye para poder detallar los impuestos por cada documento
Elemento: RetencionesP
- RetencionesP: Es un nodo requerido para poder poner los impuestos retenidos
- Nodo hijo RetenciónP: Registra la información de la retención de impuestos
- Atributo BaseP: Señala la base para el cálculo de la retención
- Atributo ImpuestoP: Señala la clave del tipo de impuesto
- Atributo TipoFactorP: Señala la clave del tipo de factor que se aplica a la base del impuesto
- Atributo TasaOCuotaP: Señala la tasa o cuota del impuesto
- Atributo ImporteP: Señala el importe o monto del impuesto
Elemento: TrasladoP
- a) Nodos
- Nodo Traslados: Captura los impuestos trasladados que aplican
- Nodo hijo TrasladoP: Se detalla la información de un traslado de impuestos
- b) Atributos:
- BaseP: Señala la base para el cálculo de impuesto
- ImpuestoP: Señala la clave del tipo de impuesto
- TipoFactorP: Señala la clave del tipo de factor aplicable a la base
- TasaOCuotaP: Señala el valor de la tasa o cuota del impuesto
- ImporteP: Señala el importe del impuesto
Elemento: ImpuestosP
Se elimina la referencia que solo se aplicaba un anticipo.
- TotalImpuestosRetenidosP: Hay cambios en la descripción para poder aplicar el total de impuestos retenidos
- TotalImpuestosTrasladadosP: Hay cambios en la descripción para poder aplicar el total de impuestos trasladados
Elemento: RetencionesP
Se especifica en el nodo que será de forma requerida cuando en los documentos relacionados se registre algún impuesto retenido.
- ImpuestoP: Se cambia el nombre del campo para agregar la P
- ImporteP: Se cambia el nombre del campo para agregar la P
Elemento: TrasladosP
Se especifica en el nodo que será de forma requerida cuando en los documentos relacionados se registre algún impuesto trasladado.
- BaseP: Señala la suma de los atributos Base
- ImpuestoP: Se cambia el nombre del campo para agregar la P
- TipoFactorP: Se cambia el nombre del campo para agregar la P
- TasaOCuotaP: Se cambia el nombre del campo para agregar la P
- Importe P: Se cambia el nombre del campo para agregar la P y para especificar la descripción que en este atributo se señala la suma del impuesto trasladado
Validaciones CFDI
- Se modifica a 4.0
- Se modifica el TipoDeComprobante pues si tiene el valor I,E, T o N no debe existir
Nodo: Receptor
Atributos:
Nodo: Conceptos
Solo se permite un nodo por concepto y puede tener ACuentaTercero
Atributo:
- Objetiolmp: Se registra con valor “01”
Validaciones Pagos
- Monto: Se añade la fórmula para poder calcular el margen de variación
- DoctoRelacionado: Eliminado
- MonedaDR: Se elimina la validación del valor 1
- MetodoDePago: Se elimina la validación pues se elimina el campo
- Objetolmp: Debe tener la clave c_Objetolmp
Nodo: DoctoRelacionado
Nodo: ImpuestosP
Nodo: RetencionP
Atributos
- BaseP: Mayor a cero
- ImpuestoP: Debe existir atributos para sumar el total de impuestos retenidos y el detalle de impuestos
- TipoFactorP: Diferente de exento
- TasaOCuotaP: El valor debe ser fijo correspondiente a c_TasaOCuota
- ImporteP: Calcula el límite inferior
Nodo: TrasladosP
Nodo: TrasladosP
Atributos
- BaseP: Mayor a cero
- ImpuestoP: Debe existir atributos para sumar el total de impuestos retenidos y el detalle de impuestos
- TipoFactorP: Diferente de exento
- TasaOCuotaP: El valor debe ser fijo correspondiente a c_TasaOCuota
- ImporteP: Calcula el límite inferior
Nodo:Pago
Nodo: ImpuestosP
Atributos
- TotalImpuestosRetenidosP: Se elimina la última validación
- TotalImpuestosTrasladadosP: Se elimina la última validación
Facturación electrónica | Recibos de Nómina | Contabilidad Electrónica | Retenciones | Timbrado | Timbrado Ilimitado
Más información