ANEXO 21 de la Primera Resolución de Modificaciones a la Resolución Miscelánea Fiscal para 2015, publicada el 3 de marzo de 2015

Martes 10 de marzo de 2015

Al margen un sello con el Escudo Nacional, que dice: Estados Unidos Mexicanos.- Secretaría de Hacienda y Crédito Público.- Servicio de Administración Tributaria.

Anexo 21 de la Resolución Miscelánea Fiscal para 2015

Contenido

Documentos digitales

I.        De los documentos digitales:

A.      Estándar de recepción de documentos digitales

B.      Generación de la firma y sello para documentos digitales

C.      Estándar y uso del tipo de documento digital obligatorio: SelloDigital

D.      Especificación técnica del código de barras bidimensional

E.      Uso de la facilidad de nodos opcionales <Tipo de Documentos Digitales>

II.       Del envío y manejo de la información

III.      De los acuses

IV.     Del cierre del día

V.      Del mecanismo de comunicación entre el Prestador de Servicios y el contribuyente.

 

I.       De los documentos digitales:

A.      Estándar de recepción de documentos digitales

El contribuyente que opte por emitir documentos 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.

Para poder ser validado, el documento digital deberá estar referenciado al namespace y 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://esquemas.clouda.sat.gob.mx/archivos /DoctosDigitales/1/DoctoDigital.xsd) de la siguiente manera:

< DD:DoctoDigital

                xmlns:DD=" http://esquemas.clouda.sat.gob.mx/archivos /DoctosDigitales/1"

                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                xsi:schemaLocation="

                                   http://esquemas.clouda.sat.gob.mx/archivos /DoctosDigitales/1

                                   http://esquemas.clouda.sat.gob.mx/archivos /DoctosDigitales/1/DoctoDigital.xsd"

……………..

</ DD:DoctoDigital>

Y realizar las validaciones adicionales de información que cada estándar solicite.

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que opte por este mecanismo de generación de documentos digitales 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 carácter &, el carácter “, el carácter ‘, el carácter < y el carácter > 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;”

Cabe mencionar que la especificación XML permite el uso de secuencias de escape para el manejo de caracteres acentuados y el carácter ñ, sin embargo, 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.

Para los atributos que sean referidos a un tipo especial de catálogo, tipo de dato simple o tipo de dato complejo globales, utilizados por los documentos digitales en sus diversos esquemas, se publican en formato xsd en la ruta: http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos/CatDoctoDigital.xsd

para ser incluídos cuando el documento digital lo requiera, ya sea en el estándar de documentos digitales o en la facilidad de nodos opcionales <Tipo de Documentos Digitales>.

Para el documento digital Contabilidad Electrónica, los catálogos se publican en la ruta: http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.xsd

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Código Fuente

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:DD="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1" elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:import namespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" schemaLocation="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos/CatDoctoDigital.xsd"/>

                <xs:element name="DoctoDigital">

<xs:annotation>

                <xs:documentation>Estándar de Documentos 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 emisor del documento digital.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:sequence>

                <xs:element name="EEmpleadoDe" minOccurs="0">

<xs:annotation>

                <xs:documentation>Nodo opcional para expresar la información de la organización a la que pertenece el contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:sequence>

<xs:element name="EUnidadOrg" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que permite expresar la unidad organizacional específica a la que pertenece el emisor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="EUnidad" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido que permite expresar el nombre de la unidad organizacional específica a la que pertenece el emisor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="254"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

                </xs:sequence>

                <xs:attribute name="ERFCOrg" type="cat:t_RFCPM" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC de la organización a la que pertenece el  emisor del documento digital, sin guiones o espacios.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="EDenORazSocOrg" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar la denominación o razón social de la organización a la que pertenece el emisor del documento digital. </xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="254"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

</xs:complexType>

                </xs:element>

                <xs:element name="EDomicilio" minOccurs="0">

<xs:annotation>

                <xs:documentation>Nodo opcional para expresar la información del domicilio del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:attribute name="ECalle" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el domicilio del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="200"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="ENumExt" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el número exterior del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="55"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="ENumInt" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar el número interior del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="30"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="EColonia" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la colonia del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="50"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="ELocalidad" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar la localidad del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="50"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="ERef" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar la(s) referencia(s) del domicilio del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="1000"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="EMunDel" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el municipio o delegación del contribuyente emisor del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_MunDel">

<xs:length value="5"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="EEntidadF" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la entidad federativa del contribuyente emisor del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_EntidadF">

<xs:length value="2"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="EPais" type="cat:c_Pais" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el país del contribuyente emisor del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="ECP" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el código postal del contribuyente emisor del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_CP">

<xs:length value="5"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

</xs:complexType>

                </xs:element>

                <xs:element name="ERepresentanteLegal" minOccurs="0">

<xs:annotation>

                <xs:documentation>Nodo opcional para expresar la información del representante legal del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:attribute name="ERFCRep" type="cat:t_RFCPF" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC del representante legal del contribuyente que emite el documento digital, sin guiones o espacios. Solo acepta RFC de persona física.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="ECURPRep" type="cat:t_CURP" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para la clave unica del registro poblacional del representante legal del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="EApellPatRep" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar el apellido paterno del representante legal del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="200"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="EApellMatRep" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar el apellido materno del representante legal del contribuyente emisor del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="200"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="ENombreRep" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar el nombre del representante legal del contribuyente emisor del documento digital. </xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="254"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

</xs:complexType>

                </xs:element>

</xs:sequence>

<xs:attribute name="ERFC" type="cat:t_RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que emite el documento digital, sin guiones o espacios.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="ECURP" type="cat:t_CURP" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional para la clave única del registro poblacional del contribuyente emisor del documento digital, solo aplicable para personas físicas.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="EApellPat" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el apellido paterno del contribuyente emisor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="200"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="EApellMat" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el apellido materno del contribuyente emisor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="200"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="ENombre" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el nombre del contribuyente emisor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="254"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="EDenORazSoc" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar la denominación o razón social del contribuyente emisor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="254"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="ECorreoE" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar la dirección de correo electrónico del contribuyente emisor del documento digital.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="50"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="ENumTel" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el (los) teléfono (s) del contribuyente emisor del documento digital  separados por coma, sin guiones o espacios y a 10 posiciones incluyendo la clave lada.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="50"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

<xs:element name="Receptor" minOccurs="0">

                <xs:annotation>

<xs:documentation>Nodo opcional para expresar la información del receptor del documento digital.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:sequence>

                <xs:element name="REmpleadoDe" minOccurs="0">

<xs:annotation>

                <xs:documentation>Nodo opcional para expresar la información de la organización a la que pertenece el receptor del documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:sequence>

<xs:element name="RUnidadOrg" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que permite expresar la unidad organizacional específica a la que pertenece el receptor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="RUnidad" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido que permite expresar el nombre de la unidad organizacional específica a la que pertenece el receptor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="254"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

                </xs:sequence>

                <xs:attribute name="RRFCOrg" type="cat:t_RFCPM" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC de la organización a la que pertenece el  receptor del documento digital.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="RDenORazSocOrg" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar la denominación o razón social de la organización a la que pertenece el receptor del documento digital. </xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="254"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

</xs:complexType>

                </xs:element>

                <xs:element name="RDomicilio" minOccurs="0">

<xs:annotation>

                <xs:documentation>Nodo opcional para expresar la información del domicilio del receptor del documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:attribute name="RCalle" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el domicilio de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="200"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RNumExt" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el número exterior de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="55"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RNumInt" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar el número interior de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="30"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RColonia" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la colonia de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="50"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RLocalidad" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar la localidad de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="50"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RRef" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar la(s) referencia(s) del domicilio de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="1000"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RMunDel" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el municipio o delegación de la organización receptora del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_MunDel">

<xs:length value="5"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="REntidadF" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la entidad federativa de la organización receptora del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_EntidadF">

<xs:length value="2"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RPais" type="cat:c_Pais" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el país de la organización receptora del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="RCP" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el código postal de la organización receptora del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_CP">

<xs:length value="5"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

</xs:complexType>

                </xs:element>

                <xs:element name="RRepresentanteLegal" minOccurs="0">

<xs:annotation>

                <xs:documentation>Nodo opcional para expresar la información del representante legal del receptor del documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:attribute name="RRFCRep" type="cat:t_RFCPF" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC del representante legal del receptor del documento digital, sin guiones o espacios. Solo acepta RFC de persona física.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="RCURPRep" type="cat:t_CURP" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para la clave única del registro poblacional del representante legal de la organización receptora del documento digital.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="RApellPatRep" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar el apellido paterno del representante legal de la organización receptora del documento digital. </xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="200"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RApellMatRep" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar el apellido materno del representante legal de la organización receptora del documento digital. </xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="200"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="RNombreRep" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que permite expresar el nombre del representante legal de la organización receptora del documento digital. </xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="254"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

</xs:complexType>

                </xs:element>

</xs:sequence>

<xs:attribute name="RRFC" type="cat:t_RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del receptor del documento digital, sin guiones o espacios.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="RCURP" type="cat:t_CURP" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional para la clave única del registro poblacional del  receptor del documento digital, solo aplicable para personas físicas.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="RApellPat" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el apellido paterno del receptor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="200"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RApellMat" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el apellido materno del receptor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="200"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RNombre" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el nombre del receptor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="254"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RDenORazSoc" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar la denominación o razón social del receptor del documento digital. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="254"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RCorreoE" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar la dirección de correo electrónico del receptor del documento digital.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="50"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RNumTel" use="optional">

                <xs:annotation>

<xs:documentation>Atributo opcional que permite expresar el (los) teléfono (s) del receptor del documento digital separados por coma, sin guiones o espacios y a 10 posiciones incluyendo la clave lada.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="1"/>

                <xs:maxLength value="50"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

<xs:element name="TipoDoctoDigital">

                <xs:annotation>

<xs:documentation>Nodo requerido donde se ingresa  la información de acuerdo al tipo de documento digital.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:sequence>

                <xs:any maxOccurs="unbounded"/>

</xs:sequence>

                </xs:complexType>

</xs:element>

                </xs:sequence>

                <xs:attribute name="Version" type="xs:string" use="required" fixed="1.0">

<xs:annotation>

                <xs:documentation>Atributo requerido con valor prefijado que indica la versión del estándar bajo el que se encuentra expresado el documento digital.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="TipoDoctoDigital" type="cat:c_TipoDoctoDigital" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el tipo del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="Cert" type="xs:string" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional que sirve para incorporar el certificado de sello digital del emisor o contribuyente que ampara el documento digital como texto, en formato base 64.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="NumCert" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital del emisor o contribuyente.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:string">

<xs:length value="20"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="Firma" type="xs:string" use="optional">

<xs:annotation>

                <xs:documentation>Atributo opcional para contener la firma digital del emisor o contribuyente del documento digital. La firma deberá ser expresada como una cadena de texto en formato base 64.</xs:documentation>

</xs:annotation>

                </xs:attribute>

</xs:complexType>

                </xs:element>

</xs:schema>

 

 

 

 

Validaciones adicionales

Elemento DoctoDigital

Atributos

 

Version

Validar

Que sea la versión vigente

 

TipoDoctoDigital

Validar

La coincidencia del valor del Tipo de Docto Digital con el nodo opcional que se incluya.

 

Cert

NumCert

Firma

Validar

-        Si ingresan alguno de estos atributos opcionales, será requerido incluir los 3

-        En caso de haberlos incluido, el certificado y número de certificado deberá ser el del contribuyente (ERFC) con la única excepción de que si existe información en el nodo de Representante Legal, el certificado y número de certificado deberán corresponder al del Representante (ERFCRep)

-        La firma debe corresponder con el contenido del documento.

 

Cert

Validar

-         La vigencia del certificado

-         Que la cadena de certificación sea válida y que sea emitido por el SAT

-         Que el certificado corresponda al ERFC o al ERFCRep según aplique

 

Elemento DoctoDigital

Nodo: Emisor

Nodo: ERepresentanteLegal

Nodo: Receptor

Nodo: RRepresentanteLegal

 

ERFCRep

RRFCRep

Validar

- Solo aplicable para Personas Físicas.

-  En caso de que exista información en Representante Legal emisor y receptor, no puede tener el mismo valor en ambos atributos

 

 

Elemento DoctoDigital

Nodo: Emisor

Atributos

Nodo: ERepresentanteLegal

Nodo: Receptor

Atributos

Nodo: RRepresentanteLegal

 

ERFC

ERFCRep

RRFC

RRFCRep

Validar

En caso de que exista información en Representante Legal emisor y/o receptor, no puede tener el mismo valor en ambos atributos ni repetirse con ERFC ni RRFC

 

 

Elemento DoctoDigital

Nodo: Emisor

Atributos

Nodo: EEmpleadoDe

Nodo: ERepresentanteLegal

 

Nodo: Receptor

Atributos

Nodo: REmpleadoDe

Nodo: RRepresentanteLegal

 

ERFC

ERFCOrg

ERFCRep

RRFC

RRFCOrg

RRFCRep

Validar

En caso de colocarse el dato, verificar la validez de la fecha de nacimiento de acuerdo a las siguiente reglas: Para el mes solo deben colocarse valores del 01 al 12, para el día los valores deben tener correspondencia con el mes (del 01 al 31 para los meses 01, 03, 05, 07, 08, 10, 12), (del 01 al 28 o 29 para el mes 02), (del 01 al 30 para los meses 04, 06, 09, 11) 

 

Elemento DoctoDigital

Nodo: Emisor

Atributos

Nodo: ERepresentanteLegal

 

Nodo: Receptor

Atributos

Nodo: RRepresentanteLegal

 

ECURP

ECURPRep

RCURP

RCURPRep

Validar

Solo aplicable para Personas Físicas.

 

Elemento DoctoDigital

Nodo: Emisor

Nodo: EDomicilio

Nodo: Receptor

Nodo: RDomicilio

 

EPais

EMunDel

EEntidadF

ECP

Validar

En caso de colocarse el dato, verificar la correspondencia de acuerdo a los catálogos publicados en la página del SAT 

 

I.        De los documentos digitales:

                 B. Generación de la firma y sello para documentos digitales

Elementos utilizados en la generación de la firma y sellos digitales:

        Cadena Original, el elemento a firmar o sellar, en este caso de un documento digital a través de Internet.

        Certificado de Sello Digital y su correspondiente clave privada.

          El Servicio de Administración Tributaria pone a disposición del Contribuyente la aplicación “SOLCEDI” (Solicitud de Certificado Digital), a fin de facilitar la generación de claves.

          Nota: Es responsabilidad del Contribuyente el utilizar un equipo de cómputo de su confianza para la generación de su par de claves y guardar en lugar seguro la Clave Privada generada y sus contraseñas.

          Se recomienda utilizar contraseñas fuertes con el fin de conservar la confidencialidad en las transacciones, por ejemplo:

o      Longitud mínima de 12 caracteres.

o      Alfanuméricas (Letras mayúsculas y minúsculas)

o      Mínimo 2 caracteres especiales.

          Ya que de esto hace difícil que se pueda romper la contraseña, se pueden combinar letras por números para ayudar a recordar esta contraseña (pe. 3$l0V4K142%#), espaciar números y letras (que no sean contiguos).

        Algoritmos de criptografía de clave pública del certificado de sello digital.

        Especificaciones de conversión del certificado de sello digital a Base 64.

          Para la generación de firma o sellos digitales se utiliza criptografía de clave pública aplicada a una cadena original.

          Criptografía de la Clave Pública

          La criptografía de Clave Pública se basa en la generación de una pareja de números muy grandes relacionados íntimamente entre sí, de tal manera que una operación de encripción sobre un mensaje tomando como clave de encripción a uno de los dos números, produce un mensaje alterado en su significado que solo puede ser devuelto a su estado original mediante la operación de desencripción correspondiente tomando como clave de desencripción al otro número de la pareja.

          Uno de estos dos números, expresado en una estructura de datos que contiene un módulo y un exponente, se conserva secreta y se le denomina "clave privada", mientras que el otro número llamado "clave pública", en formato binario y acompañado de información de identificación del emisor, además de una calificación de validez por parte de un tercero confiable, se incorpora a un archivo denominado "certificado de sello digital ".

          El Certificado puede distribuirse libremente para efectos de intercambio seguro de información y para ofrecer pruebas de autoría de archivos electrónicos o acuerdo con su contenido mediante el proceso de “firma” o “sello”, que consiste en una característica observable de un mensaje, verificable por cualquiera con acceso al certificado digital del emisor, que sirve para implementar servicios de seguridad para garantizar: La integridad (facilidad para detectar si un mensaje firmado o sellado ha sido alterado), autenticidad, certidumbre de origen (facilidad para determinar qué persona es el autor de la firma o sello y valida el contenido del mensaje) y no repudiación del mensaje firmado o sellado (capacidad de impedir que el autor de la firma niegue haber firmado el mensaje).

          Estos servicios de seguridad proporcionan las siguientes características a un mensaje con firma o sello:

      Es infalsificable.

      La firma o sello no es reciclable (es única por mensaje).

      Un mensaje con firma o sello alterado, es detectable.

      Un mensaje con firma o sello, no puede ser repudiado.

          Los algoritmos utilizados en la generación de una firma o sello digital son los siguientes:

          SHA-2, que es una función hash (digestión o resumen) de un solo sentido tal que para cualquier entrada produce una salida compleja de 256 bits de salida, 128 para seguridad del mensaje y 128 para la identificación del mensaje (32 bytes) denominada ‘digestión’.

          Cadena Original

          Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del documento digital y su tipo de documento digital. Siguiendo para ello las reglas y la secuencia aquí especificadas:

          Reglas Generales:

1.     Ninguno de los atributos que conforman al documento digital deberá contener el carácter | (“pipe”) debido a que este será utilizado como carácter de control en la formación de la cadena original.

2.     El inicio de la cadena original se encuentra marcado mediante una secuencia de caracteres || (doble “pipe”).

3.     Se expresará únicamente la información del dato sin expresar el atributo al que hace referencia. Esto es, si la serie del documento digital es la “A” solo se expresará |A| y nunca |Serie A|.

4.     Cada dato individual se encontrará separado de su dato subsiguiente, en caso de existir, mediante un carácter | (“pipe” sencillo).

5.     Los espacios en blanco que se presenten dentro de la cadena original serán tratados de la siguiente manera:

a.      Se deberán remplazar todos los tabuladores, retornos de carro y saltos de línea por espacios en blanco.

b.      Acto seguido se elimina cualquier carácter en blanco al principio y al final de cada separador | (“pipe” sencillo).

c.       Finalmente, toda secuencia de caracteres en blanco intermedias se sustituyen por un único carácter en blanco.

6.     Los datos opcionales no expresados, no aparecerán en la cadena original y no tendrán delimitador alguno.

7.     El final de la cadena original será expresado mediante una cadena de caracteres || (doble “pipe”).

8.     Toda la cadena de original se expresará en el formato de codificación UTF-8.

9.     El nodo adicional <Tipo de Documento Digital> se integrará al final de la cadena original respetando la secuencia de formación para cada documento digital y número de orden del documento.

10.  El nodo Sello Digital será integrado posterior a la validación realizada por un Prestador de Servicios de Recepción de Documentos Digitales autorizado por el SAT que forma parte de la Certificación Digital del SAT. Dicho nodo no se integrará a la formación de la cadena original del documento digital, las reglas de conformación de la cadena original del nodo se describen en el rubro C del presente anexo.

          Secuencia de Formación:

          La secuencia de formación incluirá el documento digital y el tipo de documento digital a realizar, tomando en cuenta las reglas generales expresadas en el párrafo anterior, y el orden descrito a continuación, mismo que se encuentra en el XSLT publicado en el portal del SAT

1.     Información del Nodo: DoctoDigital

a)    Version

b)    TipoDoctoDigital

c)     NumCert

2.     Información del Nodo: Emisor

a)    ERFC

b)    ECURP

c)     EApellPat

d)    EApellMat

e)    ENombre

f)     EDenORazSoc

g)    ECorreoE

h)    ENumTel

3.     Información del Nodo: EEmpleadoDe

a)    ERFCOrg

b)    EDenORazSocOrg

4.     Información del Nodo: EUnidadOrg

a)    EUnidad

Nota: tantas veces se repita

5.     Información del Nodo: EEDomicilio

a)    ECalle

b)    ENumExt

c)     ENumInt

d)    EColonia

e)    ELocalidad

f)     ERef

g)    EMunDel

h)    EEntidadF

i)      EPais

j)      ECP

6.     Información del Nodo: ERepresentanteLegal

a)    ERFCRep

b)    ECURPRep

c)     EApellPatRep

d)    EApellMatRep

e)    ENombreRep

7.     Información del Nodo: Receptor

a)    RRFC

b)    RCURP

c)     RApellPat

d)    RApellMat

e)    RNombre

f)     RDenORazSoc

g)    RCorreoE

h)    RNumTel

8.     Información del Nodo: REmpleadoDe

a)    RRFCOrg

b)    RDenORazSocOrg

9.     Información del Nodo: RUnidadOrg

a)    RUnidad

Nota: tantas veces se repita

10. Información del Nodo: RDomicilio

a)    RCalle

b)    RNumExt

c)     RNumInt

d)    RColonia

e)    RLocalidad

f)     RRef

g)    RMunDel

h)    REntidadF

i)      RPais

j)      RCP

11. Información del Nodo: RRepresentanteLegal

a)    RRFCRep

b)    RCURPRep

c)     RApellPatRep

d)    RApellMatRep

e)    RNombreRep

12.  Información del nodo TipoDoctoDigital

Generación de la firma o sello

Para toda cadena original a ser sellada digitalmente, la secuencia de algoritmos a aplicar es la siguiente:

I.- Aplicar el método de digestión SHA256 a la cadena original. Este procedimiento genera una salida de 256 bits (128 bytes) para todo mensaje. Por la posibilidad de encontrar dos mensajes distintos que produzcan una misma salida, se basa la inalterabilidad del sello, así como su no reutilización. Es de hecho una medida de la integridad del mensaje sellado, pues toda alteración del mismo provocará una digestión totalmente diferente, por lo que no se podrá autentificar el mensaje.

SHA-2 no requiere semilla alguna. El algoritmo cambia su estado de bloque en bloque de acuerdo a la entrada previa.

II.- Con la clave privada correspondiente al certificado digital del emisor del mensaje y del sello digital, encriptar la digestión del mensaje obtenida en el paso I utilizando para ello el algoritmo de encripción RSA.

Nota: La mayor parte del software comercial podría generar los pasos I y II invocando una sola función y especificando una constante simbólica. En el SAT este procedimiento se hace en pasos separados, lo cual es totalmente equivalente. Es importante resaltar que prácticamente todo el software criptográfico comercial incluye APIs o expone métodos en sus productos que permiten implementar la secuencia de algoritmos aquí descrita. La clave privada solo debe mantenerse en memoria durante la llamada a la función de encripción; inmediatamente después de su uso debe ser eliminada de su registro de memoria mediante la sobre escritura de secuencias binarias alternadas de "unos" y "ceros".

III.- El resultado será una cadena binaria que no necesariamente consta de caracteres imprimibles, por lo que deberá traducirse a una cadena que sí conste solamente de tales caracteres. Para ello se utilizará el modo de expresión de secuencias de bytes denominado "Base 64", que consiste en la asociación de cada 6 bits de la secuencia a un elemento de un "alfabeto" que consta de 64 caracteres imprimibles. Puesto que con 6 bits se pueden expresar los números del 0 al 63, si a cada uno de estos valores se le asocia un elemento del alfabeto se garantiza que todo byte de la secuencia original puede ser mapeado a un elemento del alfabeto Base 64, y los dos bits restantes formarán parte del siguiente elemento a mapear. Este mecanismo de expresión de cadenas binarias produce un incremento de 25% en el tamaño de las cadenas imprimibles respecto de la original.

La codificación en base 64, así como su decodificación, se hará tomando los bloques a procesar en el sentido de su lectura, es decir, de izquierda a derecha.

El alfabeto a utilizar se expresa en el siguiente catálogo:

Elemento del Alfabeto

Valor B64

Valor ASCII

 

Elemento del Alfabeto

Valor B64

Valor ASCII

 

Elemento del Alfabeto

Valor B64

Valor ASCII

0

A

65

 

23

X

88

 

46

u

117

1

B

66

 

24

Y

89

 

47

v

118

2

C

67

 

25

Z

90

 

48

w

119

3

D

68

 

26

a

97

 

49

x

120

4

E

69

 

27

b

98

 

50

y

121

5

F

70

 

28

c

99

 

51

z

122

6

G

71

 

29

d

100

 

52

0

48

7

H

72

 

30

e

101

 

53

1

49

8

I

73

 

31

f

102

 

54

2

50

9

J

74

 

32

g

103

 

55

3

51

10

K

75

 

33

h

104

 

56

4

52

11

L

76

 

34

i

105

 

57

5

53

12

M

77

 

35

j

106

 

58

6

54

13

N

78

 

36

k

107

 

59

7

55

14

O

79

 

37

l

108

 

60

8

56

15

P

80

 

38

m

109

 

61

9

57

16

Q

81

 

39

n

110

 

62

+

43

17

R

82

 

40

o

111

 

63

/

47

18

S

83

 

41

p

112

 

 

 

 

19

T

84

 

42

q

113

 

 

 

 

20

U

85

 

43

r

114

 

 

 

 

21

V

86

 

44

s

115

 

 

 

 

22

W

87

 

45

t

116

 

 

 

 

 

Por tanto, los caracteres utilizados en el alfabeto de Base 64 son:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, /

Y en el orden descrito les corresponden los índices del 0 al 63 en un arreglo de 64 elementos. Para traducir de binario a Base 64, se examina la secuencia binaria evaluando 6 bits a la vez; si el valor de los primeros 6 bits es 0, entonces se imprime la letra A; si es 1, entonces se imprime la letra B y así sucesivamente hasta completar la evaluación de todos los bits de la secuencia binaria evaluados de 6 en 6.

La función inversa consiste en reconstruir la secuencia binaria original a partir de la cadena imprimible que consta de los elementos del alfabeto de Base 64. Para ello se toman 4 caracteres a la vez de la cadena imprimible y sus valores son convertidos en los de los tres caracteres binarios correspondientes (4 caracteres B64 x 6 bits = 3 caracteres binarios x 8 bits), y esta operación se repite hasta concluir la traducción de la cadena imprimible.

Ejemplo:

GqDiRrea6+E2wQhqOCVzwME4866yVEME/8PD1S1g6AV48D8VrLhKUDq0Sjqnp9IwfMAbX0ggwUCLRKa+Hg5q8aYhya63If2HVqH1sA08poer080P1J6Z+BwTrQkhcb5Jw8jENXoErkFE8qdOcIdFFAuZPVT+9mkTb0Xn5Emu5U8=

 

 

 

 

 

 

 

 

 

 

 

Código Fuente

 

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:SelloD="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital" elementFormDefault="qualified" attributeFormDefault="unqualified">

         <xs:import namespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" schemaLocation="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos/CatDoctoDigital.xsd"/>

         <xs:element name="SelloDigital">

<xs:annotation>

         <xs:documentation>Tipo de documento requerido para el Sellado Digital que le da validez a la información.</xs:documentation>

</xs:annotation>

<xs:complexType>

         <xs:attribute name="Version" type="xs:string" use="required" fixed="1.0">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar la Versión del estándar del sello digital.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="ERFC" type="cat:t_RFC" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos, sin guiones o espacios.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="NombreRazonSocial" use="optional">

<xs:annotation>

         <xs:documentation>Atributo opcional para expresar el nombre, denominación o razón social del contribuyente.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="254"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="Ejercicio" use="optional">

<xs:annotation>

         <xs:documentation>Atributo opcional para expresar el Ejercicio Fiscal del documento digital</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:integer">

<xs:minInclusive value="2015"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="Periodo" type="cat:c_Periodo" use="optional">

<xs:annotation>

         <xs:documentation>Atributo opcional que indica el periodo del que se realiza el documento digital, de acuerdo al tipo de periodicidad y al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="FechaHorPres" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar la fecha y hora de la presentación del documento digital. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. Debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:dateTime">

<xs:minInclusive value="2015-01-01T00:00:00-06:00" fixed="false"/>

<xs:whiteSpace value="collapse"/>

<xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="NumOperacion" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el Número de Operación, conformado por 3 posiciones de la clave del receptor – 2 posiciones del año de recepción y 9 posiciones del consecutivo anual en formato XXX-15-999999999.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:string">

<xs:length value="16"/>

<xs:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{9}"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="MedioPres" type="cat:c_MedPresDoctoDigital" use="optional">

<xs:annotation>

         <xs:documentation>Atributo opcional para expresar el Medio de Presentación del documento digital, de acuerdo al catálogo publicado en la página de internet del SAT.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="NombreArch" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el nombre del archivo XML, en formato AAAA990901AA10001N01011500.xml. Compuesto por 12 ó 13 posiciones del RFC del contribuyente, 4 posiciones clave del documento digital según el catálogo de periodo publicado en la página de internet del SAT , 1 posición Tipo de Declaración (N=Normal C=Complementaria), 2 posiciones periodo inicial, 2 posiciones periodo final, 2 posiciones ejercicio fiscal, 2 posiciones para diferenciador de archivo, 4 posiciones extensión del archivo. En caso de que no aplique el Tipo de Declaración, periodo inicial, periodo final o ejercicio fiscal, colocar ceros.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:string">

<xs:minLength value="29"/>

<xs:maxLength value="30"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="FechaHorSelloD" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar la fecha y hora de la generación y emisión del acuse del sello digital del SAT o del Receptor. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. La Zona horaria debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:dateTime">

<xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

<xs:whiteSpace value="collapse"/>

<xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="Estatus" type="cat:c_EstatusDoctoDigital" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo correspondiente publicado en la página del SAT.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="Firma" type="xs:string" use="optional">

<xs:annotation>

         <xs:documentation>Atributo opcional para contener la firma digital del emisor o contribuyente del documento digital. La firma deberá ser expresada como una cadena de texto en formato base 64.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="NoCertificado" type="xs:string" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el número de serie del certificado del SAT o del Receptor con el cual se generó el Sello Digital</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="SelloD" type="xs:string" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para contener el Sello Digital. El sello deberá ser expresado como una cadena de texto en formato Base 64.</xs:documentation>

</xs:annotation>

         </xs:attribute>

</xs:complexType>

         </xs:element>

</xs:schema>

Secuencia de Elementos a Integrar en la Cadena Original del Sello Digital del SAT.

Cadena Original

Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del Sello Digital. Siguiendo para ello las reglas y la secuencia aquí especificadas:

Reglas Generales:

1.      Ninguno de los atributos que conforman al Sello Digital deberá contener el carácter | (“pipe”) debido a que este será utilizado como carácter de control en la formación de la cadena original.

2.      El inicio de la cadena original se encuentra marcado mediante una secuencia de caracteres || (doble “pipe”).

3.      Se expresará únicamente la información del dato sin expresar el atributo al que hace referencia. Esto es, si la serie del Sello Digital es la “A” solo se expresará |A| y nunca |Serie A|.

4.      Cada dato individual se encontrará separado de su dato subsiguiente, en caso de existir, mediante un carácter | (“pipe” sencillo).

5.      Los espacios en blanco que se presenten dentro de la cadena original serán tratados de la siguiente manera:

a.     Se deberán remplazar todos los tabuladores, retornos de carro y saltos de línea por espacios en blanco.

b.     Acto seguido se elimina cualquier carácter en blanco al principio y al final de cada separador | (“pipe” sencillo).

c.     Finalmente, toda secuencia de caracteres en blanco intermedias se sustituyen por un único carácter en blanco.

6.      Los datos opcionales, cuando no existan, no aparecerán expresados en la cadena original y no tendrán delimitador alguno.

7.      Toda la cadena de original se expresará en el formato de codificación UTF-8.

Secuencia de Formación

La secuencia de formación será siempre en el orden que se expresa a continuación, tomando en cuenta las reglas generales expresadas en el párrafo anterior.

1.      Atributos del elemento SelloDigital

a)    Version

b)    ERFC

c)     NombreRazonSocial

d)    Ejercicio

e)    Periodo

f)     FechaHorPres

g)    NumOperacion

h)    MedioPres

i)      NombreArch

j)      FechaHorSelloD

k)     Estatus

l)      Firma

m)   NoCertificado

Nota: El atributo Firma será la firma previa del documento digital, el sello del SAT o receptor será guardado dentro del atributo SelloD. Esta cadena original será sellada utilizando el algoritmo de digestión SHA-2 256.

Uso del Tipo de documento obligatorio Sello Digital

El resultado de la validación de un documento digital, implica la asignación de un número de operación e incorporación del sello digital del SAT.

Para integrar el tipo de documento digital SelloDigital a un documento digital, la estructura resultante deberá integrarse como un nodo hijo del nodo DoctoDigital/TipoDoctoDigital/.

Adicional a su inclusión, se deberá definir el namespace correspondiente dentro del nodo DoctoDigital, así como referenciar la ubicación pública del esquema xsd correspondiente.

Por ejemplo, asumiendo que el contribuyente requiere integrar el namespace correspondiente al presente estándar, se deberá incluir la referencia al namespace aplicable (http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital) el cual se define mediante el esquema público definido en

http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital/SelloDigital.xsd y se vincularía de la siguiente forma:

<DD: DoctoDigital

    …

    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”

    xmlns:DD=”http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1”

    xsi:schemaLocation="

                http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1

                http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/DoctoDigital.xsd”

....

<DD:TipoDoctoDigital>

<SelloD:SelloDigital

 

xmlns:SelloD="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital”xsi:schemaLocation=" http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/SelloDigital/SelloDigital.xsd”

 

                                                    …

</SelloD:SelloDigital>

</DD:TipoDoctoDigital>

….

</DD: DoctoDigital>

La línea que especifica xml:xsi=”http://www.w3.org/2001/XMLSchema-instance” indica que se está usando validación mediante el estándar de esquema XSD.

La línea que especifica xmlns:DD=” http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1” hace referencia al namespace de Documentos digitales.

La línea que especifica xmlns:SelloD=" http://esquemas.clouda.sat.gob.mx/archivos/ DoctosDigitales/1/SelloDigital” hace referencia al namespace adicional del complemento aplicable para la expresión del Sello digital.

Finalmente la línea que especifica xsi:schemaLocation hace referencia a los dos namespaces usados, marcando adicionalmente la ubicación de los esquemas xsd que definen las especificaciones de cada namespace.

En caso de que se requiriera agregar otros namespaces adicionales, el mecanismo sería agregar una línea tipo xmlns definiendo el namespace y expresando nuevamente el namespace y ubicación de su definición dentro del atributo xsi:schemaLocation

Cabe aclarar que los nodos básicos del comprobante deberán llevar encabezado del namespace publicado por el SAT. Por ejemplo el siguiente:

         < DD:TipoDoctoDigital>

         </ DD:TipoDoctoDigital>

Respecto de los nodos propios del estándar aplicable para el complemento obligatorio de Sello digital del SAT, éstos deberán utilizar el encabezado “SelloD”, por ejemplo:

         <DD:TipoDoctoDigital>

         <SelloD:SelloDigital/>

         </DD:TipoDoctoDigital>

I.        De los documentos digitales:

         D. Especificación técnica del código de barras bidimensional

Los acuses de los documentos digitales deben incluir un código de barras bidimensional conforme al formato de QR Code (Quick Response Code) descrito en el estándar ISO/IEC18004, con base a los siguientes lineamientos de representación gráfica.

a)      Código de barras bidimensional QR, con base al estándar ISO/IEC 18004:2000, conteniendo los siguientes datos en el siguiente formato:

1.     URL de verificación

2.     RFC del Contribuyente

3.     Número de operación

4.     Tipo de Documento

5.     Últimos 8 dígitos del sello digital

Donde se manejarán 91 caracteres conformados de la siguiente manera:

Prefijo

Datos

Caracteres

 

URL de Verificación: https://docverif.clouda.sat.gob.mx/

35

Re

RFC del Contribuyente, a 12/13 posiciones, precedido por el texto ”?re=”

16/17

No

Número de operación a 15 posiciones, precedido por el texto “&no=”

19

Td

Tipo de documento a 4 posiciones precedido por el texto “&td=”

8

Sd

Últimos 8 dígitos del sello digital de certificación precedido por el texto “&sd=”

12

 

91

 

De esta manera se generan los datos válidos para realizar una consulta de un Documento digital por medio de su expresión impresa.

Ejemplo:

https://docverif.clouda.sat.gob.mx/?re=XAXX010101000&no=0000000000000001&td=001&sd=393f0f44

Los acuses de los documentos digitales Contabilidad Electrónica deben incluir un código de barras bidimensional conforme al formato de QR Code (Quick Response Code) descrito en el estándar ISO/IEC18004, con base a los siguientes lineamientos de representación gráfica.

a)      Código de barras bidimensional QR, con base al estándar ISO/IEC 18004:2000, conteniendo los siguientes datos en el siguiente formato:

1.     URL de verificación

2.     RFC del Contribuyente

3.     Folio

4.     Tipo de Documento

5.     Últimos 8 dígitos del sello digital

Donde se manejarán 98 caracteres conformados de la siguiente manera:

Prefijo

Datos

Caracteres

 

URL de Verificación: https://docverif.clouda.sat.gob.mx/

35

re

RFC del Contribuyente, a 12/13 posiciones, precedido por el texto ”?re=”

16/17

fo

Número de folio a 22 posiciones, precedido por el texto “&fo=”

26

td

Tipo de documento a 4 posiciones precedido por el texto “&td=”

8

sd

Últimos 8 dígitos del sello digital de certificación precedido por el texto “&sd=”

12

 

98

 

Los códigos de barras bidimensional deberá ser impreso en un cuadrado con lados no menores a 2.75 con un margen (Quiet Zone) de acuerdo al estándar ISO/IEC18004:2000.

I.        De los documentos digitales:

E.    Uso de la facilidad de nodos opcionales <Tipo de Documentos Digitales>

Reglas generales de uso:

1.      Dentro de estos nodos se integrarán al documento digital los elementos adicionales necesarios de acuerdo con el formato definido por el SAT para el envío de información.

2.      La integración de estos elementos adicionales se hará siguiendo los siguientes lineamientos:

a.     Se integrará solo un nodo opcional de Tipo de documento digital y el nodo obligatorio Sello Digital.

b.     El Contribuyente deberá sujetarse a la estructura de estos nodos, teniendo cuidado de especificar las referencias necesarias al “namespace” del tipo de documento digital que se utilice, de acuerdo a los estándares definidos y publicados por el SAT.

c.     Esto implica que el contribuyente deberá definir el namespace correspondiente dentro del nodo Documento Digital, así como referenciar la ubicación pública del esquema xsd correspondiente. Por ejemplo, asumiendo que el contribuyente requiere integrar el namespace https://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/TipoDPIVA/1 el cual se define mediante el esquema público definido en:

        http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/TipoDPIVA/1/DPIVA.xsd se vincularía de la siguiente forma:

        <DD:DoctoDigital

        …

        xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

        xmlns:DD="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1"            

         xmlns:DPIVA="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/TipoDPIVA/1"               

         xsi:schemaLocation="

                               http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1 http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/DoctoDigital.xsd http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/TipoDPIVA/1 http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/TipoDPIVA/1/DPIVA.xsd”

         ….

        </DD:DoctoDigital>

        Nota: El ejemplo mostrado es para un DPIVA.

        La línea que especifica xml:xsi=”http://www.w3.org/2001/XMLSchema-instance” indica que se está usando validación mediante el estándar de esquema XSD. La línea que especifica xmlns:DD="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1 hace referencia al namespace de Documentos digitales.

        La línea que especifica xmlns:DPIVA="http://esquemas.clouda.sat.gob.mx/archivos/ DoctosDigitales/TipoDPIVA/1" hace referencia al namespace adicional del Tipo de Documento.

        Finalmente la línea que especifica xsi:schemaLocation hace referencia a los dos namespaces usados, marcando adicionalmente la ubicación de los esquemas xsd que definen las especificaciones de cada namespace

        En caso de que se requiriera agregar otros namespaces adicionales, el mecanismo sería agregar una línea tipo xmlns definiendo el namespace y expresando nuevamente el namespace y ubicación de su definición dentro del atributo xsi:schemaLocation Cabe aclarar que los nodos básicos de los Documentos digitales deberán llevar el encabezado del namespace publicado por el SAT. Por ejemplo el siguiente:

        < DD:TipoDoctoDigital>

        </ DD:TipoDoctoDigital>

        Cada complemento tendrá definida su propia regla para inclusión en la cadena original en caso de requerirse.

II.       Del envío y manejo de la información:

A. Plazo para prestar el servicio de recepción de documentos digitales

Para la prestación de servicios por parte de los prestadores de servicios de recepción de documentos digitales, el Servicio de Administración Tributaria publicará en su portal de Internet los requerimientos técnicos que dichos prestadores deben cumplir, para cada tipo de documento digital y los plazos máximos en que deberá estar implementada la solución.

Las personas morales que deseen obtener la autorización para ser prestadores de servicios de recepción de documentos digitales, deberán acreditar que cumplen con los requerimientos técnicos señalados en el párrafo anterior.

Las personas morales que ya cuenten con la autorización respectiva, deberán ofrecer y prestar el servicio de recepción de los nuevos documentos digitales cumpliendo con los plazos y requerimientos técnicos que el Servicio de Administración Tributaria publique en su portal de Internet; y si reúnen los requerimientos técnicos referidos, deberá solicitar la validación técnica del SAT y podrán iniciar la recepción al día hábil siguiente de que reciba el dictámen tecnológico favorable.

Para los prestadores de servicios que soliciten su autorización, deben tener implementada la recepción de los formatos de documentos electrónicos que se encuentren vigentes a la fecha de su promoción de autorización y obtener el dictamen tecnológico favorable de todos los documentos, cuya revisión tecnológica se efectuará en un solo evento.

B. Plazo para entrega de información y resolución de incidencias tecnológicas

El prestador de servicios debe entregar la información y resolver las incidencias tecnológicas que se presenten en su operación de acuerdo a los plazos que se fijen en las "Características Funcionales, Servicios Generales y Niveles de Servicio Mínimos" publicadas en el Portal del SAT.

Lo señalado en el párrafo previo aplica para

• Sus sistemas internos.

• Los sistemas que haya proporcionado a sus clientes; y

• La conexión y envío de información al SAT.

Cuando se trate de inconsistencias en la información sellada como recibida, tendrá hasta 72 horas naturales a partir de que se le notifique la inconsistencia para obtener y enviar al SAT la información correcta.

III.      De los acuses

El Prestador de Servicios de Recepción de Documentos Digitales una vez que recibió, validó y selló la información de un documento digital, procederá a enviarlo de acuerdo al plazo indicado en las "Características Funcionales, Servicios Generales y Niveles de Servicio Mínimos" publicadas en el portal del SAT como sigue:

-        Al contribuyente, el Acuse de Aceptación o Aviso de Rechazo que corresponda en formato xml y representación impresa de acuerdo con las especificaciones que se establezcan para cada Tipo de Documento Digital.

-        Al SAT, la información del contribuyente y el acuse generado de acuerdo a su tipo de documento. Los envíos de acuses deberán estar firmados en la totalidad de información utilizando el Certificado de Sello Digital del Prestador de Servicios de Recepción de Documentos Digitales, bajo el estándar XML Digital Signature establecido por el W3C (http://www.w3.org/TR/xmldsig-core).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Código Fuente

 

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:Ac="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Acuse" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Acuse" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">

         <xs:import namespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" schemaLocation="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos/CatDoctoDigital.xsd"/>

         <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation= "http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>

         <xs:element name="Acuse">

<xs:annotation>

         <xs:documentation>Estándar de respuesta para el contribuyente sobre su envío de un documento digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

         <xs:sequence>

<xs:choice>

         <xs:element name="DoctoDigital">

<xs:annotation>

         <xs:documentation>Nodo requerido, excluyente a DDContabElectr que expresa los datos generales del acuse de respuesta para el contribuyente sobre su envío de un documento digital de acuerdo a su tipo.</xs:documentation>

</xs:annotation>

<xs:complexType>

         <xs:sequence>

<xs:element name="AcuseTipoDoctoDigital">

         <xs:annotation>

<xs:documentation>Nodo que expresa los datos específicos del acuse de respuesta para el contribuyente sobre su envío de un documento digital de acuerdo a su tipo.</xs:documentation>

         </xs:annotation>

         <xs:complexType>

<xs:sequence>

         <xs:any maxOccurs="unbounded"/>

</xs:sequence>

         </xs:complexType>

</xs:element>

         </xs:sequence>

         <xs:attribute name="ERFC" type="cat:t_RFC" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el RFC del contribuyente que emite el documento digital, sin guiones o espacios.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="NumOperacion" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el Número de Operación, conformado por 3 posiciones de la clave del receptor – 2 posiciones del año de recepción y 9 posiciones del consecutivo anual en formato XXX-15-999999999.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:string">

<xs:length value="16"/>

<xs:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{9}"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="FechaHorPres" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar la fecha y hora de la presentación del documento digital. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. Debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:dateTime">

<xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="FechaHorSelloD" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar la fecha y hora de la generación y emisión del acuse del sello digital del SAT o del Receptor. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. La Zona horaria debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="xs:dateTime">

<xs:minInclusive value="2015-01-01T00:00:00-06:00" fixed="false"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="Estatus" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página de internet del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="cat:c_EstatusDoctoDigital">

<xs:length value="3"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

         <xs:attribute name="NoCertificado" type="xs:string" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el número de serie del certificado del SAT o del Receptor con el cual se generó el Sello Digital</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="SelloD" type="xs:string" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para contener el Sello Digital. El sello deberá ser expresado como una cadena de texto en formato Base 64.</xs:documentation>

</xs:annotation>

         </xs:attribute>

</xs:complexType>

         </xs:element>

         <xs:element name="DDContabElectr">

<xs:annotation>

         <xs:documentation>Nodo requerido, excluyente a DoctoDigital que expresa los datos del acuse de respuesta para el contribuyente sobre su envío de un documento digital Contabilidad Electrónica.</xs:documentation>

</xs:annotation>

<xs:complexType>

         <xs:choice>

<xs:element name="AcRecep">

         <xs:annotation>

<xs:documentation>Nodo que expresa los datos del acuse de recepción para el contribuyente sobre su envío de un documento digital de acuerdo a su tipo.</xs:documentation>

         </xs:annotation>

         <xs:complexType>

<xs:attribute name="Folio" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

         <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorRec" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la recepción del documento digital. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-6, de acuerdo con la especificación ISO 8601 </xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:dateTime">

         <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

         <xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="RFC" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

         <xs:minLength value="12"/>

         <xs:maxLength value="13"/>

         <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="Mes" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar para el catálogo el mes en que inicia la vigencia, para balanza, pólizas y auxiliares el mes al que corresponde la información.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="01"/>

         <xs:enumeration value="02"/>

         <xs:enumeration value="03"/>

         <xs:enumeration value="04"/>

         <xs:enumeration value="05"/>

         <xs:enumeration value="06"/>

         <xs:enumeration value="07"/>

         <xs:enumeration value="08"/>

         <xs:enumeration value="09"/>

         <xs:enumeration value="10"/>

         <xs:enumeration value="11"/>

         <xs:enumeration value="12"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="Anio" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar para el catálogo el año en que inicia la vigencia, para balanza, pólizas y auxiliares el año al que corresponde la información.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:int">

         <xs:minInclusive value="2015"/>

         <xs:maxInclusive value="2099"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="NombreArch" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el nombre del archivo XML de Contabilidad Electrónica en formato: AAAA990901BXA201502CT.zip Compuesto por 12 ó 13 posiciones del RFC del contribuyente, 4 posiciones para el año, 2 posiciones para el mes,

2 posiciones para el Tipo de Archivo (CT, BN, BC, PL, XF, XC), 4 posiciones extensión del archivo.

</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:minLength value="24"/>

         <xs:maxLength value="25"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoArch" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el Tipo de Archivo</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="Catálogo de cuentas"/>

         <xs:enumeration value="Balanza de comprobación"/>

         <xs:enumeration value="Póliza del periodo"/>

         <xs:enumeration value="Auxiliar de folios"/>

         <xs:enumeration value="Auxiliar de cuentas"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoEnvio" use="optional">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar el tipo de envío de la balanza (N - Normal; C - Complementaria), requerido cuando el Tipo de Archivo es Balanza de comprobación</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:pattern value="[NC]"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoSolicitud" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el motivo del envío de información, cuando el Tipo de Archivo es Catálogo de cuentas o Balanza de comprobación, el valor es fijo (Envío mensual), en caso del Tipo de archivo Póliza del periodo, Auxiliar de folios, Auxiliar de cuentas, integrar el tipo de solicitud de la póliza ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="Envío mensual"/>

         <xs:enumeration value="AF - Acto de Fiscalización"/>

         <xs:enumeration value="FC - Fiscalización Compulsa"/>

         <xs:enumeration value="DE – Devolución"/>

         <xs:enumeration value="CO - Compensación"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="CadenaEnvio" type="xs:string" use="required">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar la cadena del envío de la contabilidad electrónica, requerido cuando el acuse es de recepción.</xs:documentation>

         </xs:annotation>

</xs:attribute>

<xs:attribute name="SelloEnvío" use="required">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar el sello digital de la cadena del envío de la contabilidad electrónica, requerido cuando el acuse es de recepción.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="sello" use="optional">

         <xs:annotation>

<xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica, que corresponda. 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="Mensaje" type="xs:string" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para contener el mensaje para el contribuyente de acuerdo a su tipo de acuse.</xs:documentation>

         </xs:annotation>

</xs:attribute>

         </xs:complexType>

</xs:element>

<xs:element name="AcAcept">

         <xs:annotation>

<xs:documentation>Nodo que expresa los datos del acuse de aceptación para el contribuyente sobre su envío de un documento digital Contabilidad Electrónica.</xs:documentation>

         </xs:annotation>

         <xs:complexType>

<xs:attribute name="Folio" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

         <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechadeSello" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. 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="RFC" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

         <xs:minLength value="12"/>

         <xs:maxLength value="13"/>

         <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="Mes" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar para el catálogo el mes en que inicia la vigencia, para balanza, pólizas y auxiliares el mes al que corresponde la información.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="01"/>

         <xs:enumeration value="02"/>

         <xs:enumeration value="03"/>

         <xs:enumeration value="04"/>

         <xs:enumeration value="05"/>

         <xs:enumeration value="06"/>

         <xs:enumeration value="07"/>

         <xs:enumeration value="08"/>

         <xs:enumeration value="09"/>

         <xs:enumeration value="10"/>

         <xs:enumeration value="11"/>

         <xs:enumeration value="12"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="Anio" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar para el catálogo el año en que inicia la vigencia, para balanza, pólizas y auxiliares el año al que corresponde la información.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:int">

         <xs:minInclusive value="2015"/>

         <xs:maxInclusive value="2099"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="NombreArch" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el nombre del archivo XML de Contabilidad Electrónica en formato: AAAA990901BXA201502CT.zip Compuesto por 12 ó 13 posiciones del RFC del contribuyente, 4 posiciones para el año, 2 posiciones para el mes,

2 posiciones para el Tipo de Archivo (CT, BN, BC, PL, XF, XC), 4 posiciones extensión del archivo.

</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:minLength value="24"/>

         <xs:maxLength value="25"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoArch" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el Tipo de Archivo</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="Catálogo de cuentas"/>

         <xs:enumeration value="Balanza de comprobación"/>

         <xs:enumeration value="Póliza del periodo"/>

         <xs:enumeration value="Auxiliar de folios"/>

         <xs:enumeration value="Auxiliar de cuentas"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoEnvio" use="optional">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar el tipo de envío de la balanza (N - Normal; C - Complementaria), requerido cuando el Tipo de Archivo es Balanza de comprobación</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:pattern value="[NC]"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoSolicitud" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el motivo del envío de información, cuando el Tipo de Archivo es Catálogo de cuentas o Balanza de comprobación, el valor es fijo (Envío mensual), en caso del Tipo de archivo Póliza del periodo, Auxiliar de folios, Auxiliar de cuentas, integrar el tipo de solicitud de la póliza ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="Envío mensual"/>

         <xs:enumeration value="AF - Acto de Fiscalización"/>

         <xs:enumeration value="FC - Fiscalización Compulsa"/>

         <xs:enumeration value="DE – Devolución"/>

         <xs:enumeration value="CO - Compensación"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="sello" use="optional">

         <xs:annotation>

<xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica, que corresponda. 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="selloSAT" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para contener el sello digital del SAT. 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="CadenaOriginalSAT" type="xs:string" use="required">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar la cadena original de la certificación del SAT.</xs:documentation>

         </xs:annotation>

</xs:attribute>

<xs:attribute name="noCertificadoSAT" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el número de serie del certificado del SAT usado para generar el sello digital. </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="Mensaje" type="xs:string" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para contener el mensaje para el contribuyente de acuerdo a su tipo de acuse.</xs:documentation>

         </xs:annotation>

</xs:attribute>

         </xs:complexType>

</xs:element>

<xs:element name="AvRechazo">

         <xs:annotation>

<xs:documentation>Nodo que expresa los datos del aviso de rechazo para el contribuyente sobre su envío de un documento digital Contabilidad Electrónica.</xs:documentation>

         </xs:annotation>

         <xs:complexType>

<xs:sequence>

         <xs:element name="MsgRechazo">

<xs:complexType>

         <xs:sequence>

<xs:element name="Mensaje" maxOccurs="unbounded">

         <xs:annotation>

<xs:documentation>Nodo requerido para expresar los mensajes de rechazo incluidos en el aviso para el contribuyente.</xs:documentation>

         </xs:annotation>

</xs:element>

         </xs:sequence>

</xs:complexType>

         </xs:element>

</xs:sequence>

<xs:attribute name="Folio" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

         <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechadeSello" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. 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="RFC" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:whiteSpace value="collapse"/>

         <xs:minLength value="12"/>

         <xs:maxLength value="13"/>

         <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="Mes" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar para el catálogo el mes en que inicia la vigencia, para balanza, pólizas y auxiliares el mes al que corresponde la información.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="01"/>

         <xs:enumeration value="02"/>

         <xs:enumeration value="03"/>

         <xs:enumeration value="04"/>

         <xs:enumeration value="05"/>

         <xs:enumeration value="06"/>

         <xs:enumeration value="07"/>

         <xs:enumeration value="08"/>

         <xs:enumeration value="09"/>

         <xs:enumeration value="10"/>

         <xs:enumeration value="11"/>

         <xs:enumeration value="12"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="Anio" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar para el catálogo el año en que inicia la vigencia, para balanza, pólizas y auxiliares el año al que corresponde la información.</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:int">

         <xs:minInclusive value="2015"/>

         <xs:maxInclusive value="2099"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="NombreArch" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el nombre del archivo XML de Contabilidad Electrónica en formato: AAAA990901BXA201502CT.zip Compuesto por 12 ó 13 posiciones del RFC del contribuyente, 4 posiciones para el año, 2 posiciones para el mes,

2 posiciones para el Tipo de Archivo (CT, BN, BC, PL, XF, XC), 4 posiciones extensión del archivo.

</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:minLength value="24"/>

         <xs:maxLength value="25"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoArch" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el Tipo de Archivo</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="Catálogo de cuentas"/>

         <xs:enumeration value="Balanza de comprobación"/>

         <xs:enumeration value="Póliza del periodo"/>

         <xs:enumeration value="Auxiliar de folios"/>

         <xs:enumeration value="Auxiliar de cuentas"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoEnvio" use="optional">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar el tipo de envío de la balanza (N - Normal; C - Complementaria), requerido cuando el Tipo de Archivo es Balanza de comprobación</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:pattern value="[NC]"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="TipoSolicitud" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el motivo del envío de información, cuando el Tipo de Archivo es Catálogo de cuentas o Balanza de comprobación, el valor es fijo (Envío mensual), en caso del Tipo de archivo Póliza del periodo, Auxiliar de folios, Auxiliar de cuentas, integrar el tipo de solicitud de la póliza ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )</xs:documentation>

         </xs:annotation>

         <xs:simpleType>

<xs:restriction base="xs:string">

         <xs:enumeration value="Envío mensual"/>

         <xs:enumeration value="AF - Acto de Fiscalización"/>

         <xs:enumeration value="FC - Fiscalización Compulsa"/>

         <xs:enumeration value="DE – Devolución"/>

         <xs:enumeration value="CO - Compensación"/>

</xs:restriction>

         </xs:simpleType>

</xs:attribute>

<xs:attribute name="sello" use="optional">

         <xs:annotation>

<xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica, que corresponda. 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="selloSAT" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para contener el sello digital del SAT. 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="CadenaOriginalSAT" type="xs:string" use="required">

         <xs:annotation>

<xs:documentation>Atributo opcional para expresar la cadena original de la certificación del SAT.</xs:documentation>

         </xs:annotation>

</xs:attribute>

<xs:attribute name="noCertificadoSAT" use="required">

         <xs:annotation>

<xs:documentation>Atributo requerido para expresar el número de serie del certificado del SAT usado para generar el sello digital. </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:complexType>

</xs:element>

         </xs:choice>

         <xs:attribute name="Estatus" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página de internet del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

         <xs:restriction base="cat:c_EstatusDoctoDigital">

<xs:length value="3"/>

         </xs:restriction>

</xs:simpleType>

         </xs:attribute>

</xs:complexType>

         </xs:element>

</xs:choice>

<xs:element ref="ds:Signature"/>

         </xs:sequence>

         <xs:attribute name="Version" type="xs:string" use="required" fixed="1.0">

<xs:annotation>

         <xs:documentation>Atributo requerido con valor prefijado que indica la versión del estándar bajo el que se encuentra expresada la respuesta para el contribuyente sobre el envío de un documento digital.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="TipoAcuse" type="cat:c_TipoAcuse" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el título del acuse hacia el contribuyente, de acuerdo al documento digital y al catálogo publicado en la página de internet del SAT.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="TipoDoctoDigital" type="cat:c_TipoDoctoDigital" use="required">

<xs:annotation>

         <xs:documentation>Atributo requerido para expresar el tipo del documento digital de acuerdo al catálogo publicado en la página de internet del SAT.</xs:documentation>

</xs:annotation>

         </xs:attribute>

         <xs:attribute name="Leyenda" type="xs:string" use="optional">

<xs:annotation>

         <xs:documentation>Atributo opcional para expresar la(s) leyenda(s) fiscal(es) que apliquen al documento digital.</xs:documentation>

</xs:annotation>

         </xs:attribute>

</xs:complexType>

         </xs:element>

</xs:schema>

Validaciones adicionales

Elemento Acuse

Atributos

Nodo: DoctoDigital

Nodo: DDContabElectr

 

TipoDoctoDigital

Validar

-        La coincidencia del valor del Tipo de Docto Digital con el nodo correspondiente DoctoDigital o DDContabElectr

 

Elemento Acuse

Nodo: DDContabElectr

Nodo: AcAcept

Nodo: AvRechaz

 

Estatus

Validar

En caso de que se envíe información en el nodo DDContabElectr, verificar la coincidencia del valor Estatus con el nodo que se incluya AcAcept o AvRechaz

 

 

Elemento Acuse

Nodo: DDContabElectr

 

Estatus

Validar

Solo permite uso de valores 003, 004 y 005 de acuerdo al catálogo publicado en la página de internet del SAT.

 

IV.     Del cierre del día

Para conciliar los envíos de información al SAT, el Prestador de Servicios de Recepción de Documentos Digitales enviará diariamente a la 03:00:00 hrs, el esquema de conciliación con la información recibida durante el día y hasta las 23:59:59.

Este esquema considera el envío de información de un día diferente al recién cerrado y también la información enviada a petición del SAT.

Los envíos deberán estar firmados en la totalidad de información utilizando el Certificado de Sello Digital del Prestador de Servicios de Recepción de Documentos Digitales, bajo el estándar XML Digital Signature establecido por el W3C (http://www.w3.org/TR/xmldsig-core).

 

 

 

 

 

 

 

 

 

 

 

 

Código Fuente

 

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:Cierre="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/CierreDia" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/CierreDia" elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:import namespace="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos" schemaLocation="http://esquemas.clouda.sat.gob.mx/archivos/DoctosDigitales/1/Catalogos/CatDoctoDigital.xsd"/>

                <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>

                <xs:element name="CierreDia">

<xs:annotation>

                <xs:documentation>Estándar de datos para el cierre del día PSRDD-SAT</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:sequence>

<xs:choice>

                <xs:element name="DoctoDigital">

<xs:annotation>

                <xs:documentation>Nodo requerido, excluyente a DDContabElectr para expresar la información del Cierre del Día del Documento Digital.</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:sequence>

<xs:element name="Detalle" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que indica el detalle de los documentos digitales enviados al SAT durante el día.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="RFC" type="cat:t_RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para incorporar la clave del Registro Federal de Contribuyentes del emisor del documento digital, sin guiones ni espacios.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="NumOperacion" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el Número de Operación, conformado por 3 posiciones de la clave del receptor – 2 posiciones del año de recepción y 9 posiciones del consecutivo anual en formato XXX-15-999999999.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:length value="16"/>

                <xs:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{9}"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorPres" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la presentación del documento digital. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. Debe corresponder con la zona horaria del emisor de los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:dateTime">

                <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

                <xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorSelloD" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación y emisión del acuse del sello digital del SAT o del Receptor. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. La Zona horaria debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:dateTime">

                <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

                <xs:pattern value=" -?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="Estatus" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="cat:c_EstatusDoctoDigital">

                <xs:length value="3"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

<xs:element name="Extemp" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que indica el detalle de los documentos digitales enviados al SAT en un día diferente al del cierre.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="MotivoExtemp" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el motivo por el que la información se envió extemporánea.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:maxLength value="50"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RFC" type="cat:t_RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para incorporar la clave del Registro Federal de Contribuyentes del emisor del documento digital, sin guiones ni espacios.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="NumOperacion" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el Número de Operación, conformado por 3 posiciones de la clave del receptor – 2 posiciones del año de recepción y 9 posiciones del consecutivo anual en formato XXX-15-999999999.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:length value="16"/>

                <xs:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{9}"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorPres" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la presentación del Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. Debe corresponder con la zona horaria del emisor de los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:dateTime">

                <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

                <xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorSelloD" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación y emisión del acuse del sello digital del SAT o del Receptor. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. La Zona horaria debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:dateTime">

                <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

                <xs:pattern value=" -?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="Estatus" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="cat:c_EstatusDoctoDigital">

                <xs:length value="3"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

<xs:element name="ASolicitud" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que indica el detalle de los documentos digitales enviados durante el día, a solicitud del SAT.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="RFC" type="cat:t_RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para incorporar la clave del Registro Federal de Contribuyentes del emisor del documento digital, sin guiones ni espacios.</xs:documentation>

                </xs:annotation>

</xs:attribute>

<xs:attribute name="NumOperacion" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el Número de Operación, conformado por 3 posiciones de la clave del receptor – 2 posiciones del año de recepción y 9 posiciones del consecutivo anual en formato XXX-15-999999999.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:length value="16"/>

                <xs:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{9}"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorPres" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la presentación del documento digital. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. Debe corresponder con la zona horaria del emisor de los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:dateTime">

                <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

                <xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechaHorSelloD" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación y emisión del acuse del sello digital del SAT o del Receptor. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. La Zona horaria debe corresponder con la zona horaria del contribuyente que envía los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:dateTime">

                <xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

                <xs:pattern value=" -?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="Estatus" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="cat:c_EstatusDoctoDigital">

                <xs:length value="3"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

                </xs:sequence>

</xs:complexType>

                </xs:element>

                <xs:element name="DDContabElectr">

<xs:annotation>

                <xs:documentation>Nodo requerido, excluyente a DoctoDigital para expresar la información del Cierre del Día del Documento Digital Contabilidad Electrónica</xs:documentation>

</xs:annotation>

<xs:complexType>

                <xs:sequence>

<xs:element name="Detalle" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que indica el detalle de los documentos digitales de contabilidad electrónica enviados al SAT durante el día.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="12"/>

                <xs:maxLength value="13"/>

                <xs:whiteSpace value="collapse"/>

                <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="Folio" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:whiteSpace value="collapse"/>

                <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechadeSello" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. 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="Estatus" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="cat:c_EstatusDoctoDigital">

                <xs:length value="3"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

<xs:element name="Extemp" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que indica el detalle de los documentos digitales de Contabilidad Electrónica enviados al SAT en un día diferente al del cierre.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="MotivoExtemp" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el motivo por el que la información se envió extemporánea.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:maxLength value="50"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="12"/>

                <xs:maxLength value="13"/>

                <xs:whiteSpace value="collapse"/>

                <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="Folio" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:whiteSpace value="collapse"/>

                <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechadeSello" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. 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="Estatus" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="cat:c_EstatusDoctoDigital">

                <xs:length value="3"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

<xs:element name="ASolicitud" minOccurs="0" maxOccurs="unbounded">

                <xs:annotation>

<xs:documentation>Nodo opcional que indica el detalle de los documentos digitales de Contabilidad Electrónica enviados durante el día, a solicitud del SAT.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

<xs:attribute name="RFC" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del contribuyente que envía los datos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:minLength value="12"/>

                <xs:maxLength value="13"/>

                <xs:whiteSpace value="collapse"/>

                <xs:pattern value="[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="Folio" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="xs:string">

                <xs:whiteSpace value="collapse"/>

                <xs:pattern value="[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

<xs:attribute name="FechadeSello" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. 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="Estatus" use="required">

                <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estatus del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

<xs:restriction base="cat:c_EstatusDoctoDigital">

                <xs:length value="3"/>

</xs:restriction>

                </xs:simpleType>

</xs:attribute>

                </xs:complexType>

</xs:element>

                </xs:sequence>

</xs:complexType>

                </xs:element>

</xs:choice>

<xs:element ref="ds:Signature"/>

                </xs:sequence>

                <xs:attribute name="Version" type="xs:string" use="required" fixed="1.0">

<xs:annotation>

                <xs:documentation>Atributo requerido con valor prefijado que indica la versión del estándar bajo el que se encuentra expresada el documento digital.</xs:documentation>

</xs:annotation>

                </xs:attribute>

                <xs:attribute name="Fecha" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la fecha del dia en cierre.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:date">

<xs:minInclusive value="2015-01-01"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="FechaHora" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la fecha y hora en que el tercero envía la información. Se expresa en la forma aaaa-mm-ddThh:mm:ssTZD-Zona Horaria, de acuerdo con la especificación ISO 8601. Debe corresponder con la zona horaria del emisor de los datos.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="xs:dateTime">

<xs:minInclusive value="2015-01-01T00:00:00-06:00"/>

<xs:pattern value="-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="TipoDoctoDigital" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el tipo del documento digital de acuerdo al catálogo publicado en la página del SAT.</xs:documentation>

</xs:annotation>

<xs:simpleType>

                <xs:restriction base="cat:c_TipoDoctoDigital">

<xs:length value="4"/>

                </xs:restriction>

</xs:simpleType>

                </xs:attribute>

                <xs:attribute name="TotalEnvios" type="xs:int" use="required">

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el total de de documentos digitales enviados al SAT en la fecha y por el tipo de documento indicado.</xs:documentation>

</xs:annotation>

                </xs:attribute>

</xs:complexType>

                </xs:element>

</xs:schema>

 

Validaciones adicionales

Elemento CierreDia

Atributos

Nodo: Detalle

Nodo: Extemp

Nodo: ASolicitud

 

TotalEnvios

Validar

El TotalEnvios deberá coincidir con la suma de registros incluidos en Detalle, Extemp y ASolicitud

 

V.      Del mecanismo de comunicación entre el Prestador de Servicios y el contribuyente.

Para la recepción de los documentos digitales y su consulta por parte del contribuyente, el Prestador de Servicios de Recepción de Documentos Digitales debe habilitar sus servicios mediante el mecanismo de comunicación cuya especificación se publique en el Portal del SAT.

Atentamente.

México, D. F., a 18 de febrero de 2015.- Por ausencia del Jefe del Servicio de Administración Tributaria y del Administrador General de Grandes Contribuyentes, con fundamento en los artículos 2, apartado B, fracción V y 8, primer párrafo del Reglamento Interior del Servicio de Administración Tributaria, publicado en el Diario Oficial de la Federación el 22 de octubre de 2007, en vigor a partir del 23 de diciembre del mismo año, reformado mediante Decretos publicados en el mismo órgano informativo el 29 de abril de 2010, 13 de julio de 2012 y 30 de diciembre de 2013, firma en suplencia el Administrador General Jurídico, Jaime Eusebio Flores Carrasco.- Rúbrica.