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

Contenido

Documentos digitales

I.       De los documentos digitales:

A.       Estándar de certificación 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 Proveedor de Certificación y el contribuyente.

 

I.       De los documentos digitales:

A.      Estándar de certificación 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 W3C, 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

 

Estructura

Elementos

 

Elemento: DoctoDigital

 

Diagrama

 

 

Descripción

 

 

Estándar de Documentos Digitales

 

Atributos

 

 

Version

 

Descripción

Atributo requerido con valor prefijado que indica la versión del estándar bajo el que se encuentra expresado el documento digital.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

TipoDoctoDigital

 

Descripción

Atributo requerido para expresar el tipo del documento digital de acuerdo al catálogo publicado en la página del SAT.

 

Uso

requerido

 

Tipo Especial

cat:c_TipoDoctoDigital

 

Cert

 

Descripción

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.

 

Uso

opcional

 

Tipo Base

xs:string

 

NumCert

 

Descripción

Atributo opcional para expresar el número de serie del certificado de sello digital del emisor o contribuyente.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

20

 

Firma

 

Descripción

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.

 

Uso

opcional

 

Tipo Base

xs:string

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Emisor (1, 1)

Receptor (0, 1)

TipoDoctoDigital (1, 1)

Elemento: Emisor

 

Diagrama

 

 

Descripción

 

 

Nodo requerido para expresar la información del emisor del documento digital.

 

Atributos

 

 

ERFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que emite el documento digital, sin guiones o espacios.

 

Uso

requerido

 

Tipo Especial

cat:t_RFC

 

ECURP

 

Descripción

Atributo opcional para la clave única del registro poblacional del contribuyente emisor del documento digital, solo aplicable para personas físicas.

 

Uso

opcional

 

Tipo Especial

cat:t_CURP

 

EApellPat

 

Descripción

Atributo opcional que permite expresar el apellido paterno del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

EApellMat

 

Descripción

Atributo opcional que permite expresar el apellido materno del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

ENombre

 

Descripción

Atributo opcional que permite expresar el nombre del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

EDenORazSoc

 

Descripción

Atributo opcional que permite expresar la denominación o razón social del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

ECorreoE

 

Descripción

Atributo opcional que permite expresar la dirección de correo electrónico del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

ENumTel

 

Descripción

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.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

EEmpleadoDe (0, 1)

EDomicilio (0, 1)

ERepresentanteLegal (0, 1)

 

Elemento: EEmpleadoDe

 

Diagrama

 

 

 

Descripción

 

 

Nodo opcional para expresar la información de la organización a la que pertenece el contribuyente emisor del documento digital.

 

Atributos

 

 

ERFCOrg

 

Descripción

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

 

Uso

requerido

 

Tipo Especial

cat:t_RFCPM

 

EDenORazSocOrg

 

Descripción

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.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

EUnidadOrg (0, Ilimitado)

 

Elemento: EUnidadOrg

 

Diagrama

 

 

Descripción

 

 

Nodo opcional que permite expresar la unidad organizacional específica a la que pertenece el emisor del documento digital.

 

Atributos

 

 

EUnidad

 

Descripción

Atributo requerido que permite expresar el nombre de la unidad organizacional específica a la que pertenece el emisor del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

Elemento: ERepresentanteLegal

 

Diagrama

 

 

Descripción

 

 

Nodo opcional para expresar la información del representante legal del contribuyente emisor del documento digital.

 

Atributos

 

 

ERFCRep

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:t_RFCPF

 

 

ECURPRep

 

Descripción

Atributo opcional para la clave unica del registro poblacional del representante legal del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Especial

cat:t_CURP

 

EApellPatRep

 

Descripción

Atributo opcional que permite expresar el apellido paterno del representante legal del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

EApellMatRep

 

Descripción

Atributo opcional que permite expresar el apellido materno del representante legal del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

ENombreRep

 

Descripción

Atributo opcional que permite expresar el nombre del representante legal del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

 

Elemento: Receptor

 

Diagrama

 

 

 

Descripción

 

 

Nodo opcional para expresar la información del receptor del documento digital.

 

Atributos

 

 

RRFC

 

Descripción

Atributo requerido para expresar el RFC del receptor del documento digital, sin guiones o espacios.

 

Uso

requerido

 

Tipo Especial

cat:t_RFC

 

RCURP

 

Descripción

Atributo opcional para la clave única del registro poblacional del receptor del documento digital, solo aplicable para personas físicas.

 

Uso

opcional

 

Tipo Especial

cat:t_CURP

 

RApellPat

 

Descripción

Atributo opcional que permite expresar el apellido paterno del receptor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

RApellMat

 

Descripción

Atributo opcional que permite expresar el apellido materno del receptor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

RNombre

 

Descripción

Atributo opcional que permite expresar el nombre del receptor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

RDenORazSoc

 

Descripción

Atributo opcional que permite expresar la denominación o razón social del receptor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

RCorreoE

 

Descripción

Atributo opcional que permite expresar la dirección de correo electrónico del receptor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

RNumTel

 

Descripción

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.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

REmpleadoDe (0, 1)

RDomicilio (0, 1)

RRepresentanteLegal (0, 1)

 

Elemento: REmpleadoDe

 

Diagrama

 

 

 

 

Descripción

 

 

Nodo opcional para expresar la información de la organización a la que pertenece el receptor del documento digital.

 

Atributos

 

 

RRFCOrg

 

Descripción

Atributo requerido para expresar el RFC de la organización a la que pertenece el receptor del documento digital.

 

Uso

requerido

 

Tipo Especial

cat:t_RFCPM

 

RDenORazSocOrg

 

Descripción

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.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

RUnidadOrg (0, Ilimitado)

 

Elemento: RUnidadOrg

 

Diagrama

 

 

Descripción

 

 

Nodo opcional que permite expresar la unidad organizacional específica a la que pertenece el receptor del documento digital.

 

Atributos

 

 

RUnidad

 

Descripción

Atributo requerido que permite expresar el nombre de la unidad organizacional específica a la que pertenece el receptor del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

 

 

Elemento: RDomicilio

 

Diagrama

 

 

Descripción

 

 

Nodo opcional para expresar la información del domicilio del receptor del documento digital.

 

Atributos

 

RCalle

 

Descripción

Atributo requerido para expresar el domicilio de la organización receptora del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

RNumExt

 

Descripción

Atributo requerido para expresar el número exterior de la organización receptora del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

55

 

RNumInt

 

Descripción

Atributo opcional para expresar el número interior de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

30

 

RColonia

 

Descripción

Atributo requerido para expresar la colonia de la organización receptora del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

RLocalidad

 

Descripción

Atributo opcional para expresar la localidad de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

RRef

 

Descripción

Atributo opcional para expresar la(s) referencia(s) del domicilio de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

1000

 

RMunDel

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_MunDel

 

Longitud

5

 

REntidadF

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_EntidadF

 

Longitud

2

 

RPais

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_Pais

 

RCP

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_CP

 

Longitud

5

 

 

 

Elemento: RRepresentanteLegal

 

Diagrama

 

 

Descripción

 

 

Nodo opcional para expresar la información del representante legal del receptor del documento digital.

 

Atributos

 

 

RRFCRep

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:t_RFCPF

 

RCURPRep

 

Descripción

Atributo opcional para la clave única del registro poblacional del representante legal de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Especial

cat:t_CURP

 

RApellPatRep

 

Descripción

Atributo opcional que permite expresar el apellido paterno del representante legal de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

RApellMatRep

 

Descripción

Atributo opcional que permite expresar el apellido materno del representante legal de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

RNombreRep

 

Descripción

Atributo opcional que permite expresar el nombre del representante legal de la organización receptora del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

254

 

 

Elemento: TipoDoctoDigital

 

Diagrama

 

 

 

Descripción

 

 

Nodo requerido donde se ingresa la información de acuerdo al tipo de documento digital.

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Any (1, Ilimitado)

 

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>

 

Elemento: EDomicilio

 

Diagrama

 

 

Descripción

 

 

Nodo opcional para expresar la información del domicilio del contribuyente emisor del documento digital.

 

Atributos

 

 

ECalle

 

Descripción

Atributo requerido para expresar el domicilio del contribuyente emisor del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

ENumExt

 

Descripción

Atributo requerido para expresar el número exterior del contribuyente emisor del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

55

 

ENumInt

 

Descripción

Atributo opcional para expresar el número interior del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

30

 

EColonia

 

Descripción

Atributo requerido para expresar la colonia del contribuyente emisor del documento digital.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

ELocalidad

 

Descripción

Atributo opcional para expresar la localidad del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

ERef

 

Descripción

Atributo opcional para expresar la(s) referencia(s) del domicilio del contribuyente emisor del documento digital.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

1000

 

EMunDel

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_MunDel

 

Longitud

5

 

EEntidadF

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_EntidadF

 

Longitud

2

 

EPais

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_Pais

 

ECP

 

Descripción

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.

 

Uso

requerido

 

Tipo Especial

cat:c_CP

 

Longitud

5

 

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 Proveedor de Certificación 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

+