Generar CFDI
¿Qué debemos considerar para generar un comprobante de CFDI?
Los CFDI deben ser generados bajo el estándar XSD base y los XSD complementarios que requiera, validando su forma y sintaxis en el archivo con extensión XML, siendo éste el único formato para poder representar y almacenar comprobantes de manera electrónica o digital.
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd" </cfdi:Comprobante>
Queremos solucionar tus dudas
Contáctanos
Una de las principales especificaciones que deben cumplir los comprobantes, son los namespace, en donde se hace referencia al Comprobante Fiscal Digital por Internet y a la validación del mismo en la ruta publicada por el SAT desde donde se valida el esquema XSD y dichos namespace deben de estar dentro del nodo cfdi:Comprobante como se muestra en el siguiente ejemplo:
- Lineamientos técnicos de forma y sintaxis para la generación del XML especificados por W3C
- Validaciones adicionales establecidas en el Estándar del Anexo 20
- Validaciones adicionales establecida en cada complemento que se integre en el XML.
- Las reglas de validaciones particulares publicadas en la Resolución Miscelánea Fiscal vigente.
El XML debe expresarse bajo el estándar de codificación UTF-8 y en caso de contar con alguno de los siguientes casos especiales se debe usar la secuencia de escape como se muestra a continuación:
Carácter Especial | Secuencia a Usar |
& | & amp; |
“ | " |
< | & lt; |
> | & gt; |
‘ | &apos |
¿Cuáles son los atributos requeridos para el nodo comprobante?
Atributo | Descripción | Ejemplo de interpretación |
Version | Atributo requerido en el cual debe de contener el valor 4.0 de acuerdo como lo indica el estándar del anexo 20. | Version=”4.0″ |
Fecha | Es la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma AAAA-MM-DD:Thh:mm:ss y debe de corresponder con la hora local donde se expide el comprobante. | Fecha=”2022-10-02T12:51:09″ |
Subtotal | Es la suma de los importes de los conceptos antes de los descuentos e impuestos. No se permiten valores negativos. | SubTotal=”1510.00″ |
Moneda | Se debe registrar la clave de la moneda utilizada para expresar los montos. Catálogo CFDI: c_Moneda | Moneda=”MXN” |
Total | Es la suma del subtotal, menos los descuentos aplicables, más las contribuciones recibidas (impuestos traslados federales o locales, derechos, productos, aprovechamientos, aportaciones de seguridad social, contribuciones de mejoras) menos los impuestos retenidos federales o locales. | Total=”1751.60″ |
TipoDeComprobante | Se debe registrar la clave con la que se identifica el tipo del comprobante fiscal para el contribuyente emisor ya sea Ingreso, Egreso, Traslado, Nómina y Pago. | TipoDeComprobante=”I” |
LugarExpedicion | Se debe registrar el código postal del lugar de expedición del comprobante (domicilio de la matriz o sucursal), debe de corresponder con una clave de código postal incluida en el catálogo. | LugarExpedicion=”06300″ |
Exportacion | Se deberá señalar si el comprobante corresponde a una operación de exportación definitiva o temporal, o si el comprobante ampara o no una operación de exportación, las distintas claves vigentes se encuentran incluidas en el catálogo. | Exportacion=”01” |
NoCertificado | Es el número de serie del certificado de sello digital que ampara al comprobante del Emisor, de acuerdo con el acuse correspondiente a 20 posiciones otorgado por el sistema del SAT. | Ver ejemplo |
Certificado | Es el contenido del certificado del sello digital del emisor y debe ser expresado en formato Base64. | Ver ejemplo |
Sello | Es el resultado de la ejecución de un mecanismo criptográfico a la cadena original del comprobante, representado en formato Base64. | Ver ejemplo |
¿Cuáles son los atributos requeridos en el nodo emisor de un CFDI?
Atributo | Descripción | Ejemplo de interpretación |
RFC | Se debe registrar la clave del Registro Federal de Contribuyente del emisor del comprobante | Rfc=”MISC491214B86″ |
Nombre | Se debe registrar el nombre, denominación o razón social inscrito en el RFC del emisor del comprobante. El nombre debe corresponder a la clave de RFC registrado en el campo RFC del emisor del comprobante. | Nombre=”CECILIA MIRANDA SANCHEZ” |
RegimenFiscal | Se debe de especificar la clave del régimen fiscal del contribuyente emisor bajo el cual se está emitiendo el comprobante.
Las claves de los diversos regímenes se encuentran incluidas en el c_RegimenFiscal publicado en el portal del SAT. |
RegimenFiscal=”605″ |
¿Cuáles son los atributos requeridos en el nodo receptor de un CFDI?
Atributo | Descripción | Ejemplo de interpretación |
RFC | Se debe registrar la Clave del Registro Federal de Contribuyentes del receptor del comprobante | Rfc=”IXS7607092R5″ |
Nombre | Se debe registrar el(los) nombre(s), primer apellido, segundo apellido, según corresponda denominación o razón social registrados en el RFC del contribuyente receptor del comprobante.
El Nombre debe corresponder a la clave de RFC. |
Nombre=”INTERNACIONAL XIMBO Y SABORES” |
DomicilioFiscal
Receptor |
Se debe registrar el código postal del domicilio fiscal del
receptor del comprobante. Debe estar asociado a la clave de RFC registrado en el campo Rfc de este Nodo. |
DomicilioFiscalReceptor= “01001” |
RegimenFiscal
Receptor |
Se debe de especificar la clave del régimen fiscal del contribuyente receptor.
Las claves de los diversos regímenes se encuentran incluidas en el c_RegimenFiscal publicado en el portal del SAT. |
RegimenFiscal
Receptor=”626” |
UsoCFDI | Se debe registrar la clave que corresponda al uso que le dará al comprobante fiscal el receptor. | UsoCFDI=”S01″ |
¿Cuáles son los atributos requeridos en el nodo concepto de un CFDI?
Atributo | Descripción | Ejemplo de interpretación |
ClaveProdServ | En este campo se debe registrar una clave que permita clasificar los conceptos del comprobante como productos o servicios; se debe de utilizar las claves de los diversos productos o servicios de conformidad con el catálogo c_ClaveProdServ | ClaveProdServ=”84111506″ |
Cantidad | Se debe registrar la cantidad de bienes o servicios que corresponden a cada concepto, puede contener de cero hasta seis decimales. | Cantidad=”25″ |
ClaveUnidad | Se debe registrar la clave de unidad de medida estandarizada de conformidad con el catálogo c_ClaveUnidad publicado en el Portal del SAT, aplicable para la cantidad expresada en cada concepto. | ClaveUnidad=”E48″ |
Descripcion | En este campo se debe registrar la descripción del bien o servicio propia de la empresa por cada concepto. | |
ValorUnitario | Se debe registrar el valor o precio unitario del bien o servicio por cada concepto, el cual puede contener de cero hasta seis decimales.
Si el tipo de comprobante es de “I”, “E” o “N” este valor debe ser mayor a cero, si es de “T” puede ser mayor o igual a cero y si es “P” debe ser igual a cero. |
ValorUnitario=”36″ |
Importe | En este campo se debe registrar el importe total de los bienes o servicios de cada concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto. | Importe=”900″ |
ObjetoImp | Se debe registrar la clave correspondiente para indicar si la operación comercial es objeto o no de impuesto.
Las claves vigentes se encuentran incluidas en el catálogo c_ObjetoImp. Si el valor registrado en este campo es “02” (Sí objeto de impuesto), se deben desglosar los Impuestos a nivel de Concepto Si el valor registrado en este campo es “01” (No objeto de impuesto) o “03” (Sí objeto del impuesto y no obligado al desglose) no se desglosan impuestos a nivel Concepto |
ObjetoImp=”02” |
¿Cuáles son los atributos requeridos en el nodo impuestos de un CFDI?
Atributo | Descripción | Ejemplo de interpretación |
Base | Se debe registrar el valor para el cálculo del impuesto que se traslada, puede contener de cero hasta seis decimales.
El valor de este campo debe ser mayor que cero. |
Base=”500″ |
Impuestos | Se debe registrar la clave del tipo de impuestos aplicable a cada concepto, las cuales se encuentran incluidas en el catálogo c_Impuestos publicado en el Portal del SAT. | Impuesto=”002″ |
TipoFactor | Se debe registrar el tipo de factor que se aplica a la base del impuesto, el cual se encuentra incluido en el catálogo c_TipoFactor publicado en el Portal del SAT. | TipoFactor=”Tasa” |
TasaOCuota | Atributo requerido para señalar la tasa o cuota del impuesto que se retiene para el presente concepto c_TasaOCuota publicado en el Portal del SAT. | TasaOCuota=”0.160000″ |
Importe | Se puede registrar el importe del impuesto que aplica a cada concepto. Este campo es requerido cuando en el campo TipoFactor se haya registrado como Tasa o Cuota.
El valor de este campo será calculado por el sistema que genera el comprobante y considerará los redondeos que tenga registrado este campo. |
Importe=”80” |