Firma Institucional
sat.gob.mx
Inicio>Oficina virtual>Comprobantes Fiscales Digitales (facturación electrónica)Fundamento legal>Anexo 20 de la Resolución Miscelánea Fiscal>Rubro C
C.     Estándar de comprobante fiscal digital extensible.

Formato electrónico único

El 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 &amp;
  • En el caso del “ se deberá usar la secuencia &quot;
  • En el caso del < se deberá usar la secuencia &lt;
  • En el caso del > se deberá usar la secuencia &gt;
  • En el caso del ‘ se deberá usar la secuencia &apos;
Ejemplos:

Para representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan &amp; José &amp; &quot;Niño&quot;”

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ónAtributo requerido con valor prefijado a 2.0 que indica la versión del estándar bajo el que se encuentra expresado el comprobante.
 Usorequerido
 Valor Prefijado2.0
 Tipo Basexs:string
 Espacio en BlancoColapsar
 
serie
 DescripciónAtributo 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Longitud Máxima10
 Espacio en BlancoColapsar
 
folio
 DescripciónAtributo requerido que acepta un valor numérico entero superior a 0 que expresa el folio del comprobante.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Longitud Máxima20
 Espacio en BlancoColapsar
 Patrón[0-9]
 
fecha
 DescripciónAtributo 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.
 Usorequerido
 Tipo Basexs:dateTime
 Espacio en BlancoColapsar
 
sello
 DescripciónAtributo 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.
 Usorequerido
 Tipo Basexs:string
 Espacio en BlancoColapsar
 
noAprobacion
 DescripciónAtributo 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.
 Usorequerido
 Tipo Basexs:integer
 Espacio en BlancoColapsar
 
anoAprobacion
 DescripciónAtributo requerido para precisar el año en que se solicito el folio que se están utilizando para emitir el comprobante fiscal digital.
 Usorequerido
 Tipo Basexs:integer
 Dígitos Totales4
 Espacio en BlancoColapsar
 
formaDePago
 DescripciónAtributo 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.
 Usorequerido
 Tipo Basexs:string
 Espacio en BlancoColapsar
 
noCertificado
 DescripciónAtributo 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.
 Usorequerido
 Tipo Basexs:string
 Longitud20
 Espacio en BlancoColapsar
 
certificado
 DescripciónAtributo opcional que sirve para expresar el certificado de sello digital que ampara al comprobante como texto, en formato base 64.
 Usoopcional
 Tipo Basexs:string
 Espacio en BlancoColapsar
 
condicionesDePago
 DescripciónAtributo opcional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
subTotal
 DescripciónAtributo requerido para representar la suma de los importes antes de descuentos e impuestos.
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
descuento
 DescripciónAtributo opcional para representar el importe total de los descuentos aplicables antes de impuestos.
 Usoopcional
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
motivoDescuento
 DescripciónAtributo opcional para expresar el motivo del descuento aplicable.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
total
 DescripciónAtributo requerido para representar la suma del subtotal, menos los descuentos aplicables, más los impuestos trasladados, menos los impuestos retenidos.
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
metodoDePago
 DescripciónAtributo 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
tipoDeComprobante
 DescripciónAtributo requerido para expresar el efecto del comprobante fiscal para el contribuyente emisor.
 Usorequerido
 Tipo Basexs:string
 Valores Permitidosingreso
egreso
traslado
 
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
Emisor11
Receptor11
Conceptos11
Impuestos11
Complemento01
Addenda01

 
Elemento: Emisor
 Diagrama
  
 Descripción
  Nodo requerido para expresar la información del contribuyente emisor del comprobante.
 Atributos
  
rfc
 DescripciónAtributo requerido para la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante sin guiones o espacios.
 Usorequerido
 Tipo Especialt_RFC
 Tipo Basexs:string
 Longitud Mínima12
 Longitud Máxima13
 Espacio en BlancoColapsar
 
nombre
 DescripciónAtributo requerido para el nombre o razón social del contribuyente emisor del comprobante.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
DomicilioFiscal11
ExpedidoEn01

 
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ónEste atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noExterior
 DescripciónEste atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noInterior
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
colonia
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
localidad
 DescripciónAtributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
referencia
 DescripciónAtributo opcional para expresar una referencia de ubicación adicional.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
municipio
 DescripciónAtributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
estado
 DescripciónAtributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
pais
 DescripciónAtributo requerido que sirve para precisar el país donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
codigoPostal
 DescripciónAtributo requerido que sirve para asentar el código postal en donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud5
 Espacio en BlancoColapsar
 

 
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ónEste atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noExterior
 DescripciónEste atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noInterior
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
colonia
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
localidad
 DescripciónAtributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
referencia
 DescripciónAtributo opcional para expresar una referencia de ubicación adicional.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
municipio
 DescripciónAtributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
estado
 DescripciónAtributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
pais
 DescripciónAtributo requerido que sirve para precisar el país donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
codigoPostal
 DescripciónAtributo opcional que sirve para asentar el código postal en donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Espacio en BlancoColapsar
 

 
Elemento: Receptor
 Diagrama
  
 Descripción
  Nodo requerido para precisar la información del contribuyente receptor del comprobante.
 Atributos
  
rfc
 DescripciónAtributo requerido para precisar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.
 Usorequerido
 Tipo Especialt_RFC
 Tipo Basexs:string
 Longitud Mínima12
 Longitud Máxima13
 Espacio en BlancoColapsar
 
nombre
 DescripciónAtributo opcional para precisar el nombre o razón social del contribuyente receptor.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
Domicilio11

 
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ónEste atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noExterior
 DescripciónEste atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noInterior
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
colonia
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
localidad
 DescripciónAtributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
referencia
 DescripciónAtributo opcional para expresar una referencia de ubicación adicional.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
municipio
 DescripciónAtributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
estado
 DescripciónAtributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
pais
 DescripciónAtributo requerido que sirve para precisar el país donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
codigoPostal
 DescripciónAtributo opcional que sirve para asentar el código postal en donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Espacio en BlancoColapsar
 

 
Elemento: Conceptos
 Diagrama
 
 Descripción
  Nodo requerido para enlistar los conceptos cubiertos por el comprobante.
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
Concepto1Ilimitado

 
Elemento: Concepto
 Descripción
  Nodo para introducir la información detallada de un bien o servicio amparado en el comprobante.
 Atributos
  
cantidad
 DescripciónAtributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.
 Usorequerido
 Tipo Basexs:decimal
 Espacio en BlancoColapsar
 
unidad
 DescripciónAtributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en el concepto.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noIdentificacion
 DescripciónAtributo opcional para expresar el número de serie del bien o identificador del servicio amparado por el presente concepto.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
descripcion
 DescripciónAtributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
valorUnitario
 DescripciónAtributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
importe
 DescripciónAtributo 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.
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
 Elección de Elementos Hijo
  
ElementoMin.Máx.
InformacionAduanera0Ilimitado
CuentaPredial01
ComplementoConcepto01
Parte0Ilimitado

 
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ónAtributo requerido para expresar el número del documento aduanero que ampara la importación del bien.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
fecha
 DescripciónAtributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien.
 Usorequerido
 Tipo Basexs:date
 Espacio en BlancoColapsar
 
aduana
 DescripciónAtributo requerido para precisar la aduana por la que se efectuó la importación del bien.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 

 
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ónAtributo requerido para precisar el número de la cuenta predial del inmueble cubierto por el presente concepto en caso de recibos de arrendamiento.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 

 
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ónAtributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
 Usorequerido
 Tipo Basexs:decimal
 Espacio en BlancoColapsar
 
unidad
 DescripciónAtributo opcional para precisar la unidad de medida aplicable para la cantidad expresada en la parte.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noIdentificacion
 DescripciónAtributo opcional para expresar el número de serie del bien o identificador del servicio amparado por la presente parte.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
descripcion
 DescripciónAtributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
valorUnitario
 DescripciónAtributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte.
 Usoopcional
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
importe
 DescripciónAtributo 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.
 Usoopcional
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
InformacionAduanera0Ilimitado

 
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ónAtributo requerido para expresar el número del documento aduanero que ampara la importación del bien.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
fecha
 DescripciónAtributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien.
 Usorequerido
 Tipo Basexs:date
 Espacio en BlancoColapsar
 
aduana
 DescripciónAtributo requerido para precisar la aduana por la que se efectuó la importación del bien.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 

 
Elemento: Impuestos
 Diagrama
 
 Descripción
  Nodo requerido para capturar los impuestos aplicables.
 Atributos
  
totalImpuestosRetenidos
 DescripciónAtributo opcional para expresar el total de los impuestos retenidos que se desprenden de los conceptos expresados en el comprobante fiscal digital.
 Usoopcional
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
totalImpuestosTrasladados
 DescripciónAtributo opcional para expresar el total de los impuestos trasladados que se desprenden de los conceptos expresados en el comprobante fiscal digital.
 Usoopcional
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
Retenciones01
Traslados01

 
Elemento: Retenciones
 Diagrama
 
 Descripción
  Nodo opcional para capturar los impuestos retenidos aplicables
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
Retencion1Ilimitado

 
Elemento: Retencion
 Descripción
  Nodo para la información detallada de una retención de impuesto específico
 Atributos
  
impuesto
 DescripciónAtributo requerido para señalar el tipo de impuesto retenido
 Usorequerido
 Tipo Basexs:string
 Valores PermitidosISR
IVA
 Espacio en BlancoColapsar
 
importe
 DescripciónAtributo requerido para señalar el importe o monto del impuesto retenido
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 

 
Elemento: Traslados
 Diagrama
 
 Descripción
  Nodo opcional para asentar o referir los impuestos trasladados aplicables
 Secuencia de Elementos Hijo
  
ElementoMin.Máx.
Traslado1Ilimitado

 
Elemento: Traslado
 Descripción
  Nodo para la información detallada de un traslado de impuesto específico
 Atributos
  
impuesto
 DescripciónAtributo requerido para señalar el tipo de impuesto trasladado
 Usorequerido
 Tipo Basexs:string
 Valores PermitidosIVA
IEPS
 Espacio en BlancoColapsar
 
tasa
 DescripciónAtributo requerido para señalar la tasa del impuesto que se traslada por cada concepto amparado en el comprobante
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 
Importe
 DescripciónAtributo requerido para señalar el importe del impuesto trasladado
 Usorequerido
 Tipo Especialt_Importe
 Tipo Basexs:decimal
 Posiciones Decimales2
 Espacio en BlancoColapsar
 

 
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ónEste atributo opcional sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noExterior
 DescripciónEste atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noInterior
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
colonia
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
localidad
 DescripciónAtributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
referencia
 DescripciónAtributo opcional para expresar una referencia de ubicación adicional.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
municipio
 DescripciónAtributo opcional que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
estado
 DescripciónAtributo opcional que sirve para precisar el estado o entidad federativa donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
pais
 DescripciónAtributo requerido que sirve para precisar el país donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
codigoPostal
 DescripciónAtributo opcional que sirve para asentar el código postal en donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Espacio en BlancoColapsar
 

 
Tipo Global: t_UbicacionFiscal
 Diagrama
 
 Descripción
  Tipo definido para expresar domicilios o direcciones
 Atributos
  
calle
 DescripciónEste atributo requerido sirve para precisar la avenida, calle, camino o carretera donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noExterior
 DescripciónEste atributo opcional sirve para expresar el número particular en donde se da la ubicación sobre una calle dada.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
noInterior
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
colonia
 DescripciónEste 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.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
localidad
 DescripciónAtributo opcional que sirve para precisar la ciudad o población donde se da la ubicación.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
referencia
 DescripciónAtributo opcional para expresar una referencia de ubicación adicional.
 Usoopcional
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
municipio
 DescripciónAtributo requerido que sirve para precisar el municipio o delegación (en el caso del Distrito Federal) en donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
estado
 DescripciónAtributo requerido que sirve para precisar el estado o entidad federativa donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
pais
 DescripciónAtributo requerido que sirve para precisar el país donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
codigoPostal
 DescripciónAtributo requerido que sirve para asentar el código postal en donde se da la ubicación.
 Usorequerido
 Tipo Basexs:string
 Longitud5
 Espacio en BlancoColapsar
 

 
Tipo Global: t_InformacionAduanera
 Diagrama
 
 Descripción
  Tipo definido para expresar información aduanera
 Atributos
  
numero
 DescripciónAtributo requerido para expresar el número del documento aduanero que ampara la importación del bien.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
fecha
 DescripciónAtributo requerido para expresar la fecha de expedición del documento aduanero que ampara la importación del bien.
 Usorequerido
 Tipo Basexs:date
 Espacio en BlancoColapsar
 
aduana
 DescripciónAtributo requerido para precisar la aduana por la que se efectuó la importación del bien.
 Usorequerido
 Tipo Basexs:string
 Longitud Mínima1
 Espacio en BlancoColapsar
 
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>

 
última modificación :
28/agosto/2010, 16:01, información vigente.
regresar subir

- Servicio de Administración Tributaria, Av. Hidalgo 77 col. Guerrero, c.p. 06300, México D.F.-Atención telefónica 01 800 46 36 728.
Desde Estados Unidos y Canadá 1 877 44 88 728 - Comentarios sobre este Sitio de Internet   Comentarios y Sugerencias sobre éste sitio de Internet

 

La información públicada en este portal no crea derechos ni establece obligaciones distintos de los contenidos en las disposiciones fiscales vigentes,

SERVICIO DE ADMINISTRACIÓN TRIBUTARIA- ALGUNOS DERECHOS RESERVADOS © 2010 - POLÍTICAS DE PRIVACIDAD