ANEXOS 20, 25-Bis, 26, 27, 29, 30, 31 y 32 de la Resolución Miscelánea Fiscal para 2022, publicada en la edición vespertina del 27 de diciembre de 2021

Jueves 13 de Enero de 2022

(Viene en la Primera Sección)

Modificación al Anexo 25-Bis de la Resolución Miscelánea Fiscal para 2020

Contenido

Primera parte.          Obligaciones generales y procedimientos de identificación y reporte de Cuentas Reportables

Sección I:          Obligaciones Generales de Reporte

Sección II:         Obligaciones Generales de Debida Diligencia

Sección III:        Debida Diligencia para Cuentas Preexistentes de Personas Físicas

Sección IV:        Debida Diligencia para Cuentas Nuevas de Personas Físicas

Sección V:         Debida Diligencia para Cuentas Preexistentes de Entidades

Sección VI:        Debida Diligencia para Cuentas Nuevas de Entidades

Sección VII:       Reglas Especiales de Debida Diligencia

Sección VIII:     Términos Definidos

Segunda parte.        Disposiciones adicionales aplicables para la generación de información a que se refiere la Primera parte del presente Anexo

 

ÚNICO. Se derogan los Subapartados (i)(ii)(iii)(bb) que forman parte a su vez de los Subapartados (C)(17)(g) segundo párrafo de la Primera parte, Sección VIII del Anexo 25-Bis de la Resolución Miscelánea Fiscal para 2020 para quedar de la siguiente manera:

Primera parte.         Obligaciones Generales y Procedimientos de Identificación y Reporte de Cuentas Reportables

Para los efectos de los artículos 32-B, fracción V y 32-B-Bis, ambos del CFF así como los artículos 7, tercer párrafo; 55, fracciones I y IV; 56; 86, fracción I; 89, segundo párrafo; 136, último párrafo y 192, fracción VI de la Ley del ISR y 92, 93 y 253, último párrafo del Reglamento de la Ley del ISR, y las reglas 2.2.12., 2.9.12., 3.5.9., 3.9.1., 3.21.2.7. y 3.21.3.2. de la RMF, las personas morales y las figuras jurídicas residentes en México o residentes en el extranjero con sucursal en México que sean Instituciones Financieras conforme al Estándar para el Intercambio Automático de Información sobre Cuentas Financieras en Materia Fiscal a que se refiere la recomendación adoptada por el Consejo de la OCDE el 15 de julio de 2014, estarán a lo siguiente:

()

Sección VIII: Términos Definidos

()

C. Cuenta Financiera

()

17. El término “Cuenta Excluida” significa cualesquiera de las siguientes cuentas:

()

g)      cualquier otra cuenta que (i) represente bajo riesgo de ser utilizada para la evasión de impuestos, (ii) tenga características sustancialmente similares a cualesquiera de las cuentas descritas en los Subapartados C(17)(a) a (f) de esta Sección y (iii) que se encuentren definidas en la normativa doméstica como una Cuenta Excluida, en la medida en la que el estatus de dicha cuenta como una Cuenta Excluida no frustre los propósitos del Estándar para el Intercambio Automático de Información sobre Cuentas Financieras en Materia Fiscal a que se refiere el artículo 32-B Bis del CFF.

En el caso de México, se encuentran incluidas en la definición anterior las siguientes cuentas:

i)       Se deroga.

ii)      Se deroga.

iii)     las siguientes cuentas de pensiones:

aa)     aportaciones obligatorias administradas por Administradoras de Fondos para el Retiro: una subcuenta de aportaciones obligatorias, en las cuales se depositan las cuotas obrero-patronales y estatales, que son obligatorias de conformidad con la ley y están previstas en las leyes de seguridad social, la Ley del Instituto del Fondo Nacional de la Vivienda para los Trabajadores y la Ley de los Sistemas de Ahorro para el Retiro y en las cuales no existen aportaciones voluntarias o complementarias para el retiro.

bb)     Se deroga.

cc)      aportaciones complementarias administradas por Administradoras de Fondos para el Retiro: una subcuenta de aportaciones complementarias del trabajador, siempre que dichas contribuciones no excedan de cincuenta mil ($50,000.00) dólares estadounidenses en cualquier año.

iv)     un tipo de Cuenta de Depósito (i) con un saldo anual que no exceda de mil ($1,000.00) dólares estadounidenses y (ii) que sea considerada como Cuenta Inactiva.

v)      una Cuenta de Depósito que cumpla con los siguientes requisitos:

aa)     proporciona una serie de servicios específicos y limitados a personas físicas con fines de inclusión financiera,

bb)     los depósitos en el transcurso de un mes calendario no exceden los mil doscientos cincuenta ($1,250.00) dólares estadounidenses (excluyendo aquellos depósitos en los cuales el origen de los recursos provenga exclusivamente de subsidios relativos a programas gubernamentales de apoyo social) y

cc)      la cuenta está sujeta a la aplicación de Procedimientos de AML/KYC simplificados.

vi)     Las demás cuentas que al efecto se publiquen en el Portal del SAT.

En caso de que alguna de las cuentas descritas en los anteriores subincisos incumpla con alguno de los requisitos ahí previstos, dicha cuenta dejará de considerarse como Cuenta Excluida y deberán aplicarse los procedimientos de debida diligencia a que se refieren las Secciones II a VII.

()

Atentamente.

Ciudad de México, a 17 de diciembre de 2021.- Jefa del Servicio de Administración Tributaria,  Mtra. Raquel Buenrostro Sánchez.- Rúbrica.

Anexo 26 de la Resolución Miscelánea Fiscal para 2022

Códigos de Seguridad en cajetillas, estuches, empaques, envolturas o cualquier otro objeto que contenga cigarros u otros tabacos labrados con excepción de puros y otros tabacos labrados hechos enteramente a mano, para la Industria Tabacalera a través de servicios

Contenido

I. Definiciones.

II. Características técnicas y de seguridad del Sistema de códigos de seguridad.

III.      De los servicios de Códigos de Seguridad.

A.      Estándar de Solicitud de Códigos de Seguridad.

B.      Estándar de Consulta del Estado de la Solicitud de Códigos de Seguridad.

C.      Estándar de Recepción de Información de Producción.

D.      Estándar de Descarga de Archivos con Códigos de Seguridad.

E.      Generación de la Firma y Sello para la Solicitud y Descarga de Códigos de Seguridad.

F.      Estándar de Consulta para Códigos Retroalimentados.

G.      Estándar de Disponibilidad de Servicio Activo.

IV.     De las respuestas y Acuses de los servicios web.

A.      Acuse de Recibo de la Solicitud de Códigos de Seguridad.

B.      Respuesta de la Consulta del Estado de la Solicitud.

C.      Acuse de Recibo de la Información de Producción.

D.      Respuesta a la Solicitud de Descarga de Archivos con Códigos de Seguridad.

E.      Acuse de Consulta para Códigos Retroalimentados.

F.      Acuse de Disponibilidad de Servicio Activo.

 

I.       Definiciones

Para los efectos de la regla 5.2.30. de la Resolución Miscelanea Fiscal y las fichas de trámite 36/IEPS “Solicitud de Códigos de Seguridad para impresión”, 43/IEPS “Solicitud que deberán presentar los productores, fabricantes e importadores de cigarros y otros tabacos labrados en el Portal del SAT, de incorporación para la obtención de códigos de seguridad” y 55/IEPS “Solicitud para obtener la conexión con entidades externas o terceros” contenidas en el Anexo 1-A, así como de los apartados del presente Anexo, se entenderá por:

1.      Acceso en línea: Entrada disponible en forma permanente, de manera remota y automatizada a los registros de los Códigos de Seguridad impresos en las cajetillas, estuches, empaques, envolturas o cualquier otro objeto que contenga cigarros u otros tabacos labrados con excepción de puros y otros tabacos labrados hechos enteramente a mano y a la información derivada de los códigos de seguridad.

2.      Conexión con entidades externas o terceros: es una conexión que permite estar conectado permanentemente y de forma segura las 24 horas del día, los 365 días del año, sin requerir el uso de una línea telefónica, es una conexión que no se apaga al dejarla de utilizar y no se enciende al quererla utilizar, es una conexión permanente de alta calidad, con un ancho de banda constante y fijo, tanto en la carga como, en la descarga de información. El servicio de enlace dedicado es contratado por un particular o por una institución pública a una empresa de comunicaciones que brinde dicho servicio.

3.      Información derivada del código de seguridad: Se refiere a la información que emite el Sistema de códigos de seguridad y que consiste en lo siguiente:

a)    Validez del código;

b)    Fecha de manufactura;

c)    Hora de manufactura;

d)    Máquina en la que se fabricó el producto;

e)    Centro de manufactura correspondiente;

f)     Marca comercial;

g)    Nombre del producto;

h)    Tipo del producto;

i)      Cantidad de cigarros u otros tabacos labrados con excepción de puros y otros tabacos labrados hechos enteramente a mano; por cajetilla, estuche, empaque, envoltura o cualquier otro objeto que los contenga.

j)     Mercado de destino;

k)    Reporte de verificaciones;

l)      Denominación o razón social de la tabacalera;

m)   Clave en el RFC de la tabacalera;

n)    País de origen;

o)    Código consecutivo;

p)    Código de aspecto aleatorio.

4.      Infraestructura de impresión: Son todos aquellos elementos técnicos, de cómputo, de muebles y demás que la tabacalera deberá proveer a su costo.

5.      Plan de continuidad de negocio (BCP): Plan logístico para la práctica de cómo una organización debe recuperar y restaurar sus funciones críticas parcial o totalmente interrumpidas dentro de un tiempo predeterminado después de una interrupción no deseada. Son parte del BCP las acciones, procedimientos, personal responsable, así como los recursos humanos, materiales, financieros y tiempos y movimiento necesarios para dar continuidad de los servicios principales, afectados por el incidente que provocó la interrupción.

6.      Plan de Recuperación de Desastres (DRP): Proceso de recuperación que cubre los datos, hardware, software y comunicaciones, para que un negocio, institución o empresa pueda comenzar de nuevo sus operaciones o servicios críticos en el menor tiempo posible en caso de materializarse una amenaza derivada de un desastre natural o causado por humanos. El DRP deberá de incluir las acciones, procedimientos, personal responsable, así como los recursos humanos, materiales, financieros, tiempos y movimientos necesarios para restablecer los servicios vitales para la operación de la organización.

7.      Plataforma de verificación del SAT: Conjunto de aplicaciones del SAT que permite verificar la validez de los códigos de seguridad a través de la consulta de la información derivada.

8.      Sistema de Generación de códigos de seguridad: Conjunto de programas y equipos de cómputo destinados y administrados por el SAT para la generación de los códigos de seguridad.

9.      Tabacalera: Productor, fabricante o importador de cigarros y otros tabacos labrados, con excepción de puros y otros tabacos labrados hechos enteramente a mano.

10.    Tiempo real: Momento en que la información contenida en los códigos de seguridad deberá estar a disposición de las autoridades cuando se lleve a cabo la verificación de dichos códigos. Se entenderá que se cumple con la obligación de proporcionar la información en tiempo real, cuando la verificación se logre hasta en un plazo de 72 horas contadas a partir de la impresión del código. El SAT se reserva el derecho de modificar este plazo de acuerdo a las necesidades de la operación, para lo cual notificará a las tabacaleras.

11.    Verificación de códigos de seguridad por las autoridades: Procedimiento a través del cual el SAT o cualquier otra autoridad podrá verificar la validez de los códigos de seguridad mediante la Plataforma de Verificación del SAT.

12.    Verificación de códigos de seguridad por los consumidores: Consulta que podrán realizar los consumidores para verificar la validez de los códigos de seguridad a través de la Plataforma de Verificación del SAT.

II.       Características técnicas y de seguridad del Sistema de códigos de seguridad

Características técnicas

Para efectos del presente Anexo, el sistema de códigos de seguridad deberá cumplir con lo siguiente:

1.     Declaración de namespaces. Se verificará la correcta definición de namespaces, haciendo la referencia a la ruta publicada por el SAT en donde se encuentra el esquema de XSD.

2.     Validación de datos requeridos. Se validarán los campos obligatorios de los esquemas de Códigos de Seguridad que cumplan con el esquema de datos definido.

3.     Validaciones adicionales. Se validarán reglas de negocio aplicables.

4.     Validación de flujos. Se validará el cumplimiento del paso por cada componente que integre el servicio de punta a punta.

III.      De los servicios de Códigos de Seguridad:

A.      Estándar de solicitud de Códigos de Seguridad

          El contribuyente que opte por solicitar códigos de seguridad por medio de los servicios web disponibles deberá generarlos bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, la solicitud deberá estar referenciada 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/Tabacos/1/Solicitud/TBCSlcCodSeg.xsd) de la siguiente manera:

          <slccodseg:TBCSlcCodSeg

        xmlns: slccodseg = "http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Solicitud"

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

        xsi:schemaLocation="

        http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Solicitud

        http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Solicitud/TBCSlcCodSegv.xsd"

          ……………..

          </slccodseg:TBCSlcCodSeg>

          Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que opte por este mecanismo de operación de Códigos de Seguridad 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 global, utilizado por los servicios web en sus diversos esquemas, se publican en formato xsd en la ruta: (http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos/catTabacos.xsd), para ser incluidos cuando el servicio lo requiera.

Estructura

Elementos

 

Elemento: TBCSlcCodSeg

 

Diagrama

 

 

Descripción

 

 

Estándar de Solicitud de Códigos de Seguridad para Tabacos

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha de la solicitud de Códigos de Seguridad

 

Uso

requerido

 

Tipo Base

xs:dateTime

 

RFCProveedorCertificado

 

Descripción

Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Solicitud (1, 1)

 

 

 

 

Elemento: Solicitud

 

Diagrama

 

 

 

 

 

Descripción

 

 

Nodo obligatorio para expresar la solicitud de Códigos de Seguridad

 

Atributos

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguridad

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

TipoContribuyente

 

Descripción

Atributo requerido para expresar el tipo de contribuyente. 1. Fabricante, 2. Importador, 3. Ambos

 

Uso

requerido

 

Tipo Especial

cat:catTipoContribuyente

 

CantidadCodigos

 

Descripción

Atributo requerido para expresar el número Total de Códigos de Seguridad Solicitados

 

Uso

requerido

 

Tipo Base

xs:integer

 

Valor Mínimo Incluyente

1

 

 

Origen

 

Descripción

Atributo requerido para expresar el país de origen del producto.

 

Uso

requerido

 

Tipo Especial

cat:catPais

 

Firma

 

Descripción

Atributo requerido para contener la firma digital del emisor o contribuyente que solicita los códigos de seguridad. La firma deberá ser expresada como una cadena de texto en formato base 64.

 

Uso

requerido

 

Tipo Base

xs:string

 

Cert

 

Descripción

Atributo requerido que sirve para incorporar el certificado de sello digital del emisor o contribuyente que ampara la solicitud como texto, en formato base 64.

 

Uso

requerido

 

Tipo Base

xs:string

 

NumCert

 

Descripción

Atributo requerido para expresar el número de serie del certificado del emisor o contribuyente.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud

20

 

Elementos Hijo (min,max)

Secuencia (1, N)

Pagos (1, N)

 

Elemento: Pagos

 

Diagrama

 

 

 

Descripción

 

 

Nodo obligatorio para expresar las llaves de pagos de los Codigos de Seguridad.

 

 

Atributos

 

 

llavePago

 

Descripción

Atributo requerido que sirve para incorporar el número de identificador único de documento de pago que ha realizado el contribuyente.

 

Uso

requerido

 

Tipo Especial

cat:cLLavePago

 

Longitud

10

 

fechaPago

 

Descripción

Atributo requerido para expresar la fecha de pago de la Llave de Pago de derecho.

 

Uso

requerido

 

Tipo Base

xs:date

 

importePago

 

Descripción

Atributo requerido para expresar la cantidad pagada de la Llave de Pago de derecho.

 

Uso

requerido

 

Tipo Especial

xs:decimal

 

Valor Mínimo Exclusivo

1

 

Valor de dígitos de fracción

2

 

 

Código Fuente

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

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

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

    <xs:element name="TBCSlcCodSeg">

        <xs:annotation>

            <xs:documentation>Estándar de Solicitud de Códigos de Seguridad para Tabacos</xs:documentation>

        </xs:annotation>

        <xs:complexType>

            <xs:sequence>

                <xs:element name="Solicitud">

                    <xs:annotation>

                        <xs:documentation>Nodo obligatorio para expresar la solicitud de Códigos de Seguridad</xs:documentation>

                    </xs:annotation>

                    <xs:complexType>

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

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguirdad</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                        <xs:attribute name="TipoContribuyente" type="cat:catTipoContribuyente" use="required">

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar  el tipo de contribuyente. 1. Fabricante 2. Importador 3. Ambos</xs:documentation>

                            </xs:annotation>

 

                        </xs:attribute>

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

                            <xs:annotation>

                                <xs:documentation>Aributo requerido para expresar el número Total de Códigos de Seguridad Solicitados</xs:documentation>

                            </xs:annotation>

                            <xs:simpleType>

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

                                    <xs:minInclusive value="1"/>

                                    <xs:maxInclusive value="999999999"/>

                                </xs:restriction>

                            </xs:simpleType>

                        </xs:attribute>

                        <xs:attribute name="Origen" type="cat:catPais" use="required">

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar el país de origen del producto.</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                    

                        <xs:attribute name="Firma" type="cat:catTipoFirma" use="required">

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para contener la firma digital del emisor o contribuyente que solicita los códigos de seguridad. La firma deberá ser expresada como una cadena de texto en formato base 64.</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                     

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

                                                                                                                <xs:annotation>

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

                                                                                                                </xs:annotation>

                                                                                                </xs:attribute>

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

                                                                                                                <xs:annotation>

                                                                                                                                <xs:documentation>Atributo requerido para expresar el número de serie del certificado 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:element name="Pagos">

                    <xs:annotation>

                        <xs:documentation>Nodo obligatorio para expresar las llaves de pagos de los Codigos de Seguridad</xs:documentation>

                    </xs:annotation>

                    <xs:complexType>

 

                        <xs:attribute name="llavePago" type="cat:cLLavePago" use="required">

                            <xs:annotation>

                                <xs:documentation>Atributo requerido que sirve para incorporar el número de identificador único de documento de pago que ha realizado el contribuyente.</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                        <xs:attribute name="fechaPago"  type="xs:date" use="required">

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar la fecha de pago de la Llave de Pago de derecho.</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                        <xs:attribute name="importePago" type="xs:decimal" use="required">

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar la cantidad pagada de la Llave de Pago de derecho.</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                                         

                    </xs:complexType>

                </xs:element>

                    </xs:complexType>

                </xs:element>

                             

                             

                             

            </xs:sequence>

         

          

        

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

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

                </xs:annotation>

            </xs:attribute>

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

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar la fecha de la solicitud de Códigos de Seguridad</xs:documentation>

                </xs:annotation>

            </xs:attribute>

            <xs:attribute name="RFCProveedorCertificado" type="cat:tipoRFC" use="required">

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.</xs:documentation>

                </xs:annotation>

            </xs:attribute>

        </xs:complexType>

    </xs:element>

</xs:schema>

B.      Estándar de Consulta del estado de la Solicitud de Códigos de Seguridad

          El contribuyente que opte por consultar el estado de la solicitud de códigos de seguridad por medio de los servicios web disponibles deberá generarlos bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, la solicitud deberá estar referenciada 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/Tabacos/1/Consulta/TBCConsulFolio.xsd) de la siguiente manera:

          <confol:TBCConsulFolio

        xmlns:confol="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta"

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

        xsi:schemaLocation="

        http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta

        http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta/TBCConsulFolio.xsd"

          ……………..

          </confol:TBCConsulFolio>

          Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que opte por este mecanismo de operación de Códigos de Seguridad 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 global, utilizado por los servicios web en sus diversos esquemas, se publican en formato xsd en la ruta: (http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos/cat Tabacos.xsd), para ser incluidos cuando el servicio lo requiera.

Estructura

Elementos

 

Elemento: TBCConsulFolio

 

Diagrama

 

 

Descripción

 

 

Estándar para la consulta del estado de la Solicitud de Códigos de Seguridad para Tabacos

 

 

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

RFCProveedorCertificado

 

Descripción

Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Folios (1, 1)

 

Elemento: Folios

 

Diagrama

 

 

Descripción

 

 

Nodo requerido para expresar el Folio asignado a la solicitud de códigos de seguridad

 

Atributos

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguridad

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Folio

 

Descripción

Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad

 

Uso

requerido

 

Tipo Base

xs:string

 

Código Fuente

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

<xs:schema xmlns:confol="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos" targetNamespace=http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta

elementFormDefault="qualified" attributeFormDefault="unqualified">

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

             <xs:element name="TBCConsulFolio">

                             <xs:annotation>

                                             <xs:documentation>Estándar para la consulta del estado de la Solicitud de Códigos de Seguridad para Tabacos</xs:documentation>

                             </xs:annotation>

                             <xs:complexType>

                                             <xs:sequence>

                                                             <xs:element name="Folios">

                                                                             <xs:annotation>

                                                                                             <xs:documentation>Nodo requerido para expresar el Folio asignado a la solicitud de códigos de seguridad</xs:documentation>

                                                                             </xs:annotation>

                                                                             <xs:complexType>

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

                                                                                                             <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguridad</xs:documentation>

                                                                                                             </xs:annotation>

                                                                                             </xs:attribute>

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

                                                                                                             <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad</xs:documentation>

                                                                                                             </xs:annotation>

                                                                                             </xs:attribute>

                                                                             </xs:complexType>

                                                             </xs:element>

                                             </xs:sequence>

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

                                                             <xs:annotation>

                                                                             <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

                                                             </xs:annotation>

                                             </xs:attribute>

                                             <xs:attribute name="RFCProveedorCertificado" type="cat:tipoRFC" use="required">

                                                             <xs:annotation>

                                                                             <xs:documentation>Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.</xs:documentation>

                                                             </xs:annotation>

                                             </xs:attribute>

                             </xs:complexType>

             </xs:element>

</xs:schema>

C.      Estándar de recepción de información de producción.

          El contribuyente que opte por enviar la información de producción de los códigos de seguridad por medio de los servicios web disponibles deberá generarlos bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, la solicitud deberá estar referenciada 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/Tabacos/1/Retroalimentacion /TBCRetroInfo.xsd) de la siguiente manera:

          <retro:TBCRetroInfo

          xmlns:retro=http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Retroalimentacion

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Retroalimentacion http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Retroalimentacion/TBCRetroInfo.xsd"

          ……………..

          </retro:TBCRetroInfo>

          Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que opte por este mecanismo de operación de Códigos de Seguridad 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 global, utilizado por los servicios web en sus diversos esquemas, se publican en formato xsd en la ruta: (http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos/catTabacos.xsd), para ser incluidos cuando el servicio lo requiera.

Estructura

Elementos

 

Elemento: TBCRetroInfo

 

Diagrama

 

 

 

 

 

 

 

Descripción

 

 

Estándar de la retroalimentación de Información de los códigos de seguridad para Tabacos

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha del informe

 

Uso

requerido

 

Tipo Base

xs:dateTime

 

RFCProveedorCertificado

 

Descripción

Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Elementos Hijo (min,max)

 

 

Opción (1, 1)

Produccion (1, Ilimitado)

Destruccion (1, Ilimitado)

CodigosNoValidos (1, Ilimitado)

 

 

Elemento: Produccion

 

 

Diagrama

 

 

Descripción

 

 

 

Nodo Opcional para expresar las actualizaciones de información de los Códigos de Seguridad impresos por el Contribuyente

 

Atributos

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Marca

 

Descripción

Atributo requerido para expresar la marca del producto al que se le asignaron Códigos de Seguridad

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud

6

 

Patrón

[0-4][0-9]{5}

 

CantidadCigarros

 

Descripción

Atributo requerido para expresar el número Total de cigarros que contiene el producto

 

Uso

requerido

 

Tipo Base

xs:integer

 

Dígitos Totales

4

 

Valor Mínimo Incluyente

0

 

 

CantidadProduccion

 

Descripción

Atributo requerido para expresar la cantidad de cajetillas, estuches, empaques, envolturas o cualquier otro objeto que contenga cigarros u otros tabacos labrados con excepción de puros y otros tabacos labrados hechos enteramente a mano  producidas en este rango de códigos

 

Uso

requerido

 

Tipo Base

xs:integer

 

PlantaProduccion

 

 

Descripción

Atributo requerido para expresar la Planta de producción donde se imprimieron los Códigos de Seguridad

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

255

 

MaquinaProduccion

 

Descripción

Atributo requerido para expresar la Máquina de producción que imprimió los Códigos de Seguridad

 

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

50

 

LoteProduccion

 

Descripción

Atributo requerido para expresar el Lote de producción al que pertenece el producto

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

20

 

LineaProd

 

 

Descripción

Atributo requerido para expresar la línea de producción del producto.

 

 

Uso

requerido

 

 

Tipo Base

xs:integer

 

 

Dígitos Totales

3

 

 

Valor Mínimo Incluyente

0

 

 

FechaHoraProd

 

Descripción

Atributo requerido para expresar la fecha y hora en la que se realizó la producción.

 

 

Uso

requerido

 

 

Tipo Base

xs:dateTime

 

 

Origen

 

Descripción

Atributo requerido para expresar el país de origen del producto.

 

 

Uso

requerido

 

 

Tipo Base

xs:string

 

 

FechaImportacion

 

Descripción

Atributo opcional para expresar la fecha de importación del producto.

 

 

Uso

opcional

 

 

Tipo Base

xs:date

 

 

 

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Rangos (1, Ilimitado)

 

Elemento: Rangos

 

Diagrama

 

 

Descripción

 

 

Nodo requerido para expresar los rangos de los identificadores de Códigos de Seguridad

 

Tipo Raiz

 

 

cat:RangoCodigosSeguridad

Elemento: Destruccion

 

Diagrama

 

 

 

 

Descripción

 

 

Nodo opcional para expresar los Códigos de Seguridad que fueron destruidos por el Contribuyente

 

 

 

Atributos

 

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Marca

 

Descripción

Atributo requerido para expresar la marca del producto al que se le asignaron Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud

6

 

Patrón

[0-4][0-9]{5}

 

PlantaProduccion

 

Descripción

Atributo requerido para expresar la Planta de producción donde se imprimieron los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

255

 

MaquinaProduccion

 

Descripción

Atributo requerido para expresar la Máquina de producción que imprimió los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

50

 

LoteProduccion

 

Descripción

Atributo requerido para expresar el Lote de producción al que pertenece el producto.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

20

 

 

CantidadProduccion

 

Descripción

Atributo requerido para expresar el número Total de productos.

 

Uso

requerido

 

Tipo Base

xs:integer

 

Dígitos Totales

4

 

Valor Mínimo Incluyente

0

 

TipoRetroalimentacion

 

 

 

 

 

 

Descripción

Atributo requerido para expresar el tipo de retroalimentación 3. Destrucción 4. Desperdicios

 

Uso

requerido

 

Tipo Especial

cat:catTipoRetroalimentacion

 

Origen

 

Descripción

Atributo requerido para expresar el país de origen del producto.

 

Uso

requerido

 

Tipo Base

xs:string

 

FechaHoraReg

 

Descripción

Atributo requerido para expresar la fecha y hora del registro.

 

Uso

requerido

 

Tipo Base

xs:dateTime

 

CantidadDestruccion

 

Descripción

Atributo requerido para expresar el número total de productos en destrucción o desperdicios.

 

Uso

requerido

 

Tipo Base

xs:integer

 

Valor Mínimo Incluyente

1

 

 

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Rangos (1, Ilimitado)

 

Elemento: Rangos

 

Diagrama

 

 

Descripción

 

 

Nodo requerido para expresar los rangos de los identificadores de Códigos de Seguridad

 

Tipo Raiz

 

 

cat:RangoCodigosSeguridad

 

 

Elemento: CodigosNoValidos

 

Diagrama

 

 

Descripción

 

 

Nodo opcional para expresar los Códigos de Seguridad marcados como Falsos por el Contribuyente

 

Atributos

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Justificacion

 

Descripción

Atributo requerido para expresar la justificación

 

Uso

requerido

 

Tipo Base

xs:string

 

 

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Rangos (1, Ilimitado)

Elemento: Rangos

 

Diagrama

 

 

Descripción

 

 

Nodo requerido para expresar los rangos de los identificadores de Códigos de Seguridad

 

Tipo Raiz

 

 

cat:RangoCodigosSeguridad

 

Código Fuente

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

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

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

          <xs:element name="TBCRetroInfo">

                          <xs:annotation>

                                          <xs:documentation>Estándar de la retroalimentación de Información de los códigos de seguridad para Tabacos</xs:documentation>

                          </xs:annotation>

                          <xs:complexType>

                                          <xs:choice>

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

                                                                          <xs:annotation>

                                                                                          <xs:documentation>Nodo Opcional para expresar las actualizaciones de información de los Códigos de Seguridad impresos por el Contribuyente</xs:documentation>

                                                                          </xs:annotation>

                                                                          <xs:complexType>

                                                                                          <xs:sequence>

                                                                                                          <xs:element name="Rangos" type="cat:RangoCodigosSeguridad" maxOccurs="unbounded">

                                                                                                                          <xs:annotation>

                                                                                                                                          <xs:documentation>Nodo requerido para expresar los rangos de los identificadores de Códigos de Seguridad</xs:documentation>

                                                                                                                          </xs:annotation>

                                                                                                          </xs:element>

                                                                                          </xs:sequence>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los Códigos de Seguridad.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la marca del producto al que se le asignaron Códigos de Seguridad</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:length value="6"/>

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

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el número Total de cigarros que contiene el producto</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:minInclusive value="0"/>

                                                                                                                                          <xs:totalDigits value="4"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

                                                                                          <xs:attribute name="CantidadProduccion"  type="xs:integer" use="required">

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la cantidad de cajetillas producidas en este rango de códigos</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la Planta de producción donde se imprimieron los Códigos de Seguridad</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:maxLength value="255"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la Máquina de producción que imprimió los Códigos de Seguridad</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:maxLength value="50"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el Lote de producción al que pertenece el producto</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:maxLength value="20"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la línea de producción del producto</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:minInclusive value="0"/>

                                                                                                                                          <xs:totalDigits value="3"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

                                                                                          <xs:attribute name="FechaHoraProd" type="xs:dateTime" use="required">

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la fecha y hora en la que se realizó la producción</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el país de origen del producto</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

                                                                                          <xs:attribute name="FechaImportacion" type="xs:date" use="optional">

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo opcional para expresar la fecha de importación del producto</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

                                                                          </xs:complexType>

                                                          </xs:element>

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

                                                                          <xs:annotation>

                                                                                          <xs:documentation>Nodo opcional para expresar los Códigos de Seguridad que fueron destruidos por el Contribuyente</xs:documentation>

                                                                          </xs:annotation>

                                                                          <xs:complexType>

                                                                                          <xs:sequence>

                                                                                                          <xs:element name="Rangos" type="cat:RangoCodigosSeguridad" maxOccurs="unbounded">

                                                                                                                          <xs:annotation>

                                                                                                                                          <xs:documentation>Nodo requerido para expresar los rangos de los identificadores de Códigos de Seguridad</xs:documentation>

                                                                                                                          </xs:annotation>

                                                                                                          </xs:element>

                                                                                          </xs:sequence>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los Códigos de Seguridad.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la marca del producto al que se le asignaron Códigos de Seguridad.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:length value="6"/>

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

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la Planta de producción donde se imprimieron los Códigos de Seguridad.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:maxLength value="255"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la Máquina de producción que imprimió los Códigos de Seguridad.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:maxLength value="50"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el Lote de producción al que pertenece el producto.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:maxLength value="20"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el número Total de productos.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:minInclusive value="0"/>

                                                                                                                                          <xs:totalDigits value="4"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

                                                                                          <xs:attribute name="TipoRetroalimentacion" type="cat:catTipoRetroalimentacion" use="required">

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el tipo de retroalimentación 3. Destrucción 4. Desperdicios</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el país de origen del producto.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

                                                                                          <xs:attribute name="FechaHoraReg" type="xs:dateTime" use="required">

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la fecha y hora del registro.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el número total de productos en destrucción o desperdicios.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                                          <xs:simpleType>

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

                                                                                                                                          <xs:minInclusive value="1"/>

                                                                                                                          </xs:restriction>

                                                                                                          </xs:simpleType>

                                                                                          </xs:attribute>

                                                                          </xs:complexType>

                                                          </xs:element>

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

                                                                          <xs:annotation>

                                                                                          <xs:documentation>Nodo opcional para expresar los Códigos de Seguridad marcados como Falsos por el Contribuyente</xs:documentation>

                                                                          </xs:annotation>

                                                                          <xs:complexType>

                                                                                          <xs:sequence>

                                                                                                          <xs:element name="Rangos" type="cat:RangoCodigosSeguridad" maxOccurs="unbounded">

                                                                                                                          <xs:annotation>

                                                                                                                                          <xs:documentation>Nodo requerido para expresar los rangos de los identificadores de Códigos de Seguridad</xs:documentation>

                                                                                                                          </xs:annotation>

                                                                                                          </xs:element>

                                                                                          </xs:sequence>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los Códigos de Seguridad.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la justificación </xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

                                                                          </xs:complexType>

                                                          </xs:element>

                                          </xs:choice>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la fecha del informe</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

                                          <xs:attribute name="RFCProveedorCertificado" type="cat:tipoRFC"  use="required">

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

                          </xs:complexType>

          </xs:element>

</xs:schema>

D.      Estándar de Descarga de Archivos con Códigos de Seguridad.

          El contribuyente que opte por descargar los archivos con códigos de seguridad por medio de los servicios web disponibles deberá generarlos bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, la solicitud deberá estar referenciada 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/Tabacos/1/Descarga/TBCSlcDescarga.xsd) de la siguiente manera:

          <slcdesc:TBCSolDescarga

          xmlns:slcdesc="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga/TBCSlcDescarga.xsd"

          ……………..

          </slcdesc:TBCSolDescarga>

          Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que opte por este mecanismo de operación de Códigos de Seguridad 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 global, utilizado por los servicios web en sus diversos  esquemas, se publican en formato xsd en la ruta: (http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos/catTabacos.xsd), para ser incluidos cuando el servicio lo requiera.

Estructura

Elementos

 

Elemento: TBCSolDescarga

 

Diagrama

 

 

 

 

 

Descripción

 

 

Estándar de la solicitud de la descarga de archivos de códigos de seguridad

 

Atributos

 

 

Versión

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente que solicitó los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Folio

 

Descripción

Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

NomArch

 

Descripción

Atributo requerido para expresar el Nombre del archivo de Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

Firma

 

Descripción

Atributo requerido para expresar la Firma de la solicitud de descarga.

 

Uso

requerido

 

Tipo Base

xs:string

 

Cert

 

Descripción

Atributo requerido que sirve para incorporar el certificado de sello digital del emisor o contribuyente que ampara la solicitud como texto, en formato base 64.

 

Uso

requerido

 

Tipo Base

xs:string

 

NumCert

 

Descripción

Atributo requerido para expresar el número de serie del certificado del emisor o contribuyente.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud

20

 

Código Fuente

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

<xs:schema xmlns:slcdesc="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga"

elementFormDefault="qualified" attributeFormDefault="unqualified">

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

          <xs:element name="TBCSolDescarga">

                          <xs:annotation>

                                          <xs:documentation>Estándar de la solicitud de la descarga de archivos de códigos de seguridad</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 formato.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente que solicitó los Códigos de Seguridad.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el Nombre del archivo de Códigos de Seguridad.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la Firma de la solicitud de descarga.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

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

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el número de serie del certificado 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:complexType>

          </xs:element>

</xs:schema>

E.      Generación de la firma para la solicitud y descarga de códigos de seguridad.

          Elementos utilizados en la generación de la firma:

·        Cadena Original, el elemento a firmar de la solicitud o descarga de códigos de seguridad.

·        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 de 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 de la solicitud o descarga de códigos de seguridad. Siguiendo para ello las reglas y la secuencia aquí especificada:

          Reglas Generales:

1.     Ninguno de los atributos que conforman las operaciones con códigos de seguridad deberán contener el carácter | (“pipe”) debido a que éste 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 el valor del atributo “País” es “MX” solo se expresará |MX| y nunca |País MX|.

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.

          Secuencia de Formación:

          Solicitud de códigos de seguridad.

1.     Información del Nodo: Solicitud

a)      RFC

2.     Información del Nodo: TBCSlcCodSeg

a)      Fecha

3.     Información del Nodo: Solicitud

a)      CantidadCodigos

4.     Información del Nodo: Solicitud

a)      Version

b)      RFCProveedorCertificado

c)      Descarga de archivos

5.     Información del Nodo: TBCSolDescarga

a)      RFC

b)      Nomarch

c)      Folio

d)      Version

e)      RFCProveedorCertificado

          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=

F.      Estándar de Consulta para Códigos Retroalimentados.

          El contribuyente que consulte la información de los códigos retroalimentados por medio del servicio web deberá generarlo bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, 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/Tabacos/1/ConsultaCodigo/TBCConsulCodigo.xsd) de la siguiente manera:

          <conCod:TBCConsulCodigo

          xmlns: conCod ="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/ConsultaCodigo"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/ConsultaCodigo

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/ConsultaCodigo/TBCConsulCodigo.xsd"

          ……………..

          </conCod:TBCConsulCodigo>

          Cadena Original

          Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro de la solicitud o descarga de códigos de seguridad. Siguiendo para ello las reglas y la secuencia aquí especificada:

          Reglas Generales:

1.     Ninguno de los atributos que conforman las operaciones con códigos de seguridad deberán contener el carácter | (“pipe”) debido a que éste 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 el valor del atributo “País” es “MX” solo se expresará |MX| y nunca |País MX|.

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.

          Secuencia de Formación:

1.      RFCContribuyente

2.      Codigo

3.      Version

          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.

Estructura

Elementos

 

Elemento: TBCConsulCodigo

 

Diagrama

 

 

Descripción

 

 

Estándar de la consulta de códigos retroalimentados.

 

Atributos

 

 

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Tipo Base

xs:string

 

Valor Fijo

1.0

 

Codigo

 

Descripción

Atributo requerido para el código a consultar.

 

Uso

requerido

 

Tipo Base

xs:string

 

Patron

[A-Z0-9]{12}

 

Firma

 

Descripción

Atributo requerido para contener la firma digital. La firma deberá ser expresada como una cadena de texto en formato base 64.

 

Uso

requerido

 

Tipo Base

xs:string

 

RFCContribuyente

 

Descripción

Atributo requerido para expresar el RFC del contribuyente.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Código Fuente

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

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

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

  <xs:element name="TBCConsulCodigo">

<xs:annotation>

  <xs:documentation>Estándar de la consulta de códigos retroalimentados.</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 formato.</xs:documentation>

</xs:annotation>

  </xs:attribute>

  <xs:attribute name="RFCContribuyente" type="cat:tipoRFC" use="required">

<xs:annotation>

  <xs:documentation>Atributo requerido para expresar el RFC del contribuyente.</xs:documentation>

</xs:annotation>

  </xs:attribute>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para el código a consultar.</xs:documentation>

</xs:annotation>

<xs:simpleType>

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

<xs:pattern value="[A-Z0-9]{12}"/>

  </xs:restriction>

</xs:simpleType>

  </xs:attribute>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para contener la firma 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>

 

G.     Estándar de Disponibilidad de Servicio Activo

          El contribuyente que consulte la disponibilidad de servicio activo, por medio del servicio web deberá generarlo bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, 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/Tabacos/1/Monitoreo/TBCMonServicio.xsd) de la siguiente manera:

          <solmonitor:TBCMonServicio

          xmlns:solmonitor="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Monitoreo"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Monitoreo

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Monitoreo/TBCMonServicio.xsd"

          ……………..

          </solmonitor:TBCAcuseMonServicio>

          Cadena Original

          Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro de la solicitud o descarga de códigos de seguridad. Siguiendo para ello las reglas y la secuencia aquí especificada:

          Reglas Generales:

1.     Ninguno de los atributos que conforman las operaciones con códigos de seguridad deberán contener el carácter | (“pipe”) debido a que éste 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 el valor del atributo “País” es “MX” solo se expresará |MX| y nunca |País MX|.

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.

          Secuencia de Formación:

1.      RFCContribuyente

2.      Version

          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.

Estructura

Elementos

 

Elemento: TBCMonServicio

 

Diagrama

 

 

Descripción

 

 

Estándar de la solicitud para monitoreo de servicio activo.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Tipo Base

xs:string

 

Valor Fijo

1.0

 

 

Firma

 

Descripción

Atributo requerido para contener la firma digital. La firma deberá ser expresada como una cadena de texto en formato base 64.

 

Uso

requerido

 

Tipo Base

xs:string

 

RFCContribuyente

 

Descripción

Atributo requerido para expresar el RFC del contribuyente.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Código Fuente

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

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

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

  <xs:element name="TBCMonServicio">

<xs:annotation>

  <xs:documentation>Estándar del la solicitud para monitoreo de servicio activo.</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 formato.</xs:documentation>

</xs:annotation>

  </xs:attribute>

  <xs:attribute name="RFCContribuyente" type="cat:tipoRFC" use="required">

<xs:annotation>

  <xs:documentation>Atributo requerido para expresar el RFC del contribuyente.</xs:documentation>

</xs:annotation>

  </xs:attribute>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para contener la firma 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>

 

IV.     De las Respuestas y Acuses de los servicios web

A.      Acuse de Recibo de la solicitud de códigos de seguridad.

          El contribuyente que haya enviado la solicitud de códigos de seguridad por medio del servicio web recibirá un Acuse de Recibo generado bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, 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/Tabacos/1/Solicitud/Acuse/TBCAcuRboSlc.xsd) de la siguiente manera:

          <acurboslc:TBCAcuRboSlc

          xmlns:acurboslc="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Solicitud/Acuse"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Solicitud/Acuse http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Solicitud/Acuse/TBCAcuRboSlc.xsd"

          ……………..

          </acurboslc:TBCAcuRboSlc>

Estructura

Elementos

 

Elemento: TBCAcuRboSlc

 

Diagrama

 

 

 

 

 

 

Descripción

 

 

Estándar de Acuse de Recibo para la solicitud de Códigos de Seguridad para Tabacos.

 

Atributos

 

 

importeTotalCodigos

 

 

Descripción

Atributo requerido para expresar el total del importe de los pagos realizado por el contribuyente

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Especial

xs:string

importeTotalDpa

 

 

Descripción

Atributo requerido para expresar el total de importe de las llaves ingresadas.

 

 

 

 

Uso

requerido

 

 

Valor Prefijado

1.0

 

 

Tipo Especial

xs:string

 

 

Version

 

 

Descripción

Atributo requerido para expresar la versión del formato.

 

 

Uso

requerido

 

 

Valor Prefijado

1.0

 

 

Tipo Especial

xs:string

 

Fecha

 

 

Descripción

Atributo requerido para expresar la fecha del Acuse de Recibo.

 

 

Uso

requerido

 

 

Tipo Especial

xs:dateTime

 

 

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Acuse (1, 1)

 

Elemento: Acuse

 

Diagrama

 

 

 

 

Descripción

 

 

Nodo requerido para expresar el acuse de recepción de la solicitud de Códigos de Seguridad

 

Atributos

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Folio

 

Descripción

Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

xs:string

 

CantidadCodigos

 

Descripción

Atributo requerido para expresar el número Total de Códigos Solicitados.

 

Uso

requerido

 

Tipo Base

xs:integer

 

Valor Mínimo Incluyente

1

 

FolioAcuse

 

Descripción

Atributo requerido para expresar el folio del Acuse.

 

Uso

requerido

 

Tipo Especial

xs:string

 

Sello

 

Descripción

Atributo requerido para expresar el Sello de la operación que se está realizando.

 

Uso

requerido

 

Tipo Especial

xs:string

 

 

 

Código Fuente

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

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

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

    <xs:element name="TBCAcuRboSlc">

        <xs:annotation>

            <xs:documentation>Estándar de Acuse de Recibo para la solicitud de Códigos de Seguridad para Tabacos</xs:documentation>

        </xs:annotation>

        <xs:complexType>

            <xs:sequence>

                <xs:element name="Acuse">

                    <xs:annotation>

                        <xs:documentation>Nodo requerido para expresar el acuse de recepcion de la solicitud de Códigos de Seguridad</xs:documentation>

                    </xs:annotation>

                    <xs:complexType>

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

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguirdad</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

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

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

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

                            <xs:annotation>

                                <xs:documentation>Aributo requerido para expresar el número Total de Códigos Solicitados</xs:documentation>

                            </xs:annotation>

                            <xs:simpleType>

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

                                    <xs:minInclusive value="1"/>

                                </xs:restriction>

                            </xs:simpleType>

                        </xs:attribute>

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

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar total del costo de codigos de tabacos</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

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

                            <xs:annotation>

                                <xs:documentation>Atributo requerido para expresar el Sello de la operación que se está realizando.</xs:documentation>

                            </xs:annotation>

                        </xs:attribute>

                                          

                    </xs:complexType>

                </xs:element>

            </xs:sequence>

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

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar el total del importe de los pagos realizado por el contribuyente</xs:documentation>

                </xs:annotation>

            </xs:attribute>

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

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar el total de importe de las llaves ingresadas</xs:documentation>

                </xs:annotation>

            </xs:attribute>

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

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

                </xs:annotation>

            </xs:attribute>

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

                <xs:annotation>

                    <xs:documentation>Atributo requerido para expresar la fecha del Acuse de Recibo</xs:documentation>

                </xs:annotation>

            </xs:attribute>

        </xs:complexType>

    </xs:element>

</xs:schema>

B.      Respuesta de la Consulta del estado de la solicitud.

          El contribuyente que consulte el estado de la solicitud de códigos de seguridad por medio del servicio web recibirá una respuesta generada bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validada, deberá estar referenciada al namespace y la validación de la misma 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/Tabacos/1/Consulta/Resp/TBCRespConsulFolio.xsd) de la siguiente manera:

          <rconfol:TBCRespConsulFolio

          xmlns:rconfol=”http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta/Resp”

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta/Resp http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Consulta/Resp/TBCRespConsulFolio.xsd"

          ……………..

          </rconfol:TBCRespConsulFolio>

Estructura

Elementos

 

Elemento: TBCRespConsulFolio

 

Diagrama

 

 

 

 

 

 

Descripción

 

 

Estándar de la respuesta de la Consulta de Folios asignados a las solicitudes de Códigos de Seguridad para Tabacos.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

RFCProveedorCertificado

 

Descripción

Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Folio (1, 1)

 

Elemento: Folio

 

Diagrama

 

 

 

 

Descripción

 

 

Nodo requerido para expresar el estado del Folio de la solicitud de códigos de seguridad.

 

Atributos

 

 

Folio

 

Descripción

Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguridad.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Estado

 

Descripción

Atributo requerido para expresar el estado de la solicitud de Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Archivos (0, Ilimitado)

 

Elemento: Archivos

 

Diagrama

 

 

 

 

Descripción

 

 

Nodo opcional para expresar los archivos relacionados con la solicitud de Códigos de Seguridad.

 

Atributos

 

 

NomArch

 

Descripción

Atributo requerido para expresar el Nombre del archivo de Códigos de Seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

CantidadCodigos

 

Descripción

Atributo requerido para expresar el número total de Códigos de Seguridad contenidos en el archivo.

 

Uso

requerido

 

Tipo Base

xs:integer

 

Checksum

 

Descripción

Atributo requerido para expresar la Suma de verificación del archivo de Códigos de seguridad.

 

Uso

requerido

 

Tipo Base

xs:string

 

FechaHorCreacion

 

Descripción

Atributo requerido para expresar la fecha y hora de generación del archivo.

 

Uso

requerido

 

Tipo Base

xs:dateTime

 

 

Código Fuente

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

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

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

          <xs:element name="TBCRespConsulFolio">

<xs:annotation>

          <xs:documentation>Estándar de la respuesta de la Consulta de Folios asignados a las solicitudes de Códigos de Seguridad para Tabacos.</xs:documentation>

</xs:annotation>

<xs:complexType>

          <xs:sequence>

<xs:element name="Folio">

          <xs:annotation>

<xs:documentation>Nodo requerido para expresar el estado del Folio de la solicitud de códigos de seguridad.</xs:documentation>

          </xs:annotation>

          <xs:complexType>

<xs:sequence>

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

<xs:annotation>

          <xs:documentation>Nodo opcional para expresar los archivos relacionados con la solicitud de Códigos de Seguridad.</xs:documentation>

</xs:annotation>

<xs:complexType>

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

<xs:annotation>

          <xs:documentation>Atributo requerido para expresar el Nombre del archivo de Códigos de Seguridad.</xs:documentation>

</xs:annotation>

          </xs:attribute>

          <xs:attribute name="CantidadCodigos" type="xs:integer" use="required">

<xs:annotation>

          <xs:documentation>Atributo requerido para expresar el número total de Códigos de Seguridad contenidos en el archivo.</xs:documentation>

</xs:annotation>

          </xs:attribute>

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

<xs:annotation>

          <xs:documentation>Atributo requerido para expresar la Suma de verificación del archivo de Códigos de seguridad.</xs:documentation>

</xs:annotation>

          </xs:attribute>

          <xs:attribute name="FechaHorCreacion" type="xs:dateTime" use="required">

<xs:annotation>

          <xs:documentation>Atributo requerido para expresar la fecha y hora de generación del archivo.</xs:documentation>

</xs:annotation>

          </xs:attribute>

</xs:complexType>

          </xs:element>

</xs:sequence>

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

          <xs:annotation>

<xs:documentation>Atributo requerido para expresar el número de Folio asignado a la solicitud de Códigos de Seguridad.</xs:documentation>

          </xs:annotation>

</xs:attribute>

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

          <xs:annotation>

<xs:documentation>Atributo requerido para expresar el RFC del Contribuyente que solicita los Códigos de Seguridad.</xs:documentation>

          </xs:annotation>

</xs:attribute>

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

          <xs:annotation>

<xs:documentation>Atributo requerido para expresar el estado de la solicitud de Códigos de Seguridad.</xs:documentation>

          </xs:annotation>

</xs:attribute>

          </xs:complexType>

</xs:element>

          </xs:sequence>

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

<xs:annotation>

          <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

</xs:annotation>

          </xs:attribute>

          <xs:attribute name="RFCProveedorCertificado" type="cat:tipoRFC" use="required">

<xs:annotation>

          <xs:documentation>Atributo requerido para expresar el RFC del Proveedor de Servicios Autorizado.</xs:documentation>

</xs:annotation>

          </xs:attribute>

</xs:complexType>

          </xs:element>

</xs:schema>

C.      Acuse de recibo de la información de producción.

          El contribuyente que haya enviado la información de producción de los códigos de seguridad por medio del servicio web recibirá un Acuse de Recibo generado bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, 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/Tabacos/1/Retroalimentacion/Acuse/TBCAcuseRetroInfo.xsd) de la siguiente manera:

          <acuretro:TBCAcuseRetroInfo

          xmlns:acuretro="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Retroalimentacion/Acuse"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Retroalimentacion/Acuse

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Retroalimentacion/Acuse/TBCAcuseRetroInfo.xsd"

          ……………..

          </acuretro:TBCAcuseRetroInfo>

Estructura

Elementos

 

Elemento: TBCAcuseRetroInfo

 

Diagrama

 

 

 

 

 

 

Descripción

 

 

Estándar para los acuses de retroalimentación de información de los códigos de seguridad para Tabacos

 

Atributos

 

 

Versión

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha del informe

 

Uso

requerido

 

Tipo Base

xs:dateTime

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Acuse (1, 1)

 

Elemento: Acuse

 

Diagrama

 

 

 

 

 

 

Descripción

 

 

Nodo requerido para expresar los Acuses de Retroalimentación de Información de códigos de seguridad

 

Atributos

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los folios.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

Incidencia

 

Descripción

Atributo requerido para expresar la incidencia del Acuse

 

Uso

requerido

 

Tipo Base

xs:string

 

FolioAcuse

 

Descripción

Atributo requerido para expresar el folio del Acuse

 

Uso

requerido

 

Tipo Base

xs:string

 

Código Fuente

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

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

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

          <xs:element name="TBCAcuseRetroInfo">

                          <xs:annotation>

                                          <xs:documentation>Estándar para los acuses de retroalimentación de información de los códigos de seguridad para Tabacos</xs:documentation>

                          </xs:annotation>

                          <xs:complexType>

                                          <xs:sequence>

                                                          <xs:element name="Acuse">

                                                                          <xs:annotation>

                                                                                          <xs:documentation>Nodo requerido para expresar los Acuses de Retroalimentación de Información de códigos de seguridad</xs:documentation>

                                                                          </xs:annotation>

                                                                          <xs:complexType>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el RFC del Contribuyente al que se le enviaron los folios.</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar la incidencia del Acuse</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

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

                                                                                                          <xs:annotation>

                                                                                                                          <xs:documentation>Atributo requerido para expresar el folio del Acuse</xs:documentation>

                                                                                                          </xs:annotation>

                                                                                          </xs:attribute>

                                                                          </xs:complexType>

                                                          </xs:element>

                                          </xs:sequence>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la fecha del informe</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

                          </xs:complexType>

          </xs:element>

</xs:schema>

 

D.      Respuesta a la solicitud de descarga de archivos con códigos de seguridad.

          El contribuyente que solicite la descarga del archivo con códigos de seguridad por medio del servicio web recibirá una respuesta generada bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validada, deberá estar referenciada al namespace y la validación de la misma 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/Tabacos/1/Descarga/Resp/TBCRespDescarga.xsd) de la siguiente manera:

          <rdesc:TBCRespDescarga

          Xmlns:rdesc="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga/Resp"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga/Resp http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga/Resp/TBCRespDescarga.xsd"

          ……………..

</rdesc:TBCRespDescarga>

Estructura

Elementos

 

Elemento: TBCRespDescarga

 

Diagrama

 

 

 

 

Descripción

 

 

Estándar de respuesta de la descarga de archivos de códigos de seguridad

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.0

 

Tipo Base

xs:string

 

Folio

 

Descripción

Atributo requerido para expresar el folio asignado a la solicitud de Códigos de Seguridad

 

Uso

requerido

 

Tipo Base

xs:string

 

NomArch

 

Descripción

Atributo requerido para expresar el Nombre del archivo de Códigos de Seguridad

 

Uso

requerido

 

Tipo Base

xs:string

 

FechaDescarga

 

Descripción

Atributo requerido para expresar la Fecha y Hora de descarga del archivo de Códigos de seguridad

 

Uso

requerido

 

Tipo Base

xs:dateTime

 

CantidadCodigos

 

Descripción

Atributo requerido para expresar el número total de Códigos de Seguridad contenidos en el archivo

 

Uso

requerido

 

Tipo Base

xs:integer

 

FolioAcuse

 

Descripción

Atributo requerido para expresar el folio del Acuse

 

Uso

requerido

 

Tipo Base

xs:string

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Contenido (1, 1)

 

Elemento: Contenido

 

Diagrama

 

 

Descripción

 

 

Nodo requerido para expresar el contenido del archivo de Códigos de Seguridad

 

Código Fuente

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

<xs:schema xmlns:rdesc="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga/Resp" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Descarga/Resp" elementFormDefault="qualified" attributeFormDefault="unqualified">

          <xs:element name="TBCRespDescarga">

                          <xs:annotation>

                                          <xs:documentation>Estándar de respuesta de la descarga de archivos de códigos de seguridad</xs:documentation>

                          </xs:annotation>

                          <xs:complexType>

                                          <xs:sequence>

                                                          <xs:element name="Contenido">

                                                                          <xs:annotation>

                                                                                          <xs:documentation>Nodo requerido para expresar el contenido del archivo de Códigos de Seguridad</xs:documentation>

                                                                          </xs:annotation>

                                                          </xs:element>

                                          </xs:sequence>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la versión del formato.</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el folio asignado a la solicitud de Códigos de Seguridad</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el Nombre del archivo de Códigos de Seguridad</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

                                          <xs:attribute name="FechaDescarga" type="xs:dateTime" use="required">

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar la Fecha y Hora de descarga del archivo de Códigos de seguridad</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

                                          <xs:attribute name="CantidadCodigos" type="xs:integer" use="required">

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el número total de Códigos de Seguridad contenidos en el archivo</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

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

                                                          <xs:annotation>

                                                                          <xs:documentation>Atributo requerido para expresar el folio del Acuse</xs:documentation>

                                                          </xs:annotation>

                                          </xs:attribute>

                          </xs:complexType>

          </xs:element>

</xs:schema>

E.      Acuse de Consulta para códigos retroalimentados.

          El contribuyente que consulte la información de los códigos retroalimentados por medio del servicio web recibirá un acuse de Recibo generado bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, 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/Tabacos/1/ConsultaCodigo/ TBCAcuseConsulCodigo.xsd) de la siguiente manera:

          < acConsulta:TBCAcuseConsulCodigo

          xmlns:acConsulta="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/ConsultaCodigo"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/ConsultaCodigo

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/ConsultaCodigo/TBCAcuseConsulCodigo.xsd"

          ……………..

          </ acConsulta:TBCAcuseConsulCodigo>

Estructura

Elementos

 

Elemento: TBCAcuseConsulCodigo

 

Diagrama

 

 

Descripción

 

 

Estándar del acuse para consulta de códigos retroalimentados.

 

Atributos

 

 

IdentificadorDeRango

 

Descripción

Atributo requerido para identificar el rango.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

10

 

Patrón

[0-9]+

 

FolioSolicitud

 

Descripción

Atributo requerido para identificar el folio de la solicitud.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

10

 

Patrón

[0-9]+

 

 

 

 

Codigo

 

Descripción

Atributo requerido para identificar el código.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

12

 

Marca

 

Descripción

Atributo requerido para identificar la marca.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Máxima

40

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

 

Código Fuente

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

<xs:schema xmlns:acConsulta="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/

ConsultaCodigo" xmlns:xs="http://www.w3.org/2001/

XMLSchema" xmlns:cat="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/

Catalogos" targetNamespace="http://esquemas.clouda.sat.gob.mx/archivos/

Tabacos/1/ConsultaCodigo" elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:import namespace="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/

Catalogos" schemaLocation="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Catalogos/catTabacos.xsd"/>

  <xs:element name="TBCAcuseConsulCodigo">

    <xs:annotation>

      <xs:documentation>Estándar del acuse para consulta de códigos retroalimentados.</xs:documentation>

    </xs:annotation>

    <xs:complexType>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para identificar el rango.</xs:documentation>

</xs:annotation>

<xs:simpleType>

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

    <xs:maxLength value="10"/>

    <xs:pattern value="[0-9]+"/>

  </xs:restriction>

</xs:simpleType>

      </xs:attribute>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para identificar el folio de la solicitud.</xs:documentation>

</xs:annotation>

<xs:simpleType>

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

    <xs:maxLength value="10"/>

    <xs:pattern value="[0-9]+"/>

  </xs:restriction>

</xs:simpleType>

      </xs:attribute>

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

 

<xs:annotation>

  <xs:documentation>Atributo requerido para identificar el código.</xs:documentation>

</xs:annotation>

<xs:simpleType>

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

    <xs:maxLength value="12"/>

  </xs:restriction>

</xs:simpleType>

      </xs:attribute>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para identificar la marca.</xs:documentation>

</xs:annotation>

<xs:simpleType>

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

    <xs:maxLength value="40"/>

  </xs:restriction>

</xs:simpleType>

      </xs:attribute>

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

<xs:annotation>

  <xs:documentation>Atributo requerido para expresar el RFC del contribuyente.</xs:documentation>

</xs:annotation>

      </xs:attribute>

    </xs:complexType>

  </xs:element>

</xs:schema>

 

F.      Acuse de disponibilidad de servicio activo.

          El contribuyente que consulte la disponibilidad de servicio activo, por medio del servicio web recibirá un acuse de recibo generado bajo el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

          Para poder ser validado, 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/Tabacos/1/Monitoreo/TBCAcuseMonServicio.xsd) de la siguiente manera:

          < acmonitor:TBCAcuseMonServicio

          xmlns:acmonitor="http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Monitoreo"

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

          xsi:schemaLocation="

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Monitoreo

          http://esquemas.clouda.sat.gob.mx/archivos/Tabacos/1/Monitoreo/TBCAcuseMonServicio.xsd"

          ……………..

          </ acmonitor:TBCAcuseMonServicio>

Estructura

Elementos

 

Elemento: TBCAcuseMonServicio

 

Diagrama

 

 

Descripción

 

 

Estándar del acuse para monitoreo de servicio activo.

 

Atributos

 

 

Estado

 

Descripción

Atributo requerido para expresar el estado del servicio, 0 = Inactivo, 1 = Activo.

 

Uso

requerido

 

Tipo Base

xs:integer

 

Valores Permitidos

0 1

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente.

 

Uso

requerido

 

Tipo Especial

cat:tipoRFC

 

RazonSocial

 

Descripción

Atributo requerido para expresar la razón social.

 

Uso

requerido

 

Tipo Especial

xs:string

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha.

 

Uso

requerido

 

Tipo Base

xs:date

 

Espacio en Blanco

Colapsar

 

Patrón

(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/([20][0-9][0-9][0-9])

 

 

Código Fuente

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

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

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

                <xs:element name="TBCAcuseMonServicio">

<xs:annotation>

                <xs:documentation>Estándar del acuse para monitoreo de servicio activo.</xs:documentation>

</xs:annotation>

<xs:complexType>

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

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el estado del servicio, 0 = Inactivo, 1 = Activo.</xs:documentation>

</xs:annotation>

        <xs:simpleType>

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

            <xs:enumeration value="0"/>

            <xs:enumeration value="1"/>

          </xs:restriction>

        </xs:simpleType>

                </xs:attribute>

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

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC del contribuyente.</xs:documentation>

</xs:annotation>

                </xs:attribute>

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

<xs:annotation>

                <xs:documentation>Atributo requerido para expresar la razón social.</xs:documentation>

</xs:annotation>

                </xs:attribute>

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

        <xs:annotation>

          <xs:documentation>Atributo requerido para expresar la fecha.</xs:documentation>

        </xs:annotation>

        <xs:simpleType>

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

            <xs:whiteSpace value="collapse"/>

            <xs:pattern value="(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/([20][0-9][0-9][0-9])"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:attribute>

</xs:complexType>

                </xs:element>

</xs:schema>

 

Atentamente.

Ciudad de México, a 17 de diciembre de 2021.- Jefa del Servicio de Administración Tributaria,  Mtra. Raquel Buenrostro Sánchez.- Rúbrica.

(Continúa en la Tercera sección)