C. Estándar de comprobante fiscal digital extensible.
Formato electrónico únicoEl contribuyente que opte por emitir comprobantes fiscales digitales deberá generarlos bajo el siguiente estándar XSD base y los XSD complementarios que requiera, validando su forma y sintaxis en un archivo con extensión XML, siendo este el único formato para poder representar y almacenar comprobantes de manera electrónica o digital.
Para poder ser validado, el comprobante fiscal digital deberá estar referenciado al namespace del comprobante fiscal digital y referenciar la validación del mismo a la ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (
http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd) de la siguiente manera:
<Comprobante
xmlns="http://www.sat.gob.mx/cfd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.sat.gob.mx/cfd
http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd"
……………..
</Comprobante>
Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que opte por este mecanismo de generación de comprobantes deberá sujetarse tanto a las disposiciones fiscales vigentes, como a los lineamientos técnicos de forma y sintaxis para la generación de archivos XML especificados por el consorcio w3, establecidos en
www.w3.org.
En particular se deberá tener cuidado de que aquellos casos especiales que se presenten en los valores especificados dentro de los atributos del archivo XML como aquellos que usan el caracter & , el caracter “ , el caracter ‘ , el caracter < y el caracter > que requieren del uso de secuencias de escape.
- En el caso del & se deberá usar la secuencia &
- En el caso del “ se deberá usar la secuencia "
- En el caso del < se deberá usar la secuencia <
- En el caso del > se deberá usar la secuencia >
- En el caso del ‘ se deberá usar la secuencia '
Ejemplos:Para representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan & José & "Niño"”
Adicionalmente, cabe mencionar de que a pesar de que la especificación XML permite el uso de secuencias de escape para el manejo de caracteres acentuados y el carácter ñ, dichas secuencias de escape no son necesarias al expresar el documento XML bajo el estándar de codificación UTF-8 si fue creado correctamente, misma que es utilizada como único estándar por el SAT.
Estándar base XSD| Estructura |
| Elemento: Comprobante | | | Diagrama | | |  | | | Descripción | | | | Estándar para la expresión de comprobantes fiscales digitales. | | | Atributos | | | | | version | | | Descripción | Atributo requerido con valor prefijado a 2.0 que indica la versión del estándar bajo el que se encuentra expresado el comprobante. | | | Uso | requerido | | | Valor Prefijado | 2.0 | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | | | serie | | | Descripción | Atributo opcional para precisar la serie a la que corresponde el comprobante. Este atributo acepta una cadena de caracteres alfabéticos de 1 a 10 caracteres sin incluir caracteres acentuados. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Longitud Máxima | 10 | | | Espacio en Blanco | Colapsar | | | | folio | | | Descripción | Atributo requerido que acepta un valor numérico entero superior a 0 que expresa el folio del comprobante. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Longitud Máxima | 20 | | | Espacio en Blanco | Colapsar | | | Patrón | [0-9] | | | | fecha | | | Descripción | Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601. | | | Uso | requerido | | | Tipo Base | xs:dateTime | | | Espacio en Blanco | Colapsar | | | | sello | | | Descripción | Atributo requerido para contener el sello digital del comprobante fiscal, al que hacen referencia las reglas de resolución miscelánea aplicable. El sello deberá ser expresado cómo una cadena de texto en formato Base 64. | | | Uso | requerido | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | | | noAprobacion | | | Descripción | Atributo requerido para precisar el número de aprobación emitido por el SAT, para el rango de folios al que pertenece el folio particular que ampara el comprobante fiscal digital. | | | Uso | requerido | | | Tipo Base | xs:integer | | | Espacio en Blanco | Colapsar | | | | anoAprobacion | | | Descripción | Atributo requerido para precisar el año en que se solicito el folio que se están utilizando para emitir el comprobante fiscal digital. | | | Uso | requerido | | | Tipo Base | xs:integer | | | Dígitos Totales | 4 | | | Espacio en Blanco | Colapsar | | | | formaDePago | | | Descripción | Atributo requerido para precisar la forma de pago que aplica para este comprobante fiscal digital. Se utiliza para expresar Pago en una sola exhibición o número de parcialidad pagada contra el total de parcialidades, Parcialidad 1 de X. | | | Uso | requerido | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | | | noCertificado | | | Descripción | Atributo requerido para expresar el número de serie del certificado de sello digital que ampara al comprobante, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud | 20 | | | Espacio en Blanco | Colapsar | | | | certificado | | | Descripción | Atributo opcional que sirve para expresar el certificado de sello digital que ampara al comprobante como texto, en formato base 64. | | | Uso | opcional | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | | | condicionesDePago | | | Descripción | Atributo opcional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | subTotal | | | Descripción | Atributo requerido para representar la suma de los importes antes de descuentos e impuestos. | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | descuento | | | Descripción | Atributo opcional para representar el importe total de los descuentos aplicables antes de impuestos. | | | Uso | opcional | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | motivoDescuento | | | Descripción | Atributo opcional para expresar el motivo del descuento aplicable. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | total | | | Descripción | Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más los impuestos trasladados, menos los impuestos retenidos. | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | metodoDePago | | | Descripción | Atributo opcional de texto libre para expresar el método de pago de los bienes o servicios amparados por el comprobante. Se entiende como método de pago leyendas tales como: cheque, tarjeta de crédito o debito, depósito en cuenta, etc. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | tipoDeComprobante | | | Descripción | Atributo requerido para expresar el efecto del comprobante fiscal para el contribuyente emisor. | | | Uso | requerido | | | Tipo Base | xs:string | | | Valores Permitidos | ingreso egreso traslado | | |
| | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | Emisor | 1 | 1 | | Receptor | 1 | 1 | | Conceptos | 1 | 1 | | Impuestos | 1 | 1 | | Complemento | 0 | 1 | | Addenda | 0 | 1 |
|
| Elemento: Emisor | | | Diagrama | | |  | | | Descripción | | | | Nodo requerido para expresar la información del contribuyente emisor del comprobante. | | | Atributos | | | | | rfc | | | Descripción | Atributo requerido para la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante sin guiones o espacios. | | | Uso | requerido | | | Tipo Especial | t_RFC | | | Tipo Base | xs:string | | | Longitud Mínima | 12 | | | Longitud Máxima | 13 | | | Espacio en Blanco | Colapsar | | | | nombre | | | Descripción | Atributo requerido para el nombre o razón social del contribuyente emisor del comprobante. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | |
| | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | DomicilioFiscal | 1 | 1 | | ExpedidoEn | 0 | 1 |
|
| Elemento: DomicilioFiscal | | | Descripción | | | | Nodo requerido para precisar la información de ubicación del domicilio fiscal del contribuyente emisor | | | | Usa el tipo global t_UbicacionFiscal | | | Atributos | | | | | calle | | | Descripción | Este atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noExterior | | | Descripción | Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noInterior | | | Descripción | Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | colonia | | | Descripción | Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | localidad | | | Descripción | Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | referencia | | | Descripción | Atributo opcional para expresar una referencia de ubicación adicional. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | municipio | | | Descripción | Atributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | estado | | | Descripción | Atributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | pais | | | Descripción | Atributo requerido que sirve para precisar el país donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | codigoPostal | | | Descripción | Atributo requerido que sirve para asentar el código postal en donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud | 5 | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: ExpedidoEn | | | Descripción | | | | Nodo opcional para precisar la información de ubicación del domicilio en donde es emitido el comprobante fiscal en caso de que sea distinto del domicilio fiscal del contribuyente emisor. | | | | Usa el tipo global t_Ubicacion | | | Atributos | | | | | calle | | | Descripción | Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noExterior | | | Descripción | Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noInterior | | | Descripción | Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | colonia | | | Descripción | Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | localidad | | | Descripción | Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | referencia | | | Descripción | Atributo opcional para expresar una referencia de ubicación adicional. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | municipio | | | Descripción | Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | estado | | | Descripción | Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | pais | | | Descripción | Atributo requerido que sirve para precisar el país donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | codigoPostal | | | Descripción | Atributo opcional que sirve para asentar el código postal en donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: Receptor | | | Diagrama | | |  | | | Descripción | | | | Nodo requerido para precisar la información del contribuyente receptor del comprobante. | | | Atributos | | | | | rfc | | | Descripción | Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante. | | | Uso | requerido | | | Tipo Especial | t_RFC | | | Tipo Base | xs:string | | | Longitud Mínima | 12 | | | Longitud Máxima | 13 | | | Espacio en Blanco | Colapsar | | | | nombre | | | Descripción | Atributo opcional para precisar el nombre o razón social del contribuyente receptor. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | |
| | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | Domicilio | 1 | 1 |
|
| Elemento: Domicilio | | | Descripción | | | | Nodo para la definición de la ubicación donde se da el domicilio del receptor del comprobante fiscal. | | | | Usa el tipo global t_Ubicacion | | | Atributos | | | | | calle | | | Descripción | Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noExterior | | | Descripción | Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noInterior | | | Descripción | Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | colonia | | | Descripción | Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | localidad | | | Descripción | Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | referencia | | | Descripción | Atributo opcional para expresar una referencia de ubicación adicional. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | municipio | | | Descripción | Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | estado | | | Descripción | Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | pais | | | Descripción | Atributo requerido que sirve para precisar el país donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | codigoPostal | | | Descripción | Atributo opcional que sirve para asentar el código postal en donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: Conceptos | | | Diagrama | | |  | | | Descripción | | | | Nodo requerido para enlistar los conceptos cubiertos por el comprobante. | | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | Concepto | 1 | Ilimitado |
|
| Elemento: Concepto | | | Descripción | | | | Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante. | | | Atributos | | | | | cantidad | | | Descripción | Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto. | | | Uso | requerido | | | Tipo Base | xs:decimal | | | Espacio en Blanco | Colapsar | | | | unidad | | | Descripción | Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en el concepto. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noIdentificacion | | | Descripción | Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por el presente concepto. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | descripcion | | | Descripción | Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | valorUnitario | | | Descripción | Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto. | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | importe | | | Descripción | Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto. | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | |
| | | Elección de Elementos Hijo | | | | | Elemento | Min. | Máx. | | InformacionAduanera | 0 | Ilimitado | | CuentaPredial | 0 | 1 | | ComplementoConcepto | 0 | 1 | | Parte | 0 | Ilimitado |
|
| Elemento: InformacionAduanera | | | Descripción | | | | Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas. | | | | Usa el tipo global t_InformacionAduanera | | | Atributos | | | | | numero | | | Descripción | Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | fecha | | | Descripción | Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:date | | | Espacio en Blanco | Colapsar | | | | aduana | | | Descripción | Atributo requerido para precisar la aduana por la que se efectuó la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: CuentaPredial | | | Descripción | | | | Nodo opcional para asentar el número de cuenta predial con el que fue registrado el inmueble, en el sistema catastral de la entidad federativa de que trate. | | | Atributos | | | | | numero | | | Descripción | Atributo requerido para precisar el número de la cuenta predial del inmueble cubierto por el presente concepto en caso de recibos de arrendamiento. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: ComplementoConcepto | | | Diagrama | | |  | | | Descripción | | | | Nodo opcional donde se incluirán los nodos complementarios de extensión al concepto, definidos por el SAT, de acuerdo a disposiciones particulares a un sector o actividad especifica. |
| Elemento: Parte | | | Diagrama | | |  | | | Descripción | | | | Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital | | | Atributos | | | | | cantidad | | | Descripción | Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte. | | | Uso | requerido | | | Tipo Base | xs:decimal | | | Espacio en Blanco | Colapsar | | | | unidad | | | Descripción | Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noIdentificacion | | | Descripción | Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | descripcion | | | Descripción | Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | valorUnitario | | | Descripción | Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte. | | | Uso | opcional | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | importe | | | Descripción | Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte. | | | Uso | opcional | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | |
| | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | InformacionAduanera | 0 | Ilimitado |
|
| Elemento: InformacionAduanera | | | Descripción | | | | Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano. | | | | Usa el tipo global t_InformacionAduanera | | | Atributos | | | | | numero | | | Descripción | Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | fecha | | | Descripción | Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:date | | | Espacio en Blanco | Colapsar | | | | aduana | | | Descripción | Atributo requerido para precisar la aduana por la que se efectuó la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: Impuestos | | | Diagrama | | |  | | | Descripción | | | | Nodo requerido para capturar los impuestos aplicables. | | | Atributos | | | | | totalImpuestosRetenidos | | | Descripción | Atributo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital. | | | Uso | opcional | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | totalImpuestosTrasladados | | | Descripción | Atributo opcional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital. | | | Uso | opcional | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | |
| | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | Retenciones | 0 | 1 | | Traslados | 0 | 1 |
|
| Elemento: Retenciones | | | Diagrama | | |  | | | Descripción | | | | Nodo opcional para capturar los impuestos retenidos aplicables | | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | Retencion | 1 | Ilimitado |
|
| Elemento: Retencion | | | Descripción | | | | Nodo para la información detallada de una retención de impuesto específico | | | Atributos | | | | | impuesto | | | Descripción | Atributo requerido para señalar el tipo de impuesto retenido | | | Uso | requerido | | | Tipo Base | xs:string | | | Valores Permitidos | ISR IVA | | | Espacio en Blanco | Colapsar | | | | importe | | | Descripción | Atributo requerido para señalar el importe o monto del impuesto retenido | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: Traslados | | | Diagrama | | |  | | | Descripción | | | | Nodo opcional para asentar o referir los impuestos trasladados aplicables | | | Secuencia de Elementos Hijo | | | | | Elemento | Min. | Máx. | | Traslado | 1 | Ilimitado |
|
| Elemento: Traslado | | | Descripción | | | | Nodo para la información detallada de un traslado de impuesto específico | | | Atributos | | | | | impuesto | | | Descripción | Atributo requerido para señalar el tipo de impuesto trasladado | | | Uso | requerido | | | Tipo Base | xs:string | | | Valores Permitidos | IVA IEPS | | | Espacio en Blanco | Colapsar | | | | tasa | | | Descripción | Atributo requerido para señalar la tasa del impuesto que se traslada por cada concepto amparado en el comprobante | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | | | Importe | | | Descripción | Atributo requerido para señalar el importe del impuesto trasladado | | | Uso | requerido | | | Tipo Especial | t_Importe | | | Tipo Base | xs:decimal | | | Posiciones Decimales | 2 | | | Espacio en Blanco | Colapsar | | |
|
| Elemento: Complemento | | | Diagrama | | |  | | | Descripción | | | | Nodo opcional donde se incluirán los nodos complementarios determinados por el SAT, de acuerdo a las disposiciones particulares a un sector o actividad especifica. |
| Elemento: Addenda | | | Diagrama | | |  | | | Descripción | | | | Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato de origen. |
| Tipo Global: t_Ubicacion | | | Diagrama | | |  | | | Descripción | | | | Tipo definido para expresar domicilios o direcciones | | | Atributos | | | | | calle | | | Descripción | Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noExterior | | | Descripción | Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noInterior | | | Descripción | Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | colonia | | | Descripción | Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | localidad | | | Descripción | Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | referencia | | | Descripción | Atributo opcional para expresar una referencia de ubicación adicional. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | municipio | | | Descripción | Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | estado | | | Descripción | Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | pais | | | Descripción | Atributo requerido que sirve para precisar el país donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | codigoPostal | | | Descripción | Atributo opcional que sirve para asentar el código postal en donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Espacio en Blanco | Colapsar | | |
|
| Tipo Global: t_UbicacionFiscal | | | Diagrama | | |  | | | Descripción | | | | Tipo definido para expresar domicilios o direcciones | | | Atributos | | | | | calle | | | Descripción | Este atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noExterior | | | Descripción | Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | noInterior | | | Descripción | Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | colonia | | | Descripción | Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | localidad | | | Descripción | Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | referencia | | | Descripción | Atributo opcional para expresar una referencia de ubicación adicional. | | | Uso | opcional | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | municipio | | | Descripción | Atributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | estado | | | Descripción | Atributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | pais | | | Descripción | Atributo requerido que sirve para precisar el país donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | codigoPostal | | | Descripción | Atributo requerido que sirve para asentar el código postal en donde se da la ubicación. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud | 5 | | | Espacio en Blanco | Colapsar | | |
|
| Tipo Global: t_InformacionAduanera | | | Diagrama | | |  | | | Descripción | | | | Tipo definido para expresar información aduanera | | | Atributos | | | | | numero | | | Descripción | Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | | | fecha | | | Descripción | Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:date | | | Espacio en Blanco | Colapsar | | | | aduana | | | Descripción | Atributo requerido para precisar la aduana por la que se efectuó la importación del bien. | | | Uso | requerido | | | Tipo Base | xs:string | | | Longitud Mínima | 1 | | | Espacio en Blanco | Colapsar | | |
|
|
| Código Fuente |
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/cfd/2" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Comprobante"> <xs:annotation> <xs:documentation>Estándar para la expresión de comprobantes fiscales digitales.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Emisor"> <xs:annotation> <xs:documentation>Nodo requerido para expresar la información del contribuyente emisor del comprobante.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="DomicilioFiscal" type="t_UbicacionFiscal"> <xs:annotation> <xs:documentation>Nodo requerido para precisar la información de ubicación del domicilio fiscal del contribuyente emisor</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ExpedidoEn" type="t_Ubicacion" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional para precisar la información de ubicación del domicilio en donde es emitido el comprobante fiscal en caso de que sea distinto del domicilio fiscal del contribuyente emisor.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="rfc" type="t_RFC" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante sin guiones o espacios.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="nombre" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para el nombre o razón social del contribuyente emisor del comprobante.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="Receptor"> <xs:annotation> <xs:documentation>Nodo requerido para precisar la información del contribuyente receptor del comprobante.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Domicilio" type="t_Ubicacion"> <xs:annotation> <xs:documentation>Nodo para la definición de la ubicación donde se da el domicilio del receptor del comprobante fiscal.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="rfc" type="t_RFC" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="nombre" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para precisar el nombre o razón social del contribuyente receptor.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="Conceptos"> <xs:annotation> <xs:documentation>Nodo requerido para enlistar los conceptos cubiertos por el comprobante.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Concepto" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante.</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice minOccurs="0"> <xs:element name="InformacionAduanera" type="t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CuentaPredial" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional para asentar el número de cuenta predial con el que fue registrado el inmueble, en el sistema catastral de la entidad federativa de que trate.</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="numero" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar el número de la cuenta predial del inmueble cubierto por el presente concepto en caso de recibos de arrendamiento.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="ComplementoConcepto" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios de extensión al concepto, definidos por el SAT, de acuerdo a disposiciones particulares a un sector o actividad especifica.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Parte" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="InformacionAduanera" type="t_InformacionAduanera" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo opcional para introducir la información aduanera aplicable cuando se trate de partes o componentes importados vendidos de primera mano.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="cantidad" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="unidad" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noIdentificacion" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="descripcion" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valorUnitario" type="t_Importe" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="importe" type="t_Importe" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:choice> <xs:attribute name="cantidad" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="unidad" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en el concepto.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noIdentificacion" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar el número de serie del bien o identificador del servicio amparado por el presente concepto.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="descripcion" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="valorUnitario" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="importe" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar el importe total de los bienes o servicios del presente concepto. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en el concepto.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Impuestos"> <xs:annotation> <xs:documentation>Nodo requerido para capturar los impuestos aplicables.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Retenciones" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional para capturar los impuestos retenidos aplicables</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Retencion" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo para la información detallada de una retención de impuesto específico</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="impuesto" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para señalar el tipo de impuesto retenido</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:enumeration value="ISR"> <xs:annotation> <xs:documentation>Impuesto sobre la renta</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="IVA"> <xs:annotation> <xs:documentation>Impuesto al Valor Agregado</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="importe" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para señalar el importe o monto del impuesto retenido</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Traslados" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional para asentar o referir los impuestos trasladados aplicables</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Traslado" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Nodo para la información detallada de un traslado de impuesto específico</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="impuesto" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para señalar el tipo de impuesto trasladado</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:enumeration value="IVA"> <xs:annotation> <xs:documentation>Impuesto al Valor Agregado</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="IEPS"> <xs:annotation> <xs:documentation>Impuesto especial sobre productos y servicios</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="tasa" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para señalar la tasa del impuesto que se traslada por cada concepto amparado en el comprobante</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="importe" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para señalar el importe del impuesto trasladado</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="totalImpuestosRetenidos" type="t_Importe" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="totalImpuestosTrasladados" type="t_Importe" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="Complemento" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional donde se incluirán los nodos complementarios determinados por el SAT, de acuerdo a las disposiciones particulares a un sector o actividad especifica.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Addenda" minOccurs="0"> <xs:annotation> <xs:documentation>Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato de origen.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="version" use="required" fixed="2.0"> <xs:annotation> <xs:documentation>Atributo requerido con valor prefijado a 2.0 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="serie" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para precisar la serie a la que corresponde el comprobante. Este atributo acepta una cadena de caracteres alfabéticos de 1 a 10 caracteres sin incluir caracteres acentuados.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="10"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="folio" use="required"> <xs:annotation> <xs:documentation>Atributo requerido que acepta un valor numérico entero superior a 0 que expresa el folio del comprobante.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="20"/> <xs:whiteSpace value="collapse"/> <xs:pattern value="[0-9] "/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="fecha" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:dateTime"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="sello" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para contener el sello digital del comprobante fiscal, al que hacen referencia las reglas de resolución miscelánea aplicable. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noAprobacion" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar el número de aprobación emitido por el SAT, para el rango de folios al que pertenece el folio particular que ampara el comprobante fiscal digital.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="anoAprobacion" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar el año en que se solicito el folio que se están utilizando para emitir el comprobante fiscal digital.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:whiteSpace value="collapse"/> <xs:totalDigits value="4"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="formaDePago" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la forma de pago que aplica para este comprobante fiscal digital. Se utiliza para expresar Pago en una sola exhibición o número de parcialidad pagada contra el total de parcialidades, Parcialidad 1 de X. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noCertificado" use="required"> <xs:annotation> <xs:documentation> Atributo requerido para expresar el número de serie del certificado de sello digital que ampara al comprobante, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="20"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="certificado" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al comprobante como texto, en formato base 64.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="condicionesDePago" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="subTotal" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para representar la suma de los importes antes de descuentos e impuestos.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="descuento" type="t_Importe" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para representar el importe total de los descuentos aplicables antes de impuestos.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="motivoDescuento" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar el motivo del descuento aplicable.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="total" type="t_Importe" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más los impuestos trasladados, menos los impuestos retenidos.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="metodoDePago" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional de texto libre para expresar el método de pago de los bienes o servicios amparados por el comprobante. Se entiende como método de pago leyendas tales como: cheque, tarjeta de crédito o debito, depósito en cuenta, etc.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="tipoDeComprobante" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el efecto del comprobante fiscal para el contribuyente emisor.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="ingreso"/> <xs:enumeration value="egreso"/> <xs:enumeration value="traslado"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:complexType name="t_Ubicacion"> <xs:annotation> <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> </xs:annotation> <xs:attribute name="calle" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noExterior" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noInterior" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="colonia" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="localidad" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="referencia" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="municipio" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="estado" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="pais" use="required"> <xs:annotation> <xs:documentation>Atributo requerido que sirve para precisar el país donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="codigoPostal" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="t_UbicacionFiscal"> <xs:annotation> <xs:documentation>Tipo definido para expresar domicilios o direcciones</xs:documentation> </xs:annotation> <xs:attribute name="calle" use="required"> <xs:annotation> <xs:documentation>Este atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noExterior" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="noInterior" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para expresar información adicional para especificar la ubicación cuando calle y número exterior (noExterior) no resulten suficientes para determinar la ubicación de forma precisa.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="colonia" use="optional"> <xs:annotation> <xs:documentation>Este atributo opcional sirve para precisar la colonia en donde se da la ubicación cuando se desea ser más específico en casos de ubicaciones urbanas.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="localidad" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="referencia" use="optional"> <xs:annotation> <xs:documentation>Atributo opcional para expresar una referencia de ubicación adicional.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="municipio" use="required"> <xs:annotation> <xs:documentation>Atributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="estado" use="required"> <xs:annotation> <xs:documentation>Atributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="pais" use="required"> <xs:annotation> <xs:documentation>Atributo requerido que sirve para precisar el país donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="codigoPostal" use="required"> <xs:annotation> <xs:documentation>Atributo requerido que sirve para asentar el código postal en donde se da la ubicación.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:length value="5"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:simpleType name="t_RFC"> <xs:annotation> <xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="12"/> <xs:maxLength value="13"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="t_Importe"> <xs:annotation> <xs:documentation>Tipo definido para expresar importes numéricos con fracción a dos decimales</xs:documentation> </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="2"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> <xs:complexType name="t_InformacionAduanera"> <xs:annotation> <xs:documentation>Tipo definido para expresar información aduanera</xs:documentation> </xs:annotation> <xs:attribute name="numero" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar el número del documento aduanero que ampara la importación del bien.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="fecha" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:date"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="aduana" use="required"> <xs:annotation> <xs:documentation>Atributo requerido para precisar la aduana por la que se efectuó la importación del bien.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:schema> |