ANEXO 20 CFDI 4.0
Anexo 20 CFDI 4.0
En la nueva versión que anunció el SAT: CFDI 4.0 hay modificaciones en nodos, atributos, apartados y probablemente en el Anexo 20. Te hablaremos respecto al anexo 20 de la versión 3.3 y acerca de la versión 4.0.
¿Qué es el Anexo 20 de CFDI?
El Anexo 20 es un documento técnico en donde está establecido el estándar tecnológico bajo el cual se emite un CFDI y pueda ser válido. Para que eso sea posible, se debe de cumplir con algunos lineamientos:
- Lineamientos técnicos de forma y sintaxis para la creación de archivos XML especificados por el consorcio W·C, éstos están establecidos en www.w3.org
- Reglas de validaciones que se establecieron con la versión actualizada del Anexo 20.
- La introducción de diferentes reglas de validación.
La secuencia de las reglas de validación se deben de atender en un orden en específico:
- Formas y sintaxis
- Validaciones del Anexo 20
- Validaciones del complemento
- Reglas del RMF
El objetivo principal del Anexo 20 es recolectar datos que sean de buena calidad, que cuente con información semejante y al mismo tiempo que se simplifique e integre todos los procesos administrativos y fiscales.
Gracias a la nueva actualización del Anexo 20, han surgido implementaciones importantes como:
- La integración de 22 nuevos campos y 17 catálogos
- Prohibición del manejo de importes negativos (devolución)
- Proceso de confirmación en importes que se presentan como “irregulares”
- Empleo de impuestos y descuentos a nivel movimiento
- Clasificación de cada producto/servicio con una clave proporcionada por el SAT (ClaveProdServ)
- CFDI relacionado para mostrar la rastreabilidad
Tipos de Nodos que componen un CFDI
Cuando se emite un CFDI, se debe de seguir ciertas instrucciones específicas señaladas en cada campo, expresado en un lenguaje regular. A continuación podrás ver como se desglosa cada “nodo” que componen un CFDI:
1.- NODO: COMPROBANTE
- Versión: Esta información se añade de manera automática.
- Serie: El número de serie está entre 1 a 25 caracteres
- Folio: El número de folio debe de tener entre 1 a 40 caracteres
- Fecha: Fecha y hora de expedición del comprobante fiscal. Este debe de tener el formato AAAA-MM-DDThh:mm:ss.
- Sello: Sello digital del comprobante fiscal.
- Forma de Pago: Se describe cómo fue la forma de pago. Cada una se le asigna un código.
- Nº de Certificado: Número con el que se identifica el sello digital
- Certificado
- Condiciones de Pago: Este espacio es para especificar algunas restricciones de pago. Debe de contener entre 1 a 1000 caracteres.
- Subtotal: Es la suma de importes sin descuentos o impuestos
- Descuento: Aparece en ciertos casos. Su valor debe ser menor o igual al subtotal.
- Moneda: Se requiere poner el tipo de moneda nacional “MXN”.
- Total: Es la sumatoria de los descuentos, contribuciones e impuestos.
- Tipo de Comprobante : Debe de aparecer la clave “I” refiriéndose a Ingreso. Si se realiza un devolución o bonificación, debe de aparecer como “E” de Egreso.
- Método de Pago: Por medio de claves se registra el pago realizado.
- Lugar de Expedición: Se coloca el código postal del domicilio fiscal.
- Confirmación: Se debe colocar el código de confirmación que fue expedido por el SAT o por el proveedor de CFDI.
2.- NODO: EMISOR
- RFC: Consta de 12 caracteres.
- Nombre: Nombre del ente público que emite el comprobante.
- Régimen Fiscal: Especificar el régimen fiscal del emisor. Se cuenta con un catálogo de donde se puede elegir, por ejemplo: Régimen Fiscal 603 = Personas Morales Con Fines No Lucrativos.
3.- NODO: RECEPTOR
- RFC: Consta de 12 caracteres.
- Nombre: Nombre del receptor.
- Residencia Fiscal: Se selecciona el país de residencia fiscal del receptor
- Registro de Identidad Tributaria: Solo aparece cuando se selecciona la opción “Residencia Fiscal”.
- Uso CFDI: Se identifica mediante una clave el uso que se le dará al comprobante fiscal.
4.- NODO: CONCEPTO
- Clave ProdServ: Debe de colocar el código del producto según el catálogo del SAT.
- Nº de Identificación: Clave de referencia que está otorgada por quien lo emite en donde se aclara el tipo de operación que se realizará.
- Cantidad: Es la cantidad de bienes o servicios que corresponde
- Clave: Unidad Clave que se encuentra en los catálogos del SAT.
- Unidad: Unidad específica de la medida del bien o servicio.
- Descripción: Se debe de especificar el tipo de operación que se está facturando
- Valor Unitario: Es el valor de cantidad unitaria
- Importe: Es el total a pagar por los servicios o productos que se están adquiriendo.
- Descuentos: Se pueden aplicar descuentos con la condición de que el campo de importe sea menor o igual..
¿En qué casos se debe de emitir un CFDI por anticipo?
En algunos casos de una operación en donde se debe de emitir un CFDI de anticipo es cuando:
- Se desconoce o aún no se determina el precio o el bien y/o servicio que se adquirirá
- Se desconoce o aún no se determina ni el precio ni el bien y/o servicio que se adquirirá
Nueva versión CFDI 4.0, ¿de qué trata?
Como mencionamos anteriormente, 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