ANEXO 24 de la Séptima Resolución de Modificaciones a la Resolución Miscelánea Fiscal para 2014, publicada el 18 de diciembre de 2014.

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

Modificación al Anexo 24 de la Resolución Miscelánea Fiscal para 2014

Contabilidad en medios electrónicos

Contenido

A.      Catálogo de cuentas utilizado en el periodo.

B.      Código agrupador de cuentas del SAT.

C.      Balanza de comprobación.

D.      Información de las pólizas del periodo.

E.      Información de los auxiliares de folios fiscales asignados a los comprobantes fiscales dentro de las pólizas.

F.      Información de los auxiliares de cuenta de nivel mayor y/o de la subcuenta de primer nivel.

G.      Sello digital de la contabilidad electrónica.

H.      Catálogo de monedas.

I.        Catálogo de bancos.

J.      Catálogo de métodos de pago.

 

A.    Catálogo de cuentas utilizado en el periodo.

Contenido

A.- Formato catálogo de cuentas

1.      Estándar del formato catálogo de cuentas de contabilidad electrónica

2.      Generación opcional de sellos digitales

3.      Nomenclatura y características del archivo

1.      Estándar del formato catálogo de cuentas de contabilidad electrónica.

El contribuyente deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

Para poder ser validado, el catálogo de cuentas de contabilidad electrónica deberá estar referenciado al namespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd) de la siguiente manera:

<catalogocuentas:Catalogo

         xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd "

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

         xmlns: catalogocuentas=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas">

.........

</catalogocuentas:Catalogo>

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que utilice este estándar 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 http://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.

 

Descripción

 

 

Estándar de catálogo de cuentas que se entrega como parte de la contabilidad electrónica.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato

 

Uso

requerido

 

Valor Prefijado

1.1

 

Tipo Especial

xs:string

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que envía los datos

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Mes

 

Descripción

Atributo requerido para expresar el mes en que inicia la vigencia del catálogo para la balanza

 

Uso

requerido

 

Tipo Base

xs:string

 

Valores Permitidos

01
02
03
04
05
06
07
08
09
10
11
12

 

Anio

 

Descripción

Atributo requerido para expresar el año en que inicia la vigencia del catálogo para la balanza

 

Uso

requerido

 

Tipo Base

xs:int

 

Valor Mínimo Incluyente

2015

 

Valor Máximo Incluyente

2099

 

Sello

 

Descripción

Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

noCertificado

 

Descripción

Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

20

 

 

 

Descripción

 

 

Nodo obligatorio para expresar el detalle de cada cuenta y subcuenta del catálogo.

 

Atributos

 

 

CodAgrup

 

Descripción

Atributo requerido para expresar el código asociador de cuentas y subcuentas conforme al catálogo publicado en la página de internet del SAT. Se debe asociar cada cuenta y subcuenta que sea más apropiado de acuerdo con la naturaleza y preponderancia de la cuenta o subcuenta.

 

Uso

requerido

 

Tipo Especial

contelec_td:c_CodAgrup

 

NumCta

 

Descripción

Atributo requerido, es la clave con que se distingue la cuenta o subcuenta en la contabilidad

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

Desc

 

Descripción

Atributo requerido para expresar el nombre de la cuenta o subcuenta

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

400

 

SubCtaDe

 

Descripción

Atributo opcional en el caso de subcuentas. Sirve para expresar la clave de la cuenta a la que pertenece dicha subcuenta. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

Nivel

 

Descripción

Atributo requerido para expresar el nivel en el que se encuentra la cuenta o subcuenta en el catálogo.

 

Uso

requerido

 

Tipo Base

xs:int

 

Valor Mínimo Incluyente

1

 

Natur

 

Descripción

Atributo requerido para expresar la naturaleza de la cuenta o subcuenta.
(D - Deudora, A - Acreedora). ( Activo = D ) ( Pasivo = A ) ( Capital = A ) ( Ingreso = A ) ( Costo = D ) ( Gasto = D ) ( Resultado Integral de Financiamiento = D y/o A ) ( Cuentas de orden = D y/o A ).

 

Uso

Requerido

 

Tipo Base

xs:string

 

Patrón

[DA]

 

 

Código Fuente

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

<xs:schema xmlns:catalogocuentas="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:contelec_td="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas" elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:import namespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.xsd"/>

                <xs:element name="Catalogo">

                               <xs:annotation>

                                               <xs:documentation>Estándar de catálogo de cuentas que se entrega como parte de la contabilidad electrónica.</xs:documentation>

                               </xs:annotation>

                               <xs:complexType>

                                               <xs:sequence>

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

                                                                              <xs:annotation>

                                                                                              <xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta y subcuenta del catálogo.</xs:documentation>

                                                                              </xs:annotation>

                                                                              <xs:complexType>

                                                                                              <xs:attribute name="CodAgrup" type="contelec_td:c_CodAgrup" use="required">

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el código asociador de cuentas y subcuentas conforme al catálogo publicado en la página de internet del SAT. Se debe asociar cada cuenta y subcuenta que sea más apropiado de acuerdo con la naturaleza y preponderancia de la cuenta o subcuenta.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido, es la clave con que se distingue la cuenta o subcuenta en la contabilidad</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:maxLength value="100"/>

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el nombre de la cuenta o subcuenta</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                                             <xs:maxLength value="400"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo opcional en el caso de subcuentas. Sirve para expresar la clave de la cuenta a la que pertenece dicha subcuenta. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                                             <xs:maxLength value="100"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el nivel en el que se encuentra la cuenta o subcuenta en el catálogo.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minInclusive value="1"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar la naturaleza de la cuenta o subcuenta. (D - Deudora, A - Acreedora). ( Activo = D ) ( Pasivo = A ) ( Capital = A ) ( Ingreso = A ) ( Costo = D ) ( Gasto = D ) ( Resultado Integral de Financiamiento = D y/o A ) ( Cuentas de orden = D y/o A ).</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

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

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

                                                                              </xs:complexType>

                                                               </xs:element>

                                               </xs:sequence>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minLength value="12"/>

                                                                                              <xs:maxLength value="13"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el mes en que inicia la vigencia del catálogo para la balanza</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:enumeration value="01"/>

                                                                                              <xs:enumeration value="02"/>

                                                                                              <xs:enumeration value="03"/>

                                                                                              <xs:enumeration value="04"/>

                                                                                              <xs:enumeration value="05"/>

                                                                                              <xs:enumeration value="06"/>

                                                                                              <xs:enumeration value="07"/>

                                                                                              <xs:enumeration value="08"/>

                                                                                              <xs:enumeration value="09"/>

                                                                                              <xs:enumeration value="10"/>

                                                                                              <xs:enumeration value="11"/>

                                                                                              <xs:enumeration value="12"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el año en que inicia la vigencia del catálogo para la balanza</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minInclusive value="2015"/>

                                                                                              <xs:maxInclusive value="2099"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="20"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                               <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

                               </xs:complexType>

                </xs:element>

</xs:schema>

2.      Generación opcional de sellos digitales.

Elementos utilizados en la generación opcional de Sellos Digitales:

·        Cadena Original, del elemento a sellar.

·        Certificado de Sello Digital y su correspondiente clave privada.

·        Algoritmos de criptografía de clave pública para firma electrónica avanzada.

·        Especificaciones de conversión de la firma electrónica avanzada a Base 64.

Para la generación de 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 firma electrónica avanzada o certificado para sellos digitales".

El Certificado puede distribuirse libremente para efectos de intercambio seguro de información y para ofrecer pruebas de autoría de archivos electrónicos o acuerdo con su contenido mediante el proceso denominado "firma electrónica avanzada ", 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 ha sido alterado), autenticidad, certidumbre de origen (facilidad para determinar qué persona es el autor de la firma y valida el contenido del mensaje) y no repudiación del mensaje firmado (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 electrónica avanzada:

·        Es infalsificable.

·        La firma electrónica avanzada no es reciclable (es única por mensaje).

·        Un mensaje con firma electrónica avanzada alterado, es detectable.

·        Un mensaje con firma electrónica avanzada, no puede ser repudiado.

Los certificados de sello digital se generan de manera idéntica a la firma electrónica avanzada y al igual que las firmas electrónicas avanzadas el propósito del sello digital es emitir documentos digitales con autenticidad, integridad, verificables y no repudiables por el emisor. Para ello bastará tener acceso al mensaje original o cadena original, al sello digital y al certificado de sello digital del emisor.

Al ser el certificado de sello digital idéntico en su generación a una firma electrónica avanzada, proporciona los mismos servicios de seguridad y hereda las características de las firmas digitales.

Por consecuencia un archivo sellado digitalmente por el contribuyente tiene las siguientes características:

·        Es infalsificable.

·        El sello digital no es reciclable (es único por documento).

·        Una cadena original de un documento digital sellada digitalmente, que hubiese sido alterada es detectable.

·        Una cadena original de un archivo sellada digitalmente no puede ser repudiada.

Los algoritmos utilizados en la generación de un sello digital son los siguientes:

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

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’.

RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestión del mensaje.

RSAPublicDecrypt, que utiliza la clave pública del emisor para desencriptar la digestión del mensaje.

Cadena Original

Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del archivo, establecida en el Rubro A “Estándar del Formato Catálogo de Cuentas de Contabilidad Electrónica” de este anexo. Siguiendo para ello las reglas y la secuencia aquí especificadas:

Reglas Generales:

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

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

3.      Se expresará únicamente la información del dato sin expresar el atributo al que hace referencia. Esto es, si0 el valor de un campo es la “A” solo se expresará |A| y nunca |campo A|.

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

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

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

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

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

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

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

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

Secuencia de Formación:

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

1)      Información del nodo Catalogo

a)      Version

b)      RFC

c)      Mes

d)      Anio

2)      Información del nodo Ctas

a)      CodAgrup

b)      NumCta

c)      Desc

d)      SubCtaDe

e)      Nivel

f)       Natur

Generación del Sello Digital

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 SHA-1 a la cadena original a sellar. Este procedimiento genera una salida de 160 bits (20 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida es de 1 en 2(60-colision), y por lo tanto en esta posibilidad 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.

Aplicar el método de digestión SHA-2 a la cadena original a sellar. Este procedimiento genera una salida de 256 bits (32 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida no ha sido encontrada  una colisión y por lo tanto en esta posibilidad 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.

II. Con la clave privada correspondiente al certificado de sello digital del emisor, 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 de Sello digital:

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

3.            Nomenclatura y características del archivo.

El archivo XML con la información del catálogo de cuentas deberá enviarse comprimido en formato ZIP con la nomenclatura siguiente:

Catálogo de cuentas

RFC

Ejercicio

Periodo

Clave

Extensión

12 o 13 caracteres, correspondientes al RFC del contribuyente, ya sea Persona Moral o Persona Física.

4 caracteres que identifican el año al que corresponde la información que se envía.

2 caracteres que identifican el número de mes al que corresponde la información que se envía.

Caracteres "CT" que identifican el tipo de información que se envía.

Caracteres ".ZIP" que identifican un archivo comprimido.

 

Ejemplos:

Personas Morales

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

BBB010101AB1

2015

01

CT

.zip

 

 

 

 

 

Nombre del archivo:

BBB010101AB1201501CT.zip

 

Personas Físicas

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

AAAA010101AB1

2015

01

CT

.zip

 

 

 

 

 

Nombre del archivo:

AAAA010101AB1201501CT.zip

B.      Código agrupador de cuentas del SAT.

Nivel

Código agrupador

Nombre de la cuenta y/o subcuenta

 

100

Activo

 

100.01

Activo a corto plazo

1

101

Caja

2

   101.01

   Caja y efectivo

1

102

Bancos

2

   102.01

   Bancos nacionales

2

   102.02

   Bancos extranjeros

1

103

Inversiones

2

   103.01

   Inversiones temporales

2

   103.02

   Inversiones en fideicomisos

2

   103.03

   Otras inversiones

1

104

Otros instrumentos financieros

2

   104.01

   Otros instrumentos financieros

1

105

Clientes

2

   105.01

   Clientes nacionales

2

   105.02

   Clientes extranjeros

2

   105.03

   Clientes nacionales parte relacionada

2

   105.04

   Clientes extranjeros parte relacionada

1

106

Cuentas y documentos por cobrar a corto plazo

2

   106.01

   Cuentas y documentos por cobrar a corto plazo nacional

2

   106.02

   Cuentas y documentos por cobrar a corto plazo extranjero

2

   106.03

   Cuentas y documentos por cobrar a corto plazo nacional parte relacionada

2

   106.04

   Cuentas y documentos por cobrar a corto plazo extranjero parte relacionada

2

   106.05

   Intereses por cobrar a corto plazo nacional

2

   106.06

   Intereses por cobrar a corto plazo extranjero

2

   106.07

   Intereses por cobrar a corto plazo nacional parte relacionada

2

   106.08

   Intereses por cobrar a corto plazo extranjero parte relacionada

2

   106.09

   Otras cuentas y documentos por cobrar a corto plazo

2

   106.10

   Otras cuentas y documentos por cobrar a corto plazo parte relacionada

1

107

Deudores diversos

2

   107.01

   Funcionarios y empleados

2

   107.02

   Socios y accionistas

2

   107.03

   Partes relacionadas nacionales

2

   107.04

   Partes relacionadas extranjeros

2

   107.05

   Otros deudores diversos

1

108

Estimación de cuentas incobrables

2

   108.01

   Estimación de cuentas incobrables nacional

2

   108.02

   Estimación de cuentas incobrables extranjero

2

   108.03

   Estimación de cuentas incobrables nacional parte relacionada

2

   108.04

   Estimación de cuentas incobrables extranjero parte relacionada

1

109

Pagos anticipados

2

   109.01

   Seguros y fianzas pagados por anticipado nacional

2

   109.02

   Seguros y fianzas pagados por anticipado extranjero

2

   109.03

   Seguros y fianzas pagados por anticipado nacional parte relacionada

2

   109.04

   Seguros y fianzas pagados por anticipado extranjero parte relacionada

2

   109.05

   Rentas pagados por anticipado nacional

2

   109.06

   Rentas pagados por anticipado extranjero

2

   109.07

   Rentas pagados por anticipado nacional parte relacionada

2

   109.08

   Rentas pagados por anticipado extranjero parte relacionada

2

   109.09

   Intereses pagados por anticipado nacional

2

   109.10

   Intereses pagados por anticipado extranjero

2

   109.11

   Intereses pagados por anticipado nacional parte relacionada

2

   109.12

   Intereses pagados por anticipado extranjero parte relacionada

2

   109.13

   Factoraje financiero pagados por anticipado nacional

2

   109.14

   Factoraje financiero pagados por anticipado extranjero

2

   109.15

   Factoraje financiero pagados por anticipado nacional parte relacionada

2

   109.16

   Factoraje financiero pagados por anticipado extranjero parte relacionada

 

2

   109.17

   Arrendamiento financiero pagados por anticipado nacional

2

   109.18

   Arrendamiento financiero pagados por anticipado extranjero

2

   109.19

   Arrendamiento financiero pagados por anticipado nacional parte relacionada

2

   109.20

   Arrendamiento financiero pagados por anticipado extranjero parte relacionada

2

   109.21

   Pérdida por deterioro de pagos anticipados

2

   109.22

   Derechos fiduciarios

2

   109.23

   Otros pagos anticipados

1

110

Subsidio al empleo por aplicar

2

   110.01

   Subsidio al empleo por aplicar

1

111

Crédito al diesel por acreditar

2

   111.01

   Crédito al diesel por acreditar

1

112

Otros estímulos

2

   112.01

   Otros estímulos

1

113

Impuestos a favor

2

   113.01

   IVA a favor

2

   113.02

   ISR a favor

2

   113.03

   IETU a favor

2

   113.04

   IDE a favor

2

   113.05

   IA a favor

2

   113.06

   Subsidio al empleo

2

   113.07

   Pago de lo indebido

2

   113.08

   Otros impuestos a favor

1

114

Pagos provisionales

2

   114.01

   Pagos provisionales de ISR

1

115

Inventario

2

   115.01

   Inventario

2

   115.02

   Materia prima y materiales

2

   115.03

   Producción en proceso

2

   115.04

   Productos terminados

2

   115.05

   Mercancías en tránsito

2

   115.06

   Mercancías en poder de terceros

2

   115.07

   Otros

1

116

Estimación de inventarios obsoletos y de lento movimiento

2

   116.01

   Estimación de inventarios obsoletos y de lento movimiento

1

117

Obras en proceso de inmuebles

2

   117.01

   Obras en proceso de inmuebles

1

118

Impuestos acreditables pagados

2

   118.01

   IVA acreditable pagado

2

   118.02

   IVA acreditable de importación pagado

2

   118.03

   IEPS acreditable pagado

2

   118.04

   IEPS pagado en importación

1

119

Impuestos acreditables por pagar

2

   119.01

   IVA pendiente de pago

2

   119.02

   IVA de importación pendiente de pago

2

   119.03

   IEPS pendiente de pago

2

   119.04

   IEPS pendiente de pago en importación

1

120

Anticipo a proveedores

2

   120.01

   Anticipo a proveedores nacional

2

   120.02

   Anticipo a proveedores extranjero

2

   120.03

   Anticipo a proveedores nacional parte relacionada

2

   120.04

   Anticipo a proveedores extranjero parte relacionada

1

121

Otros activos a corto plazo

2

   121.01

   Otros activos a corto plazo

 

100.02 

Activo a largo plazo

1

151

Terrenos

2

   151.01

   Terrenos

1

152

Edificios

2

   152.01

   Edificios

 

1

153

Maquinaria y equipo

2

   153.01

   Maquinaria y equipo

1

154

Automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

154.01

   Automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

1

155

Mobiliario y equipo de oficina

2

   155.01

   Mobiliario y equipo de oficina

1

156

Equipo de cómputo

2

   156.01

   Equipo de cómputo

1

157

Equipo de comunicación

2

   157.01

   Equipo de comunicación

1

158

Activos biológicos, vegetales y semovientes

2

   158.01

   Activos biológicos, vegetales y semovientes

1

159

Obras en proceso de activos fijos

2

   159.01

   Obras en proceso de activos fijos

1

160

Otros activos fijos

2

   160.01

   Otros activos fijos

1

161

Ferrocarriles

2

   161.01

   Ferrocarriles

1

162

Embarcaciones

2

   162.01

   Embarcaciones

1

163

Aviones

2

   163.01

   Aviones

1

164

Troqueles, moldes, matrices y herramental

2

   164.01

   Troqueles, moldes, matrices y herramental

1

165

Equipo de comunicaciones telefónicas

2

   165.01

   Equipo de comunicaciones telefónicas

1

166

Equipo de comunicación satelital

2

   166.01

   Equipo de comunicación satelital

1

167

Equipo de adaptaciones para personas con capacidades diferentes

2

   167.01

   Equipo de adaptaciones para personas con capacidades diferentes

1

168

Maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

168.01

   Maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

1

169

Otra maquinaria y equipo

2

   169.01

   Otra maquinaria y equipo

1

170

Adaptaciones y mejoras

2

   170.01

   Adaptaciones y mejoras

1

171

Depreciación acumulada de activos fijos

2

   171.01

   Depreciación acumulada de edificios

2

   171.02

   Depreciación acumulada de maquinaria y equipo

2

171.03

   Depreciación acumulada de automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

   171.04

   Depreciación acumulada de mobiliario y equipo de oficina

2

   171.05

   Depreciación acumulada de equipo de cómputo

2

   171.06

   Depreciación acumulada de equipo de comunicación

2

   171.07

   Depreciación acumulada de activos biológicos, vegetales y semovientes

2

   171.08

   Depreciación acumulada de otros activos fijos

2

   171.09

   Depreciación acumulada de ferrocarriles

2

   171.10

   Depreciación acumulada de embarcaciones

2

   171.11

   Depreciación acumulada de aviones

2

   171.12

   Depreciación acumulada de troqueles, moldes, matrices y herramental

2

   171.13

   Depreciación acumulada de equipo de comunicaciones telefónicas

2

   171.14

   Depreciación acumulada de equipo de comunicación satelital

2

171.15

   Depreciación acumulada de equipo de adaptaciones para personas con capacidades diferentes

2

171.16

   Depreciación acumulada de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

   171.17

   Depreciación acumulada de adaptaciones y mejoras

 

2

   171.18

   Depreciación acumulada de otra maquinaria y equipo

1

172

Pérdida por deterioro acumulado de activos fijos

2

   172.01

   Pérdida por deterioro acumulado de edificios

2

   172.02

   Pérdida por deterioro acumulado de maquinaria y equipo

2

172.03

   Pérdida por deterioro acumulado de automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

   172.04

   Pérdida por deterioro acumulado de mobiliario y equipo de oficina

2

   172.05

   Pérdida por deterioro acumulado de equipo de cómputo

2

   172.06

   Pérdida por deterioro acumulado de equipo de comunicación

2

   172.07

   Pérdida por deterioro acumulado de activos biológicos, vegetales y semovientes

2

   172.08

   Pérdida por deterioro acumulado de otros activos fijos

2

   172.09

   Pérdida por deterioro acumulado de ferrocarriles

2

   172.10

   Pérdida por deterioro acumulado de embarcaciones

2

   172.11

   Pérdida por deterioro acumulado de aviones

2

   172.12

   Pérdida por deterioro acumulado de troqueles, moldes, matrices y herramental

2

   172.13

   Pérdida por deterioro acumulado de equipo de comunicaciones telefónicas

2

   172.14

   Pérdida por deterioro acumulado de equipo de comunicación satelital

2

172.15

   Pérdida por deterioro acumulado de equipo de adaptaciones para personas con capacidades diferentes

2

   172.16

   Pérdida por deterioro acumulado de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

   172.17

   Pérdida por deterioro acumulado de adaptaciones y mejoras

2

   172.18

   Pérdida por deterioro acumulado de otra maquinaria y equipo

1

173

Gastos diferidos

2

   173.01

   Gastos diferidos

1

174

Gastos pre operativos

2

   174.01

   Gastos pre operativos

1

175

Regalías, asistencia técnica y otros gastos diferidos

2

   175.01

   Regalías, asistencia técnica y otros gastos diferidos

1

176

Activos intangibles

2

   176.01

   Activos intangibles

1

177

Gastos de organización

2

   177.01

   Gastos de organización

1

178

Investigación y desarrollo de mercado

2

   178.01

   Investigación y desarrollo de mercado

1

179

Marcas y patentes

2

   179.01

   Marcas y patentes

1

180

Crédito mercantil

2

   180.01

   Crédito mercantil

1

181

Gastos de instalación

2

   181.01

   Gastos de instalación

1

182

Otros activos diferidos

2

   182.01

   Otros activos diferidos

1

183

Amortización acumulada de activos diferidos

2

   183.01

   Amortización acumulada de gastos diferidos

2

   183.02

   Amortización acumulada de gastos pre operativos

2

   183.03

   Amortización acumulada de regalías, asistencia técnica y otros gastos diferidos

2

   183.04

   Amortización acumulada de activos intangibles

2

   183.05

   Amortización acumulada de gastos de organización

2

   183.06

   Amortización acumulada de investigación y desarrollo de mercado

2

   183.07

   Amortización acumulada de marcas y patentes

2

   183.08

   Amortización acumulada de crédito mercantil

2

   183.09

   Amortización acumulada de gastos de instalación

2

   183.10

   Amortización acumulada de otros activos diferidos

1

184

Depósitos en garantía

2

   184.01

   Depósitos de fianzas

2

   184.02

   Depósitos de arrendamiento de bienes inmuebles

2

   184.03

   Otros depósitos en garantía

 

1

185

Impuestos diferidos

2

   185.01

   Impuestos diferidos ISR

1

186

Cuentas y documentos por cobrar a largo plazo

2

   186.01

   Cuentas y documentos por cobrar a largo plazo nacional

2

   186.02

   Cuentas y documentos por cobrar a largo plazo extranjero

2

   186.03

   Cuentas y documentos por cobrar a largo plazo nacional parte relacionada

2

   186.04

   Cuentas y documentos por cobrar a largo plazo extranjero parte relacionada

2

   186.05

   Intereses por cobrar a largo plazo nacional

2

   186.06

   Intereses por cobrar a largo plazo extranjero

2

   186.07

   Intereses por cobrar a largo plazo nacional parte relacionada

2

   186.08

   Intereses por cobrar a largo plazo extranjero parte relacionada

2

   186.09

   Otras cuentas y documentos por cobrar a largo plazo

2

   186.10

   Otras cuentas y documentos por cobrar a largo plazo parte relacionada

1

187

Participación de los trabajadores en las utilidades diferidas

2

   187.01

   Participación de los trabajadores en las utilidades diferidas

1

188

Inversiones permanentes en acciones

2

   188.01

   Inversiones a largo plazo en subsidiarias

2

   188.02

   Inversiones a largo plazo en asociadas

2

   188.03

   Otras inversiones permanentes en acciones

1

189

Estimación por deterioro de inversiones permanentes en acciones

2

   189.01

   Estimación por deterioro de inversiones permanentes en acciones

1

190

Otros instrumentos financieros

2

   190.01

   Otros instrumentos financieros

1

191

Otros activos a largo plazo

2

   191.01

   Otros activos a largo plazo

 

200

Pasivo

 

200.01

Pasivo a corto plazo

1

201

Proveedores

2

   201.01

   Proveedores nacionales

2

   201.02

   Proveedores extranjeros

2

   201.03

   Proveedores nacionales parte relacionada

2

   201.04

   Proveedores extranjeros parte relacionada

1

202

Cuentas por pagar a corto plazo

2

   202.01

   Documentos por pagar bancario y financiero nacional

2

   202.02

   Documentos por pagar bancario y financiero extranjero

2

   202.03

   Documentos y cuentas por pagar a corto plazo nacional

2

   202.04

   Documentos y cuentas por pagar a corto plazo extranjero

2

   202.05

   Documentos y cuentas por pagar a corto plazo nacional parte relacionada

2

   202.06

   Documentos y cuentas por pagar a corto plazo extranjero parte relacionada

2

   202.07

   Intereses por pagar a corto plazo nacional

2

   202.08

   Intereses por pagar a corto plazo extranjero

2

   202.09

   Intereses por pagar a corto plazo nacional parte relacionada

2

   202.10

   Intereses por pagar a corto plazo extranjero parte relacionada

2

   202.11

   Dividendo por pagar nacional

2

   202.12

   Dividendo por pagar extranjero

1

203

Cobros anticipados a corto plazo

2

   203.01

   Rentas cobradas por anticipado a corto plazo nacional

2

   203.02

   Rentas cobradas por anticipado a corto plazo extranjero

2

   203.03

   Rentas cobradas por anticipado a corto plazo nacional parte relacionada

2

   203.04

   Rentas cobradas por anticipado a corto plazo extranjero parte relacionada

2

   203.05

   Intereses cobrados por anticipado a corto plazo nacional

2

   203.06

   Intereses cobrados por anticipado a corto plazo extranjero

2

   203.07

   Intereses cobrados por anticipado a corto plazo nacional parte relacionada

2

   203.08

   Intereses cobrados por anticipado a corto plazo extranjero parte relacionada

2

   203.09

   Factoraje financiero cobrados por anticipado a corto plazo nacional

2

   203.10

   Factoraje financiero cobrados por anticipado a corto plazo extranjero

2

   203.11

   Factoraje financiero cobrados por anticipado a corto plazo nacional parte relacionada

 

2

   203.12

   Factoraje financiero cobrados por anticipado a corto plazo extranjero parte relacionada

2

   203.13

   Arrendamiento financiero cobrados por anticipado a corto plazo nacional

2

   203.14

   Arrendamiento financiero cobrados por anticipado a corto plazo extranjero

2

   203.15

   Arrendamiento financiero cobrados por anticipado a corto plazo nacional parte relacionada

2

   203.16

   Arrendamiento financiero cobrados por anticipado a corto plazo extranjero parte relacionada

2

   203.17

   Derechos fiduciarios

2

   203.18

   Otros cobros anticipados

1

204

Instrumentos financieros a corto plazo

2

   204.01

   Instrumentos financieros a corto plazo

1

205

Acreedores diversos a corto plazo

2

   205.01

   Socios, accionistas o representante legal

2

   205.02

   Acreedores diversos a corto plazo nacional

2

   205.03

   Acreedores diversos a corto plazo extranjero

2

   205.04

   Acreedores diversos a corto plazo nacional parte relacionada

2

   205.05

   Acreedores diversos a corto plazo extranjero parte relacionada

2

   205.06

   Otros acreedores diversos a corto plazo

1

206

Anticipo de cliente

2

   206.01

   Anticipo de cliente nacional

2

   206.02

   Anticipo de cliente extranjero

2

   206.03

   Anticipo de cliente nacional parte relacionada

2

   206.04

   Anticipo de cliente extranjero parte relacionada

2

   206.05

   Otros anticipos de clientes

1

207

Impuestos trasladados

2

   207.01

   IVA trasladado

2

   207.02

   IEPS trasladado

1

208

Impuestos trasladados cobrados

2

   208.01

   IVA trasladado cobrado

2

   208.02

   IEPS trasladado cobrado

1

209

Impuestos trasladados no cobrados

2

   209.01

   IVA trasladado no cobrado

2

   209.02

   IEPS trasladado no cobrado

1

210

Provisión de sueldos y salarios por pagar

2

   210.01

   Provisión de sueldos y salarios por pagar

2

   210.02

   Provisión de vacaciones por pagar

2

   210.03

   Provisión de aguinaldo por pagar

2

   210.04

   Provisión de fondo de ahorro por pagar

2

   210.05

   Provisión de asimilados a salarios por pagar

2

   210.06

   Provisión de anticipos o remanentes por distribuir

2

   210.07

   Provisión de otros sueldos y salarios por pagar

1

211

Provisión de contribuciones de seguridad social por pagar

2

   211.01

   Provisión de IMSS patronal por pagar

2

   211.02

   Provisión de SAR por pagar

2

   211.03

   Provisión de infonavit por pagar

1

212

Provisión de impuesto estatal sobre nómina por pagar

2

   212.01

   Provisión de impuesto estatal sobre nómina por pagar

1

213

Impuestos y derechos por pagar

2

   213.01

   IVA por pagar

2

   213.02

   IEPS por pagar

2

   213.03

   ISR por pagar

2

   213.04

   Impuesto estatal sobre nómina por pagar

2

   213.05

   Impuesto estatal y municipal por pagar

2

   213.06

   Derechos por pagar

2

   213.07

   Otros impuestos por pagar

1

214

Dividendos por pagar

2

   214.01

   Dividendos por pagar

1

215

PTU por pagar

2

   215.01

   PTU por pagar

 

2

   215.02

   PTU por pagar de ejercicios anteriores

2

   215.03

   Provisión de PTU por pagar

1

216

Impuestos retenidos

2

   216.01

   Impuestos retenidos de ISR por sueldos y salarios

2

   216.02

   Impuestos retenidos de ISR por asimilados a salarios

2

   216.03

   Impuestos retenidos de ISR por arrendamiento

2

   216.04

   Impuestos retenidos de ISR por servicios profesionales

2

   216.05

   Impuestos retenidos de ISR por dividendos

2

   216.06

   Impuestos retenidos de ISR por intereses

2

   216.07

   Impuestos retenidos de ISR por pagos al extranjero

2

   216.08

   Impuestos retenidos de ISR por venta de acciones

2

   216.09

   Impuestos retenidos de ISR por venta de partes sociales

2

   216.10

   Impuestos retenidos de IVA

2

   216.11

   Retenciones de IMSS a los trabajadores

2

   216.12

   Otras impuestos retenidos

1

217

Pagos realizados por cuenta de terceros

2

   217.01

   Pagos realizados por cuenta de terceros

1

218

Otros pasivos a corto plazo

2

   218.01

   Otros pasivos a corto plazo

 

200.02

Pasivo a largo plazo

1

251

Acreedores diversos a largo plazo

2

   251.01

   Socios, accionistas o representante legal

2

   251.02

   Acreedores diversos a largo plazo nacional

2

   251.03

   Acreedores diversos a largo plazo extranjero

2

   251.04

   Acreedores diversos a largo plazo nacional parte relacionada

2

   251.05

   Acreedores diversos a largo plazo extranjero parte relacionada

2

   251.06

   Otros acreedores diversos a largo plazo

1

252

Cuentas por pagar a largo plazo

2

   252.01

   Documentos bancarios y financieros por pagar a largo plazo nacional

2

   252.02

   Documentos bancarios y financieros por pagar a largo plazo extranjero

2

   252.03

   Documentos y cuentas por pagar a largo plazo nacional

2

   252.04

   Documentos y cuentas por pagar a largo plazo extranjero

2

   252.05

   Documentos y cuentas por pagar a largo plazo nacional parte relacionada

2

   252.06

   Documentos y cuentas por pagar a largo plazo extranjero parte relacionada

2

   252.07

   Hipotecas por pagar a largo plazo nacional

2

   252.08

   Hipotecas por pagar a largo plazo extranjero

2

   252.09

   Hipotecas por pagar a largo plazo nacional parte relacionada

2

   252.10

   Hipotecas por pagar a largo plazo extranjero parte relacionada

2

   252.11

   Intereses por pagar a largo plazo nacional

2

   252.12

   Intereses por pagar a largo plazo extranjero

2

   252.13

   Intereses por pagar a largo plazo nacional parte relacionada

2

   252.14

   Intereses por pagar a largo plazo extranjero parte relacionada

2

   252.15

   Dividendos por pagar nacionales

2

   252.16

   Dividendos por pagar extranjeros

2

   252.17

   Otras cuentas y documentos por pagar a largo plazo

1

253

Cobros anticipados a largo plazo

2

   253.01

   Rentas cobradas por anticipado a largo plazo nacional

2

   253.02

   Rentas cobradas por anticipado a largo plazo extranjero

2

   253.03

   Rentas cobradas por anticipado a largo plazo nacional parte relacionada

2

   253.04

   Rentas cobradas por anticipado a largo plazo extranjero parte relacionada

2

   253.05

   Intereses cobrados por anticipado a largo plazo nacional

2

   253.06

   Intereses cobrados por anticipado a largo plazo extranjero

2

   253.07

   Intereses cobrados por anticipado a largo plazo nacional parte relacionada

2

   253.08

   Intereses cobrados por anticipado a largo plazo extranjero parte relacionada

2

   253.09

   Factoraje financiero cobrados por anticipado a largo plazo nacional

2

   253.10

   Factoraje financiero cobrados por anticipado a largo plazo extranjero

2

   253.11

   Factoraje financiero cobrados por anticipado a largo plazo nacional parte relacionada

 

2

   253.12

   Factoraje financiero cobrados por anticipado a largo plazo extranjero parte relacionada

2

   253.13

   Arrendamiento financiero cobrados por anticipado a largo plazo nacional

2

   253.14

   Arrendamiento financiero cobrados por anticipado a largo plazo extranjero

2

   253.15

   Arrendamiento financiero cobrados por anticipado a largo plazo nacional parte relacionada

2

   253.16

   Arrendamiento financiero cobrados por anticipado a largo plazo extranjero parte relacionada

2

   253.17

   Derechos fiduciarios

2

   253.18

   Otros cobros anticipados

1

254

Instrumentos financieros a largo plazo

2

   254.01

   Instrumentos financieros a largo plazo

1

255

Pasivos por beneficios a los empleados a largo plazo

2

   255.01

   Pasivos por beneficios a los empleados a largo plazo

1

256

Otros pasivos a largo plazo

2

   256.01

   Otros pasivos a largo plazo

1

257

Participación de los trabajadores en las utilidades diferida

2

   257.01

   Participación de los trabajadores en las utilidades diferida

1

258

Obligaciones contraídas de fideicomisos

2

   258.01

   Obligaciones contraídas de fideicomisos

1

259

Impuestos diferidos

2

   259.01

   ISR diferido

2

   259.02

   ISR por dividendo diferido

2

   259.03

   Otros impuestos diferidos

1

260

Pasivos diferidos

2

   260.01

   Pasivos diferidos

 

300

Capital contable

1

301

Capital social

2

   301.01

   Capital fijo

2

   301.02

   Capital variable

2

   301.03

   Aportaciones para futuros aumentos de capital

2

   301.04

   Prima en suscripción de acciones

2

   301.05

   Prima en suscripción de partes sociales

1

302

Patrimonio

2

   302.01

   Patrimonio

2

   302.02

   Aportación patrimonial

2

   302.03

   Déficit o remanente del ejercicio

1

303

Reserva legal

2

   303.01

   Reserva legal

1

304

Resultado de ejercicios anteriores

2

   304.01

   Utilidad de ejercicios anteriores

2

   304.02

   Pérdida de ejercicios anteriores

2

   304.03

   Resultado integral de ejercicios anteriores

2

   304.04

   Déficit o remanente de ejercicio anteriores

1

305

Resultado del ejercicio

2

   305.01

   Utilidad del ejercicio

2

   305.02

   Pérdida del ejercicio

2

   305.03

   Resultado integral

1

306

Otras cuentas de capital

2

   306.01

   Otras cuentas de capital

 

400

Ingresos

1

401

Ingresos

2

   401.01

   Ventas y/o servicios gravados a la tasa general

2

   401.02

   Ventas y/o servicios gravados a la tasa general de contado

2

   401.03

   Ventas y/o servicios gravados a la tasa general a crédito

2

   401.04

   Ventas y/o servicios gravados al 0%

2

   401.05

   Ventas y/o servicios gravados al 0% de contado

2

   401.06

   Ventas y/o servicios gravados al 0% a crédito

2

   401.07

   Ventas y/o servicios exentos

2

   401.08

   Ventas y/o servicios exentos de contado

2

   401.09

   Ventas y/o servicios exentos a crédito

 

2

   401.10

   Ventas y/o servicios gravados a la tasa general nacionales partes relacionadas

2

   401.11

   Ventas y/o servicios gravados a la tasa general extranjeros partes relacionadas

2

   401.12

   Ventas y/o servicios gravados al 0% nacionales partes relacionadas

2

   401.13

   Ventas y/o servicios gravados al 0% extranjeros partes relacionadas

2

   401.14

   Ventas y/o servicios exentos nacionales partes relacionadas

2

   401.15

   Ventas y/o servicios exentos extranjeros partes relacionadas

2

   401.16

   Ingresos por servicios administrativos

2

   401.17

   Ingresos por servicios administrativos nacionales partes relacionadas

2

   401.18

   Ingresos por servicios administrativos extranjeros partes relacionadas

2

   401.19

   Ingresos por servicios profesionales

2

   401.20

   Ingresos por servicios profesionales nacionales partes relacionadas

2

   401.21

   Ingresos por servicios profesionales extranjeros partes relacionadas

2

   401.22

   Ingresos por arrendamiento

2

   401.23

   Ingresos por arrendamiento nacionales partes relacionadas

2

   401.24

   Ingresos por arrendamiento extranjeros partes relacionadas

2

   401.25

   Ingresos por exportación

2

   401.26

   Ingresos por comisiones

2

   401.27

   Ingresos por maquila

2

   401.28

   Ingresos por coordinados

2

   401.29

   Ingresos por regalías

2

   401.30

   Ingresos por asistencia técnica

2

   401.31

   Ingresos por donativos

2

   401.32

   Ingresos por intereses (actividad propia)

2

   401.33

   Ingresos de copropiedad

2

   401.34

   Ingresos por fideicomisos

2

   401.35

   Ingresos por factoraje financiero

2

   401.36

   Ingresos por arrendamiento financiero

2

   401.37

   Ingresos de extranjeros con establecimiento en el país

2

   401.38

   Otros ingresos propios

1

402

Devoluciones, descuentos o bonificaciones sobre ingresos

2

   402.01

   Devoluciones, descuentos o bonificaciones sobre ventas y/o servicios a la tasa general

2

   402.02

   Devoluciones, descuentos o bonificaciones sobre ventas y/o servicios al 0%

2

   402.03

   Devoluciones, descuentos o bonificaciones sobre ventas y/o servicios exentos

2

   402.04

   Devoluciones, descuentos o bonificaciones de otros ingresos

1

403

Otros ingresos

2

   403.01

   Otros Ingresos

2

   403.02

   Otros ingresos nacionales parte relacionada

2

   403.03

   Otros ingresos extranjeros parte relacionada

2

   403.04

   Ingresos por operaciones discontinuas

2

   403.05

   Ingresos por condonación de adeudo

 

500

Costos

1

501

Costo de venta y/o servicio

2

   501.01

   Costo de venta

2

   501.02

   Costo de servicios (Mano de obra)

2

   501.03

   Materia prima directa utilizada para la producción

2

   501.04

   Materia prima consumida en el proceso productivo

2

   501.05

   Mano de obra directa consumida

2

   501.06

   Mano de obra directa

2

   501.07

   Cargos indirectos de producción

2

   501.08

   Otros conceptos de costo

1

502

Compras

2

   502.01

   Compras nacionales

2

   502.02

   Compras nacionales parte relacionada

2

   502.03

   Compras de Importación

2

   502.04

   Compras de Importación partes relacionadas

1

503

Devoluciones, descuentos o bonificaciones sobre compras

2

   503.01

   Devoluciones, descuentos o bonificaciones sobre compras

1

504

Otras cuentas de costos

2

   504.01

   Gastos indirectos de fabricación

2

   504.02

   Gastos indirectos de fabricación de partes relacionadas nacionales

 

2

   504.03

   Gastos indirectos de fabricación de partes relacionadas extranjeras

2

   504.04

   Otras cuentas de costos incurridos

2

   504.05

   Otras cuentas de costos incurridos con partes relacionadas nacionales

2

   504.06

   Otras cuentas de costos incurridos con partes relacionadas extranjeras

2

   504.07

   Depreciación de edificios

2

   504.08

   Depreciación de maquinaria y equipo

2

   504.09

   Depreciación de automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

   504.10

   Depreciación de mobiliario y equipo de oficina

2

   504.11

   Depreciación de equipo de cómputo

2

   504.12

   Depreciación de equipo de comunicación

2

   504.13

   Depreciación de activos biológicos, vegetales y semovientes

2

   504.14

   Depreciación de otros activos fijos

2

   504.15

   Depreciación de ferrocarriles

2

   504.16

   Depreciación de embarcaciones

2

   504.17

   Depreciación de aviones

2

   504.18

   Depreciación de troqueles, moldes, matrices y herramental

2

   504.19

   Depreciación de equipo de comunicaciones telefónicas

2

   504.20

   Depreciación de equipo de comunicación satelital

2

   504.21

   Depreciación de equipo de adaptaciones para personas con capacidades diferentes

2

   504.22

   Depreciación de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

   504.23

   Depreciación de adaptaciones y mejoras

2

   504.24

   Depreciación de otra maquinaria y equipo

2

   504.25

   Otras cuentas de costos

1

505

Costo de activo fijo

2

   505.01

   Costo por venta de activo fijo

2

   505.02

   Costo por baja de activo fijo

 

600

Gastos

1

601

Gastos generales

2

   601.01

   Sueldos y salarios

2

   601.02

   Compensaciones

2

   601.03

   Tiempos extras

2

   601.04

   Premios de asistencia

2

   601.05

   Premios de puntualidad

2

   601.06

   Vacaciones

2

   601.07

   Prima vacacional

2

   601.08

   Prima dominical

2

   601.09

   Días festivos

2

   601.10

   Gratificaciones

2

   601.11

   Primas de antigüedad

2

   601.12

   Aguinaldo

2

   601.13

   Indemnizaciones

2

   601.14

   Destajo

2

   601.15

   Despensa

2

   601.16

   Transporte

2

   601.17

   Servicio médico

2

   601.18

   Ayuda en gastos funerarios

2

   601.19

   Fondo de ahorro

2

   601.20

   Cuotas sindicales

2

   601.21

   PTU

2

   601.22

   Estímulo al personal

2

   601.23

   Previsión social

2

   601.24

   Aportaciones para el plan de jubilación

2

   601.25

   Otras prestaciones al personal

2

   601.26

   Cuotas al IMSS

2

   601.27

   Aportaciones al infonavit

2

   601.28

   Aportaciones al SAR

2

   601.29

   Impuesto estatal sobre nóminas

 

2

   601.30

   Otras aportaciones

2

   601.31

   Asimilados a salarios

2

   601.32

   Servicios administrativos

2

   601.33

   Servicios administrativos partes relacionadas

2

   601.34

   Honorarios a personas físicas residentes nacionales

2

   601.35

   Honorarios a personas físicas residentes nacionales partes relacionadas

2

   601.36

   Honorarios a personas físicas residentes del extranjero

2

   601.37

   Honorarios a personas físicas residentes del extranjero partes relacionadas

2

   601.38

   Honorarios a personas morales residentes nacionales

2

   601.39

   Honorarios a personas morales residentes nacionales partes relacionadas

2

   601.40

   Honorarios a personas morales residentes del extranjero

2

   601.41

   Honorarios a personas morales residentes del extranjero partes relacionadas

2

   601.42

   Honorarios aduanales personas físicas

2

   601.43

   Honorarios aduanales personas morales

2

   601.44

   Honorarios al consejo de administración

2

   601.45

   Arrendamiento a personas físicas residentes nacionales

2

   601.46

   Arrendamiento a personas morales residentes nacionales

2

   601.47

   Arrendamiento a residentes del extranjero

2

   601.48

   Combustibles y lubricantes

2

   601.49

   Viáticos y gastos de viaje

2

   601.50

   Teléfono, internet

2

   601.51

   Agua

2

   601.52

   Energía eléctrica

2

   601.53

   Vigilancia y seguridad

2

   601.54

   Limpieza

2

   601.55

   Papelería y artículos de oficina

2

   601.56

   Mantenimiento y conservación

2

   601.57

   Seguros y fianzas

2

   601.58

   Otros impuestos y derechos

2

   601.59

   Recargos fiscales

2

   601.60

   Cuotas y suscripciones

2

   601.61

   Propaganda y publicidad

2

   601.62

   Capacitación al personal

2

   601.63

   Donativos y ayudas

2

   601.64

   Asistencia técnica

2

   601.65

   Regalías sujetas a otros porcentajes

2

   601.66

   Regalías sujetas al 5%

2

   601.67

   Regalías sujetas al 10%

2

   601.68

   Regalías sujetas al 15%

2

   601.69

   Regalías sujetas al 25%

2

   601.70

   Regalías sujetas al 30%

2

   601.71

   Regalías sin retención

2

   601.72

   Fletes y acarreos

2

   601.73

   Gastos de importación

2

   601.74

   Comisiones sobre ventas

2

   601.75

   Comisiones por tarjetas de crédito

2

   601.76

   Patentes y marcas

2

   601.77

   Uniformes

2

   601.78

   Prediales

2

   601.79

   Gastos generales de urbanización

2

   601.80

   Gastos generales de construcción

2

   601.81

   Fletes del extranjero

2

   601.82

   Recolección de bienes del sector agropecuario y/o ganadero

2

   601.83

   Gastos no deducibles (sin requisitos fiscales)

2

   601.84

   Otros gastos generales

1

602

Gastos de venta

2

   602.01

   Sueldos y salarios

2

   602.02

   Compensaciones

2

   602.03

   Tiempos extras

 

2

   602.04

   Premios de asistencia

2

   602.05

   Premios de puntualidad

2

   602.06

   Vacaciones

2

   602.07

   Prima vacacional

2

   602.08

   Prima dominical

2

   602.09

   Días festivos

2

   602.10

   Gratificaciones

2

   602.11

   Primas de antigüedad

2

   602.12

   Aguinaldo

2

   602.13

   Indemnizaciones

2

   602.14

   Destajo

2

   602.15

   Despensa

2

   602.16

   Transporte

2

   602.17

   Servicio médico

2

   602.18

   Ayuda en gastos funerarios

2

   602.19

   Fondo de ahorro

2

   602.20

   Cuotas sindicales

2

   602.21

   PTU

2

   602.22

   Estímulo al personal

2

   602.23

   Previsión social

2

   602.24

   Aportaciones para el plan de jubilación

2

   602.25

   Otras prestaciones al personal

2

   602.26

   Cuotas al IMSS

2

   602.27

   Aportaciones al infonavit

2

   602.28

   Aportaciones al SAR

2

   602.29

   Impuesto estatal sobre nóminas

2

   602.30

   Otras aportaciones

2

   602.31

   Asimilados a salarios

2

   602.32

   Servicios administrativos

2

   602.33

   Servicios administrativos partes relacionadas

2

   602.34

   Honorarios a personas físicas residentes nacionales

2

   602.35

   Honorarios a personas físicas residentes nacionales partes relacionadas

2

   602.36

   Honorarios a personas físicas residentes del extranjero

2

   602.37

   Honorarios a personas físicas residentes del extranjero partes relacionadas

2

   602.38

   Honorarios a personas morales residentes nacionales

2

   602.39

   Honorarios a personas morales residentes nacionales partes relacionadas

2

   602.40

   Honorarios a personas morales residentes del extranjero

2

   602.41

   Honorarios a personas morales residentes del extranjero partes relacionadas

2

   602.42

   Honorarios aduanales personas físicas

2

   602.43

   Honorarios aduanales personas morales

2

   602.44

   Honorarios al consejo de administración

2

   602.45

   Arrendamiento a personas físicas residentes nacionales

2

   602.46

   Arrendamiento a personas morales residentes nacionales

2

   602.47

   Arrendamiento a residentes del extranjero

2

   602.48

   Combustibles y lubricantes

2

   602.49

   Viáticos y gastos de viaje

2

   602.50

   Teléfono, internet

2

   602.51

   Agua

2

   602.52

   Energía eléctrica

2

   602.53

   Vigilancia y seguridad

2

   602.54

   Limpieza

2

   602.55

   Papelería y artículos de oficina

2

   602.56

   Mantenimiento y conservación

2

   602.57

   Seguros y fianzas

2

   602.58

   Otros impuestos y derechos

2

   602.59

   Recargos fiscales

2

   602.60

   Cuotas y suscripciones

2

   602.61

   Propaganda y publicidad

 

2

   602.62

   Capacitación al personal

2

   602.63

   Donativos y ayudas

2

   602.64

   Asistencia técnica

2

   602.65

   Regalías sujetas a otros porcentajes

2

   602.66

   Regalías sujetas al 5%

2

   602.67

   Regalías sujetas al 10%

2

   602.68

   Regalías sujetas al 15%

2

   602.69

   Regalías sujetas al 25%

2

   602.70

   Regalías sujetas al 30%

2

   602.71

   Regalías sin retención

2

   602.72

   Fletes y acarreos

2

   602.73

   Gastos de importación

2

   602.74

   Comisiones sobre ventas

2

   602.75

   Comisiones por tarjetas de crédito

2

   602.76

   Patentes y marcas

2

   602.77

   Uniformes

2

   602.78

   Prediales

2

   602.79

   Gastos de venta de urbanización

2

   602.80

   Gastos de venta de construcción

2

   602.81

   Fletes del extranjero

2

   602.82

   Recolección de bienes del sector agropecuario y/o ganadero

2

   602.83

   Gastos no deducibles (sin requisitos fiscales)

2

   602.84

   Otros gastos de venta

1

603

Gastos de administración

2

   603.01

   Sueldos y salarios

2

   603.02

   Compensaciones

2

   603.03

   Tiempos extras

2

   603.04

   Premios de asistencia

2

   603.05

   Premios de puntualidad

2

   603.06

   Vacaciones

2

   603.07

   Prima vacacional

2

   603.08

   Prima dominical

2

   603.09

   Días festivos

2

   603.10

   Gratificaciones

2

   603.11

   Primas de antigüedad

2

   603.12

   Aguinaldo

2

   603.13

   Indemnizaciones

2

   603.14

   Destajo

2

   603.15

   Despensa

2

   603.16

   Transporte

2

   603.17

   Servicio médico

2

   603.18

   Ayuda en gastos funerarios

2

   603.19

   Fondo de ahorro

2

   603.20

   Cuotas sindicales

2

   603.21

   PTU

2

   603.22

   Estímulo al personal

2

   603.23

   Previsión social

2

   603.24

   Aportaciones para el plan de jubilación

2

   603.25

   Otras prestaciones al personal

2

   603.26

   Cuotas al IMSS

2

   603.27

   Aportaciones al infonavit

2

   603.28

   Aportaciones al SAR

2

   603.29

   Impuesto estatal sobre nóminas

2

   603.30

   Otras aportaciones

2

   603.31

   Asimilados a salarios

2

   603.32

   Servicios administrativos

2

   603.33

   Servicios administrativos partes relacionadas

2

   603.34

   Honorarios a personas físicas residentes nacionales

 

2

   603.35

   Honorarios a personas físicas residentes nacionales partes relacionadas

2

   603.36

   Honorarios a personas físicas residentes del extranjero

2

   603.37

   Honorarios a personas físicas residentes del extranjero partes relacionadas

2

   603.38

   Honorarios a personas morales residentes nacionales

2

   603.39

   Honorarios a personas morales residentes nacionales partes relacionadas

2

   603.40

   Honorarios a personas morales residentes del extranjero

2

   603.41

   Honorarios a personas morales residentes del extranjero partes relacionadas

2

   603.42

   Honorarios aduanales personas físicas

2

   603.43

   Honorarios aduanales personas morales

2

   603.44

   Honorarios al consejo de administración

2

   603.45

   Arrendamiento a personas físicas residentes nacionales

2

   603.46

   Arrendamiento a personas morales residentes nacionales

2

   603.47

   Arrendamiento a residentes del extranjero

2

   603.48

   Combustibles y lubricantes

2

   603.49

   Viáticos y gastos de viaje

2

   603.50

   Teléfono, internet

2

   603.51

   Agua

2

   603.52

   Energía eléctrica

2

   603.53

   Vigilancia y seguridad

2

   603.54

   Limpieza

2

   603.55

   Papelería y artículos de oficina

2

   603.56

   Mantenimiento y conservación

2

   603.57

   Seguros y fianzas

2

   603.58

   Otros impuestos y derechos

2

   603.59

   Recargos fiscales

2

   603.60

   Cuotas y suscripciones

2

   603.61

   Propaganda y publicidad

2

   603.62

   Capacitación al personal

2

   603.63

   Donativos y ayudas

2

   603.64

   Asistencia técnica

2

   603.65

   Regalías sujetas a otros porcentajes

2

   603.66

   Regalías sujetas al 5%

2

   603.67

   Regalías sujetas al 10%

2

   603.68

   Regalías sujetas al 15%

2

   603.69

   Regalías sujetas al 25%

2

   603.70

   Regalías sujetas al 30%

2

   603.71

   Regalías sin retención

2

   603.72

   Fletes y acarreos

2

   603.73

   Gastos de importación

2

   603.74

   Patentes y marcas

2

   603.75

   Uniformes

2

   603.76

   Prediales

2

   603.77

   Gastos de administración de urbanización

2

   603.78

   Gastos de administración de construcción

2

   603.79

   Fletes del extranjero

2

   603.80

   Recolección de bienes del sector agropecuario y/o ganadero

2

   603.81

   Gastos no deducibles (sin requisitos fiscales)

2

   603.82

   Otros gastos de administración

1

604

Gastos de fabricación

2

   604.01

   Sueldos y salarios

2

   604.02

   Compensaciones

2

   604.03

   Tiempos extras

2

   604.04

   Premios de asistencia

2

   604.05

   Premios de puntualidad

2

   604.06

   Vacaciones

2

   604.07

   Prima vacacional

2

   604.08

   Prima dominical

2

   604.09

   Días festivos

 

2

   604.10

   Gratificaciones

2

   604.11

   Primas de antigüedad

2

   604.12

   Aguinaldo

2

   604.13

   Indemnizaciones

2

   604.14

   Destajo

2

   604.15

   Despensa

2

   604.16

   Transporte

2

   604.17

   Servicio médico

2

   604.18

   Ayuda en gastos funerarios

2

   604.19

   Fondo de ahorro

2

   604.20

   Cuotas sindicales

2

   604.21

   PTU

2

   604.22

   Estímulo al personal

2

   604.23

   Previsión social

2

   604.24

   Aportaciones para el plan de jubilación

2

   604.25

   Otras prestaciones al personal

2

   604.26

   Cuotas al IMSS

2

   604.27

   Aportaciones al infonavit

2

   604.28

   Aportaciones al SAR

2

   604.29

   Impuesto estatal sobre nóminas

2

   604.30

   Otras aportaciones

2

   604.31

   Asimilados a salarios

2

   604.32

   Servicios administrativos

2

   604.33

   Servicios administrativos partes relacionadas

2

   604.34

   Honorarios a personas físicas residentes nacionales

2

   604.35

   Honorarios a personas físicas residentes nacionales partes relacionadas

2

   604.36

   Honorarios a personas físicas residentes del extranjero

2

   604.37

   Honorarios a personas físicas residentes del extranjero partes relacionadas

2

   604.38

   Honorarios a personas morales residentes nacionales

2

   604.39

   Honorarios a personas morales residentes nacionales partes relacionadas

2

   604.40

   Honorarios a personas morales residentes del extranjero

2

   604.41

   Honorarios a personas morales residentes del extranjero partes relacionadas

2

   604.42

   Honorarios aduanales personas físicas

2

   604.43

   Honorarios aduanales personas morales

2

   604.44

   Honorarios al consejo de administración

2

   604.45

   Arrendamiento a personas físicas residentes nacionales

2

   604.46

   Arrendamiento a personas morales residentes nacionales

2

   604.47

   Arrendamiento a residentes del extranjero

2

   604.48

   Combustibles y lubricantes

2

   604.49

   Viáticos y gastos de viaje

2

   604.50

   Teléfono, internet

2

   604.51

   Agua

2

   604.52

   Energía eléctrica

2

   604.53

   Vigilancia y seguridad

2

   604.54

   Limpieza

2

   604.55

   Papelería y artículos de oficina

2

   604.56

   Mantenimiento y conservación

2

   604.57

   Seguros y fianzas

2

   604.58

   Otros impuestos y derechos

2

   604.59

   Recargos fiscales

2

   604.60

   Cuotas y suscripciones

2

   604.61

   Propaganda y publicidad

2

   604.62

   Capacitación al personal

2

   604.63

   Donativos y ayudas

2

   604.64

   Asistencia técnica

2

   604.65

   Regalías sujetas a otros porcentajes

2

   604.66

   Regalías sujetas al 5%

2

   604.67

   Regalías sujetas al 10%

 

2

   604.68

   Regalías sujetas al 15%

2

   604.69

   Regalías sujetas al 25%

2

   604.70

   Regalías sujetas al 30%

2

   604.71

   Regalías sin retención

2

   604.72

   Fletes y acarreos

2

   604.73

   Gastos de importación

2

   604.74

   Patentes y marcas

2

   604.75

   Uniformes

2

   604.76

   Prediales

2

   604.77

   Gastos de fabricación de urbanización

2

   604.78

   Gastos de fabricación de construcción

2

   604.79

   Fletes del extranjero

2

   604.80

   Recolección de bienes del sector agropecuario y/o ganadero

2

   604.81

   Gastos no deducibles (sin requisitos fiscales)

2

   604.82

   Otros gastos de fabricación

1

605

Mano de obra directa

2

   605.01

   Mano de obra

2

   605.02

   Sueldos y Salarios

2

   605.03

   Compensaciones

2

   605.04

   Tiempos extras

2

   605.05

   Premios de asistencia

2

   605.06

   Premios de puntualidad

2

   605.07

   Vacaciones

2

   605.08

   Prima vacacional

2

   605.09

   Prima dominical

2

   605.10

   Días festivos

2

   605.11

   Gratificaciones

2

   605.12

   Primas de antigüedad

2

   605.13

   Aguinaldo

2

   605.14

   Indemnizaciones

2

   605.15

   Destajo

2

   605.16

   Despensa

2

   605.17

   Transporte

2

   605.18

   Servicio médico

2

   605.19

   Ayuda en gastos funerarios

2

   605.20

   Fondo de ahorro

2

   605.21

   Cuotas sindicales

2

   605.22

   PTU

2

   605.23

   Estímulo al personal

2

   605.24

   Previsión social

2

   605.25

   Aportaciones para el plan de jubilación

2

   605.26

   Otras prestaciones al personal

2

   605.27

   Asimilados a salarios

2

   605.28

   Cuotas al IMSS

2

   605.29

   Aportaciones al infonavit

2

   605.30

   Aportaciones al SAR

2

   605.31

   Otros costos de mano de obra directa

1

606

Facilidades administrativas fiscales

2

   606.01

   Facilidades administrativas fiscales

1

607

Participación de los trabajadores en las utilidades

2

   607.01

   Participación de los trabajadores en las utilidades

1

608

Participación en resultados de subsidiarias

2

   608.01

   Participación en resultados de subsidiarias

1

609

Participación en resultados de asociadas

2

   609.01

   Participación en resultados de asociadas

1

610

Participación de los trabajadores en las utilidades diferida

2

   610.01

   Participación de los trabajadores en las utilidades diferida

1

611

Impuesto Sobre la renta

2

   611.01

   Impuesto Sobre la renta

 

2

   611.02

   Impuesto Sobre la renta por remanente distribuible

1

612

Gastos no deducibles para CUFIN

2

   612.01

   Gastos no deducibles para CUFIN

1

613

Depreciación contable

2

   613.01

   Depreciación de edificios

2

   613.02

   Depreciación de maquinaria y equipo

2

   613.03

   Depreciación de automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

   613.04

   Depreciación de mobiliario y equipo de oficina

2

   613.05

   Depreciación de equipo de cómputo

2

   613.06

   Depreciación de equipo de comunicación

2

   613.07

   Depreciación de activos biológicos, vegetales y semovientes

2

   613.08

   Depreciación de otros activos fijos

2

   613.09

   Depreciación de ferrocarriles

2

   613.10

   Depreciación de embarcaciones

2

   613.11

   Depreciación de aviones

2

   613.12

   Depreciación de troqueles, moldes, matrices y herramental

2

   613.13

   Depreciación de equipo de comunicaciones telefónicas

2

   613.14

   Depreciación de equipo de comunicación satelital

2

   613.15

   Depreciación de equipo de adaptaciones para personas con capacidades diferentes

2

   613.16

   Depreciación de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

   613.17

   Depreciación de adaptaciones y mejoras

2

   613.18

   Depreciación de otra maquinaria y equipo

1

614

Amortización contable

2

   614.01

   Amortización de gastos diferidos

2

   614.02

   Amortización de gastos pre operativos

2

   614.03

   Amortización de regalías, asistencia técnica y otros gastos diferidos

2

   614.04

   Amortización de activos intangibles

2

   614.05

   Amortización de gastos de organización

2

   614.06

   Amortización de investigación y desarrollo de mercado

2

   614.07

   Amortización de marcas y patentes

2

   614.08

   Amortización de crédito mercantil

2

   614.09

   Amortización de gastos de instalación

2

   614.10

   Amortización de otros activos diferidos

 

700

Resultado integral de financiamiento

1

701

Gastos financieros

2

   701.01

   Pérdida cambiaria

2

   701.02

   Pérdida cambiaria nacional parte relacionada

2

   701.03

   Pérdida cambiaria extranjero parte relacionada

2

   701.04

   Intereses a cargo bancario nacional

2

   701.05

   Intereses a cargo bancario extranjero

2

   701.06

   Intereses a cargo de personas físicas nacional

2

   701.07

   Intereses a cargo de personas físicas extranjero

2

   701.08

   Intereses a cargo de personas morales nacional

2

   701.09

   Intereses a cargo de personas morales extranjero

2

   701.10

   Comisiones bancarias

2

   701.11

   Otros gastos financieros

1

702

Productos financieros

2

   702.01

   Utilidad cambiaria

2

   702.02

   Utilidad cambiaria nacional parte relacionada

2

   702.03

   Utilidad cambiaria extranjero parte relacionada

2

   702.04

   Intereses a favor bancarios nacional

2

   702.05

   Intereses a favor bancarios extranjero

2

   702.06

   Intereses a favor de personas físicas nacional

2

   702.07

   Intereses a favor de personas físicas extranjero

2

   702.08

   Intereses a favor de personas morales nacional

2

   702.09

   Intereses a favor de personas morales extranjero

2

   702.10

   Otros productos financieros

1

703

Otros gastos

2

   703.01

   Pérdida en venta y/o baja de terrenos

 

2

   703.02

   Pérdida en venta y/o baja de edificios

2

   703.03

   Pérdida en venta y/o baja de maquinaria y equipo

2

   703.04

   Pérdida en venta y/o baja de automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

   703.05

   Pérdida en venta y/o baja de mobiliario y equipo de oficina

2

   703.06

   Pérdida en venta y/o baja de equipo de cómputo

2

   703.07

   Pérdida en venta y/o baja de equipo de comunicación

2

   703.08

   Pérdida en venta y/o baja de activos biológicos, vegetales y semovientes

2

   703.09

   Pérdida en venta y/o baja de otros activos fijos

2

   703.10

   Pérdida en venta y/o baja de ferrocarriles

2

   703.11

   Pérdida en venta y/o baja de embarcaciones

2

   703.12

   Pérdida en venta y/o baja de aviones

2

   703.13

   Pérdida en venta y/o baja de troqueles, moldes, matrices y herramental

2

   703.14

   Pérdida en venta y/o baja de equipo de comunicaciones telefónicas

2

   703.15

   Pérdida en venta y/o baja de equipo de comunicación satelital

2

   703.16

   Pérdida en venta y/o baja de equipo de adaptaciones para personas con capacidades diferentes

2

   703.17

   Pérdida en venta y/o baja de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

   703.18

   Pérdida en venta y/o baja de otra maquinaria y equipo

2

   703.19

   Pérdida por enajenación de acciones

2

   703.20

   Pérdida por enajenación de partes sociales

2

   703.21

   Otros gastos

1

704

Otros productos

2

   704.01

   Ganancia en venta y/o baja de terrenos

2

   704.02

   Ganancia en venta y/o baja de edificios

2

   704.03

   Ganancia en venta y/o baja de maquinaria y equipo

2

   704.04

   Ganancia en venta y/o baja de automóviles, autobuses, camiones de carga, tractocamiones, montacargas y remolques

2

   704.05

   Ganancia en venta y/o baja de mobiliario y equipo de oficina

2

   704.06

   Ganancia en venta y/o baja de equipo de cómputo

2

   704.07

   Ganancia en venta y/o baja de equipo de comunicación

2

   704.08

   Ganancia en venta y/o baja de activos biológicos, vegetales y semovientes

2

   704.09

   Ganancia en venta y/o baja de otros activos fijos

2

   704.10

   Ganancia en venta y/o baja de ferrocarriles

2

   704.11

   Ganancia en venta y/o baja de embarcaciones

2

   704.12

   Ganancia en venta y/o baja de aviones

2

   704.13

   Ganancia en venta y/o baja de troqueles, moldes, matrices y herramental

2

   704.14

   Ganancia en venta y/o baja de equipo de comunicaciones telefónicas

2

   704.15

   Ganancia en venta y/o baja de equipo de comunicación satelital

2

   704.16

   Ganancia en venta y/o baja de equipo de adaptaciones para personas con capacidades diferentes

2

   704.17

   Ganancia en venta de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de cogeneración de electricidad eficiente

2

   704.18

   Ganancia en venta y/o baja de otra maquinaria y equipo

2

   704.19

   Ganancia por enajenación de acciones

2

   704.20

   Ganancia por enajenación de partes sociales

2

   704.21

   Ingresos por estímulos fiscales

2

   704.22

   Ingresos por condonación de adeudo

2

   704.23

   Otros productos

 

800

Cuentas de orden

1

801

UFIN del ejercicio

2

   801.01

   UFIN

2

   801.02

   Contra cuenta UFIN

 

1

802

CUFIN del ejercicio

2

   802.01

   CUFIN

2

   802.02

   Contra cuenta CUFIN

1

803

CUFIN de ejercicios anteriores

2

   803.01

   CUFIN de ejercicios anteriores

2

   803.02

   Contra cuenta CUFIN de ejercicios anteriores

1

804

CUFINRE del ejercicio

2

   804.01

   CUFINRE

2

   804.02

   Contra cuenta CUFINRE

1

805

CUFINRE de ejercicios anteriores

2

   805.01

   CUFINRE de ejercicios anteriores

2

   805.02

   Contra cuenta CUFINRE de ejercicios anteriores

1

806

CUCA del ejercicio

2

   806.01

   CUCA

2

   806.02

   Contra cuenta CUCA

1

807

CUCA de ejercicios anteriores

2

   807.01

   CUCA de ejercicios anteriores

2

   807.02

   Contra cuenta CUCA de ejercicios anteriores

1

808

Ajuste anual por inflación acumulable

2

   808.01

   Ajuste anual por inflación acumulable

2

   808.02

   Acumulación del ajuste anual inflacionario

1

809

Ajuste anual por inflación deducible

2

   809.01

   Ajuste anual por inflación deducible

2

   809.02

   Deducción del ajuste anual inflacionario

1

810

Deducción de inversión

2

   810.01

   Deducción de inversión

2

   810.02

   Contra cuenta deducción de inversiones

1

811

Utilidad o pérdida fiscal en venta y/o baja de activo fijo

2

   811.01

   Utilidad o pérdida fiscal en venta y/o baja de activo fijo

2

   811.02

   Contra cuenta utilidad o pérdida fiscal en venta y/o baja de activo fijo

1

812

Utilidad o pérdida fiscal en venta acciones o partes sociales

2

   812.01

   Utilidad o pérdida fiscal en venta acciones o partes sociales

2

   812.02

   Contra cuenta utilidad o pérdida fiscal en venta acciones o partes sociales

1

813

Pérdidas fiscales pendientes de amortizar actualizadas de ejercicios anteriores

2

   813.01

   Pérdidas fiscales pendientes de amortizar actualizadas de ejercicios anteriores

2

   813.02

   Actualización de pérdidas fiscales pendientes de amortizar de ejercicios anteriores

1

814

Mercancías recibidas en consignación

2

   814.01

   Mercancías recibidas en consignación

2

   814.02

   Consignación de mercancías recibidas

1

815

Crédito fiscal de IVA e IEPS por la importación de mercancías para empresas certificadas

2

   815.01

   Crédito fiscal de IVA e IEPS por la importación de mercancías

2

   815.02

   Importación de mercancías con aplicación de crédito fiscal de IVA e IEPS

1

816

Crédito fiscal de IVA e IEPS por la importación de activos fijos para empresas certificadas

2

   816.01

   Crédito fiscal de IVA e IEPS por la importación de activo fijo

2

   816.02

   Importación de activo fijo con aplicación de crédito fiscal de IVA e IEPS

1

899

Otras cuentas de orden

2

   899.01

   Otras cuentas de orden

2

   899.02

   Contra cuenta otras cuentas de orden

n*

000

Código para uso exclusivo de contribuyentes del sector financiero

 

n* = Se deberá indicar el nivel en el que se encuentra la cuenta o subcuenta en el catálogo del contribuyente. (Ejemplo: 1,2,3,4,5, etc...)

C.      Balanza de comprobación.

Contenido

C.- Formato balanza de comprobación

1.      Estándar del formato balanza de comprobación de contabilidad electrónica

2.      Generación opcional de sellos digitales

3.      Nomenclatura y características del archivo

1.      Estándar del formato balanza de comprobación de contabilidad electrónica.

El contribuyente deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

Para poder ser validado, la balanza de comprobación de contabilidad electrónica deberá estar referenciado al namespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/BalanzaComprobacion/BalanzaComprobacion_1_1.xsd) de la siguiente manera:

<BCE:Balanza

                xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/BalanzaComprobacion/BalanzaComprobacion_1_1.xsd "

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

                xmlns:BCE=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/BalanzaComprobacion">

 .........

</BCE:Balanza>

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que utilice este estándar 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 http://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.

 

 

 

 

 

 

Descripción

 

 

Estándar de balanza de comprobación que se entrega como parte de la contabilidad electrónica.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

Requerido

 

Valor Prefijado

1.1

 

Tipo Especial

xs:string

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que envía los datos

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Mes

 

Descripción

Atributo requerido para expresar el mes al que corresponde la balanza de comprobación

 

Uso

requerido

 

Tipo Base

xs:string

 

Valores Permitidos

01
02
03
04
05
06
07
08
09
10
11
12
13

 

 

 

 

Anio

 

Descripción

Atributo requerido para expresar el año al que corresponde la balanza

 

Uso

requerido

 

Tipo Base

xs:int

 

Valor Mínimo Incluyente

2015

 

Valor Máximo Incluyente

2099

 

TipoEnvio

 

Descripción

Atributo requerido para expresar el tipo de envío de la balanza (N - Normal; C - Complementaria)

 

Uso

requerido

 

Tipo Base

xs:string

 

Patrón

[NC]

 

FechaModBal

 

Descripción

Atributo opcional para expresar la fecha de la última modificación contable de la balanza de comprobación. Es requerido cuando el atributo TipoEnvio = C. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

xs:date

 

Sello

 

Descripción

Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

noCertificado

 

Descripción

Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

20

 

Certificado

 

Descripción

Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Ctas (1, Ilimitado)

 

 

Descripción

 

 

Nodo obligatorio para expresar el detalle de cada cuenta o subcuenta de la balanza de comprobación.

 

Atributos

 

 

NumCta

 

Descripción

Atributo requerido para expresar la clave asignada con que se distingue la cuenta o subcuenta en el catálogo de cuentas del contribuyente.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

SaldoIni

 

Descripción

Atributo requerido para expresar el monto del saldo inicial de la cuenta o subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o subcuenta, deberá de corresponder el saldo inicial, de lo contrario se entenderá que es un saldo inicial de naturaleza inversa. En caso de no existir dato, colocar cero (0)

 

Uso

requerido

 

Tipo Especial

BCE:t_Importe

 

Debe

 

Descripción

Atributo requerido para expresar el monto de los movimientos deudores de la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)

 

Uso

requerido

 

Tipo Especial

BCE:t_Importe

 

Haber

 

Descripción

Atributo requerido para expresar el monto de los movimientos acreedores de la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)

 

Uso

requerido

 

Tipo Especial

BCE:t_Importe

 

SaldoFin

 

Descripción

Atributo requerido para expresar el monto del saldo final de la cuenta o subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o subcuenta, deberá de corresponder el saldo final, de lo contrario se entenderá que es un saldo final de naturaleza inversa. En caso de no existir dato, colocar cero (0)

 

Uso

requerido

 

Tipo Especial

BCE:t_Importe

 

Tipos Simples

 

Tipo Simple Global: t_Importe

 

Descripción

 

 

Tipo definido para expresar importes numéricos con fracción hasta dos decimales

 

Definición

 

 

 

 

 

Tipo Base

xs:decimal

 

Valor Mínimo Excluyente

-99999999999999.99

 

Valor Máximo Incluyente

99999999999999.99

 

Posiciones Decimales

2

 

Espacio en Blanco

Colapsar

 

Código Fuente

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

<xs:schema xmlns:BCE="www.sat.gob.mx/esquemas/ContabilidadE/1_1/BalanzaComprobacion" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/BalanzaComprobacion"
elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:element name="Balanza">

                               <xs:annotation>

                                               <xs:documentation>Estándar de balanza de comprobación que se entrega como parte de la contabilidad electrónica.</xs:documentation>

                               </xs:annotation>

                               <xs:complexType>

                                               <xs:sequence>

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

                                                                              <xs:annotation>

                                                                                              <xs:documentation>Nodo obligatorio para expresar el detalle de cada cuenta o subcuenta de la balanza de comprobación.</xs:documentation>

                                                                              </xs:annotation>

                                                                              <xs:complexType>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar la clave asignada con que se distingue la cuenta o subcuenta en el catálogo de cuentas del  contribuyente.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                                             <xs:maxLength value="100"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

                                                                                              <xs:attribute name="SaldoIni" type="BCE:t_Importe" use="required">

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el monto del saldo inicial de la cuenta o subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o subcuenta, deberá de corresponder el saldo inicial, de lo contrario se entenderá que es un saldo inicial de naturaleza inversa. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el monto de los movimientos deudores de la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

                                                                                                                             <xs:restriction base="BCE:t_Importe"/>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

                                                                                              <xs:attribute name="Haber" type="BCE:t_Importe" use="required">

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el monto de los movimientos acreedores de la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

                                                                                              <xs:attribute name="SaldoFin" type="BCE:t_Importe" use="required">

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el monto del saldo final de la cuenta o subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o subcuenta, deberá de corresponder el saldo final, de lo contrario se entenderá que es un saldo final de naturaleza inversa. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

                                                                              </xs:complexType>

                                                               </xs:element>

                                               </xs:sequence>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minLength value="12"/>

                                                                                              <xs:maxLength value="13"/>

                                                                                              <xs:whiteSpace value="collapse"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el mes al que corresponde la balanza de comprobación</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:enumeration value="01"/>

                                                                                              <xs:enumeration value="02"/>

                                                                                              <xs:enumeration value="03"/>

                                                                                              <xs:enumeration value="04"/>

                                                                                              <xs:enumeration value="05"/>

                                                                                              <xs:enumeration value="06"/>

                                                                                              <xs:enumeration value="07"/>

                                                                                              <xs:enumeration value="08"/>

                                                                                              <xs:enumeration value="09"/>

                                                                                              <xs:enumeration value="10"/>

                                                                                              <xs:enumeration value="11"/>

                                                                                              <xs:enumeration value="12"/>

                                                                                              <xs:enumeration value="13"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el año al que corresponde la balanza</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minInclusive value="2015"/>

                                                                                              <xs:maxInclusive value="2099"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el tipo de envío de la balanza (N - Normal; C - Complementaria)</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar la fecha de la última modificación contable de la balanza de comprobación. Es requerido cuando el atributo TipoEnvio = C. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                                                               </xs:annotation>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="20"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

                               </xs:complexType>

                </xs:element>

                <xs:simpleType name="t_Importe">

                               <xs:annotation>

                                               <xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta dos decimales</xs:documentation>

                               </xs:annotation>

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

                                               <xs:whiteSpace value="collapse"/>

                                               <xs:fractionDigits value="2"/>

                                               <xs:maxInclusive value="99999999999999.99"/>

                                               <xs:minExclusive value="-99999999999999.99"/>

                               </xs:restriction>

                </xs:simpleType>

</xs:schema>

2.      Generación opcional de sellos digitales.

Elementos utilizados en la generación opcional de Sellos Digitales:

·        Cadena Original, del elemento a sellar.

·        Certificado de Sello Digital y su correspondiente clave privada.

·        Algoritmos de criptografía de clave pública para firma electrónica avanzada.

·        Especificaciones de conversión de la firma electrónica avanzada a Base 64.

Para la generación de 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 firma electrónica avanzada o certificado para sellos digitales".

El Certificado puede distribuirse libremente para efectos de intercambio seguro de información y para ofrecer pruebas de autoría de archivos electrónicos o acuerdo con su contenido mediante el proceso denominado "firma electrónica avanzada ", 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 ha sido alterado), autenticidad, certidumbre de origen (facilidad para determinar qué persona es el autor de la firma y valida el contenido del mensaje) y no repudiación del mensaje firmado (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 electrónica avanzada:

·        Es infalsificable.

·        La firma electrónica avanzada no es reciclable (es única por mensaje).

·        Un mensaje con firma electrónica avanzada alterado, es detectable.

·        Un mensaje con firma electrónica avanzada, no puede ser repudiado.

Los certificados de sello digital se generan de manera idéntica a la firma electrónica avanzada y al igual que las firmas electrónicas avanzadas el propósito del sello digital es emitir documentos digitales con autenticidad, integridad, verificables y no repudiables por el emisor. Para ello bastará tener acceso al mensaje original o cadena original, al sello digital y al certificado de sello digital del emisor.

Al ser el certificado de sello digital idéntico en su generación a una firma electrónica avanzada, proporciona los mismos servicios de seguridad y hereda las características de las firmas digitales.

Por consecuencia un archivo sellado digitalmente por el contribuyente tiene las siguientes características:

·        Es infalsificable.

·        El sello digital no es reciclable (es único por documento).

·        Una cadena original de un documento digital sellada digitalmente, que hubiese sido alterada es detectable.

·        Una cadena original de un archivo sellada digitalmente no puede ser repudiada.

Los algoritmos utilizados en la generación de un sello digital son los siguientes:

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

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’.

RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestión del mensaje.

RSAPublicDecrypt, que utiliza la clave pública del emisor para desencriptar la digestión del mensaje.

Cadena Original

Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del archivo, establecida en el Rubro A “Estándar del Formato Balanza de Comprobación de Contabilidad Electrónica” de este anexo. Siguiendo para ello las reglas y la secuencia aquí especificadas:

Reglas Generales:

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

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

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

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

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

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

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

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

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

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

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

Secuencia de Formación:

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

1)      Información del nodo Balanza

a)      Version

b)      RFC

c)      Mes

d)      Anio

e)      TipoEnvio

f)       FechaModBal

2)      Información del nodo Ctas

a)      NumCta

b)      SaldoIni

c)      Debe

d)      Haber

e)      SaldoFin

Generación del Sello Digital

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 SHA-1 a la cadena original a sellar. Este procedimiento genera una salida de 160 bits (20 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida es de 1 en 2(60-colision), y por lo tanto en esta posibilidad 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.

Aplicar el método de digestión SHA-2 a la cadena original a sellar. Este procedimiento genera una salida de 256 bits (32 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida no ha sido encontrada  una colisión y por lo tanto en esta posibilidad 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.

II. Con la clave privada correspondiente al certificado de sello digital del emisor, 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 de Sello digital:

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

3.      Nomenclatura y características del archivo

El archivo XML con la información de la balanza de comprobación deberá enviarse comprimido en formato ZIP con la nomenclatura siguiente:

Balanza de comprobación

RFC

Ejercicio

Periodo

Clave

Extensión

12 o 13 caracteres, correspondientes al RFC del contribuyente, ya sea Persona Moral o Persona Física.

4 caracteres que identifican el año al que corresponde la información que se envía.

2 caracteres que identifican el número de mes al que corresponde la información que se envía.

Caracteres "BN" que identifican a las balanzas de comprobación con información normal;

Caracteres "BC"  que identifican a las balanzas de comprobación con información complementaria.

Caracteres ".ZIP" que identifican un archivo comprimido.

 

Información normal: Se entenderá como aquella información que envía el contribuyente por primera vez al periodo que corresponda, indistintamente si dicha información es presentada de forma oportuna o extemporánea a los plazos establecidos para su envío.

Información complementaria: Se entenderá como aquella información que envía el contribuyente en la cual se incluyen los ajustes del periodo que corresponda, y que sustituye la información enviada previamente por el mismo periodo.

Ejemplos:

Persona Moral – Balanza de comprobación normal

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

BBB010101AB1

2015

01

BN

.zip

 

 

 

 

 

Nombre del archivo:

BBB010101AB1201501BN.zip

 

Persona Moral – Balanza de comprobación complementaria

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

BBB010101AB1

2015

01

BC

.zip

 

 

 

 

 

Nombre del archivo:

BBB010101AB1201501BC.zip

 

Persona Física – Balanza de comprobación normal

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

AAAA010101AB1

2015

01

BN

.zip

 

 

 

 

 

Nombre del archivo:

AAAA010101AB1201501BN.zip

 

Persona Física – Balanza de comprobación complementaria

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

AAAA010101AB1

2015

01

BC

.zip

 

 

 

 

 

Nombre del archivo:

AAAA010101AB1201501BC.zip

 

D.      Información de las pólizas del periodo.

Contenido

D.- Formato pólizas del periodo

1.      Estándar del formato póliza del periodo de contabilidad electrónica

2.      Generación opcional de sellos digitales

3.      Nomenclatura y características del archivo

1.      Estándar del formato pólizas del periodo de contabilidad electrónica

El contribuyente deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

Para poder ser validado, póliza del periodo de contabilidad electrónica deberá estar referenciado al namespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo/PolizasPeriodo_1_1.xsd) de la siguiente manera:

<PLZ:Polizas

                xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo/PolizasPeriodo_1_1.xsd"

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

                xmlns:PLZ=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo">

 .........

</PLZ:Polizas>

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que utilice estándar 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 http://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.

 

Descripción

 

 

Estándar de pólizas del periodo que se entrega como parte de la contabilidad electrónica.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.1

 

Tipo Especial

xs:string

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que envía los datos

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Mes

 

Descripción

Atributo requerido para expresar el mes al que corresponde la póliza

 

Uso

requerido

 

Tipo Base

xs:string

 

Valores Permitidos

01
02
03
04
05
06
07
08
09
10
11
12

 

Anio

 

Descripción

Atributo requerido para expresar el año al que corresponde la póliza

 

Uso

requerido

 

Tipo Base

xs:int

 

Valor Mínimo Incluyente

2015

 

Valor Máximo Incluyente

2099

 

TipoSolicitud

 

Descripción

Atributo requerido para expresar el tipo de solicitud de la póliza ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )

 

Uso

requerido

 

Tipo Base

xs:string

 

Patrón

AF|FC|DE|CO

 

 

 

 

NumOrden

 

Descripción

Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia la solicitud de la póliza. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

13

 

Patrón

[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}

 

NumTramite

 

Descripción

Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia la solicitud de la póliza. Requerido para tipo de solicitud = DE o CO. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

10

 

Patrón

[0-9]{10}

 

Sello

 

Descripción

Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

noCertificado

 

Descripción

Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

20

 

Certificado

 

Descripción

Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Poliza (1, Ilimitado)

 

 

Descripción

 

 

Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza.

 

Atributos

 

 

NumUnIdenPol

 

Descripción

Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha de registro de la póliza

 

Uso

requerido

 

Tipo Especial

xs:date

 

Concepto

 

Descripción

Atributo requerido para expresar el concepto de la operación

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

300

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

Transaccion (1, Ilimitado)

 

 

 

Descripción

 

 

Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza

 

Atributos

 

 

NumCta

 

Descripción

Atributo requerido para expresar la clave con que se distingue la cuenta o subcuenta que se afecta por la transacción.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

DesCta

 

Descripción

Atributo requerido para expresar el nombre de la cuenta o subcuenta que se afecta por la transacción.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

Concepto

 

Descripción

Atributo requerido para expresar el concepto de la transacción

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

Debe

 

Descripción

Atributo requerido para expresar el monto del cargo a la cuenta o subcuenta que se afecta en la transacción. En caso de no existir dato, colocar cero (0)

 

Uso

Requerido

 

Tipo Especial

PLZ:t_Importe

 

Haber

 

Descripción

Atributo requerido para expresar el monto del abono a la cuenta o subcuenta que se afecta en la transacción. En caso de no existir dato, colocar cero (0)

 

Uso

Requerido

 

Tipo Especial

PLZ:t_Importe

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

CompNal (0, Ilimitado)

CompNalOtr (0, Ilimitado)

CompExt (0, Ilimitado)

Cheque (0, Ilimitado)

Transferencia (0, Ilimitado)

OtrMetodoPago (0, Ilimitado)

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.

 

 

Atributos

 

 

UUID_CFDI

 

Descripción

Atributo requerido para expresar la clave UUID del CFDI soporte de la operación. (36 caracteres)

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud

36

 

Espacio en Blanco

Colapsar

 

Patrón

[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con el movimiento o transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

MontoTotal

 

Descripción

Atributo requerido para expresar el monto total del CFDI que soporte la transacción. (Incluye IVA en su caso)

 

Uso

Requerido

 

Tipo Especial

PLZ:t_Importe

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción, diferente a CFDI, es decir, CFD y/o CBB. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.

 

 

Atributos

 

 

CFD_CBB_Serie

 

Descripción

Atributo opcional para expresar la serie del comprobante CFD_CBB que soporte la transacción.

 

Uso

Opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

10

 

Patrón

[A-Z]+

 

CFD_CBB_NumFol

 

Descripción

Atributo requerido para expresar el número de folio del comprobante CFD_CBB que soporte la transacción.

 

Uso

Requerido

 

Tipo Base

xs:integer

 

Dígitos Totales

20

 

Valor Mínimo Incluyente

1

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con el movimiento o transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

MontoTotal

 

Descripción

Atributo requerido para expresar el monto total del CFD y/o CBB que soporte la transacción. (Incluye IVA en su caso)

 

Uso

Requerido

 

Tipo Especial

PLZ:t_Importe

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los comprobantes de origen extranjero relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.

 

 

Atributos

 

 

NumFactExt

 

Descripción

Atributo requerido para expresar la clave numérico o alfanumérico del comprobante de origen extranjero que soporte la operación

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

36

 

Espacio en Blanco

Colapsar

 

TaxID

 

Descripción

Atributo opcional que sirve para expresar el Identificador del contribuyente extranjero. Se convierte en requerido cuando se cuente con la información

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

30

 

Espacio en Blanco

Colapsar

 

MontoTotal

 

Descripción

Atributo requerido para expresar el monto total del comprobante de origen extranjero que soporte la operación.

 

Uso

requerido

 

Tipo Especial

PLZ:t_Importe

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los cheques que integran la póliza. Se convierte en requerido cuando exista una salida de recursos, que involucre este método de pago de la obligación contraída por parte del contribuyente que envía los datos

 

Atributos

 

 

Num

 

Descripción

Atributo requerido para expresar el número del cheque emitido

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

20

 

BanEmisNal

 

Descripción

Atributo requerido, para expresar el Banco nacional emisor del cheque, de acuerdo al catálogo publicado en la página de internet del SAT. Se consideran banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.

 

Uso

requerido

 

Tipo Especial

contelec_td:c_Banco

 

BanEmisExt

 

Descripción

Atributo opcional para expresar el nombre completo del Banco extranjero emisor del cheque. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Máxima

150

 

 

 

 

CtaOri

 

Descripción

Atributo requerido para expresar el número de cuenta bancaria del origen de los recursos.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

Fecha

 

Descripción

Atributo requerido, es la fecha del cheque

 

Uso

requerido

 

Tipo Especial

xs:date

 

Benef

 

Descripción

Atributo requerido, nombre del beneficiario del cheque

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

300

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con el movimiento. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Monto

 

Descripción

Atributo requerido, es el monto del cheque emitido

 

Uso

requerido

 

Tipo Especial

PLZ:t_Importe

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de las transferencias bancarias que integran la póliza. Se convierte en requerido cuando exista una salida de recursos que involucre este método de pago por parte del contribuyente que envía los datos. Además se convierte en requerido cuando se realicen transacciones, entre las cuentas propias del contribuyente.

 

Atributos

 

 

CtaOri

 

Descripción

Atributo opcional para expresar el número de cuenta de origen desde la cual se transfieren los recursos. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

 

 

 

BancoOriNal

 

Descripción

Atributo requerido, para expresar el Banco de la cuenta origen de la transferencia, de acuerdo al catálogo publicado en la página de internet del SAT. Se considera banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.

 

Uso

requerido

 

Tipo Especial

contelec_td:c_Banco

 

BancoOriExt

 

Descripción

Atributo opcional para expresar el nombre completo del banco origen extranjero. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Máxima

150

 

CtaDest

 

Descripción

Atributo requerido para expresar el número de cuenta destino, la cual se transfieren los recursos.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

BancoDestNal

 

Descripción

Atributo requerido, para expresar el Banco de la cuenta destino de la transferencia, de acuerdo al catálogo publicado en la página de internet del SAT. Se considera banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.

 

Uso

requerido

 

Tipo Especial

contelec_td:c_Banco

 

BancoDestExt

 

Descripción

Atributo opcional para expresar el nombre completo del banco destino extranjero. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Máxima

150

 

Fecha

 

Descripción

Atributo requerido, es la fecha de la transferencia

 

Uso

requerido

 

Tipo Especial

xs:date

 

Benef

 

Descripción

Atributo requerido, nombre del beneficiario de la transferencia.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

300

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con el movimiento. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Monto

 

Descripción

Atributo requerido, es el monto transferido

 

Uso

requerido

 

Tipo Especial

PLZ:t_Importe

 

 

 

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

Descripción

 

 

Nodo opcional para relacionar otros métodos de pago de la transacción. Se convierte en requerido cuando la transacción involucra un método de pago diverso a cheque y/o transferencia.

 

Atributos

 

 

MetPagoPol

 

Descripción

Atributo requerido para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT.

 

Uso

requerido

 

Tipo Especial

contelec_td:c_MetPagos

 

Fecha

 

Descripción

Atributo requerido, es la fecha de la transacción de otros métodos de pago.

 

Uso

requerido

 

Tipo Especial

xs:date

 

Benef

 

Descripción

Atributo requerido, nombre de la persona o contribuyente a la cual se realiza éstos métodos de pago.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

300

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con la transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&amp;]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Monto

 

Descripción

Atributo requerido para expresar el monto del método de pago soporte de la transacción.

 

Uso

requerido

 

Tipo Especial

PLZ:t_Importe

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

Tipos Complejos

 

 

 

Tipos Simples

 

Tipo Simple Global: t_Importe

 

Descripción

 

 

Tipo definido para expresar importes numéricos con fracción hasta dos decimales

 

Definición

 

 

 

 

 

Tipo Base

xs:decimal

 

Valor Mínimo Excluyente

-99999999999999.99

 

Valor Máximo Incluyente

99999999999999.99

 

Posiciones Decimales

2

 

Espacio en Blanco

Colapsar

 

Código Fuente

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

<xs:schema xmlns:PLZ="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:contelec_td="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo" elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:import namespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.xsd"/>

                <xs:element name="Polizas">

                               <xs:annotation>

                                               <xs:documentation>Estándar de pólizas del periodo que se entrega como parte de la contabilidad electrónica.</xs:documentation>

                               </xs:annotation>

                               <xs:complexType>

                                               <xs:sequence>

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

                                                                              <xs:annotation>

                                                                                              <xs:documentation>Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza.</xs:documentation>

                                                                              </xs:annotation>

                                                                              <xs:complexType>

                                                                                              <xs:sequence>

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

                                                                                                                             <xs:annotation>

                                                                                                                                             <xs:documentation>Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza</xs:documentation>

                                                                                                                             </xs:annotation>

                                                                                                                             <xs:complexType>

                                                                                                                                             <xs:sequence>

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

                <xs:annotation>

                                                                                                                                                                                            <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas.  Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar la clave UUID del CFDI soporte de la operación. (36 caracteres)</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:whiteSpace value="collapse"/>

                                               <xs:length value="36"/>

                                               <xs:pattern value="[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el RFC relacionado con el movimiento o transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="12"/>

                                               <xs:maxLength value="13"/>

                                               <xs:whiteSpace value="collapse"/>

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

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MontoTotal" type="PLZ:t_Importe" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el monto total del CFDI que soporte la transacción. (Incluye IVA en su caso)</xs:documentation>

                </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="0"/>

                                               <xs:totalDigits value="19"/>

                                               <xs:fractionDigits value="5"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                </xs:complexType>

                                                                                                                                                             </xs:element>

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

                <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción, diferente a CFDI, es decir, CFD y/o CBB. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar la serie del comprobante CFD_CBB que soporte la transacción.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="10"/>

                                               <xs:pattern value="[A-Z]+"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el número de folio del comprobante CFD_CBB que soporte la transacción.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="1"/>

                                               <xs:totalDigits value="20"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el RFC relacionado con el movimiento o transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="12"/>

                                               <xs:maxLength value="13"/>

                                               <xs:whiteSpace value="collapse"/>

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

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MontoTotal" type="PLZ:t_Importe" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el monto total del CFD y/o CBB que soporte la transacción. (Incluye IVA en su caso)</xs:documentation>

                </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="0"/>

                                               <xs:totalDigits value="19"/>

                                               <xs:fractionDigits value="5"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                </xs:complexType>

                                                                                                                                                             </xs:element>

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

                <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen extranjero relacionados con la transacción.  Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar la clave numérico o alfanumérico del comprobante de origen extranjero que soporte la operación</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:whiteSpace value="collapse"/>

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="36"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional que sirve para expresar el Identificador del contribuyente extranjero. Se convierte en requerido cuando se cuente con la información </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="30"/>

                                               <xs:whiteSpace value="collapse"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MontoTotal" type="PLZ:t_Importe" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el monto total del comprobante de origen extranjero que soporte la operación.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="0"/>

                                               <xs:totalDigits value="19"/>

                                               <xs:fractionDigits value="5"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                </xs:complexType>

                                                                                                                                                             </xs:element>

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

                <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de los cheques que integran la póliza. Se convierte en requerido cuando exista una salida de recursos, que involucre este método de pago de la obligación contraída por parte del contribuyente que envía los datos</xs:documentation>

                </xs:annotation>

                <xs:complexType>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el número del cheque emitido</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:maxLength value="20"/>

                                               <xs:minLength value="1"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="BanEmisNal" type="contelec_td:c_Banco" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido, para expresar el Banco nacional emisor del cheque, de acuerdo al catálogo publicado en la página de internet del SAT. Se consideran banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el nombre completo del Banco extranjero emisor del cheque. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:maxLength value="150"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el número de cuenta bancaria del origen de los recursos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:maxLength value="50"/>

                                               <xs:minLength value="1"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido, es la fecha del cheque</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido, nombre del beneficiario del cheque</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="300"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el RFC  relacionado con el movimiento. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="12"/>

                                               <xs:maxLength value="13"/>

                                               <xs:whiteSpace value="collapse"/>

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

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="Monto" type="PLZ:t_Importe" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido, es el monto del cheque emitido</xs:documentation>

                </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="0"/>

                                               <xs:totalDigits value="19"/>

                                               <xs:fractionDigits value="5"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                </xs:complexType>

                                                                                                                                                             </xs:element>

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

                <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de las transferencias bancarias que integran la póliza. Se convierte en requerido cuando exista una salida de recursos que involucre este método de pago por parte del contribuyente que envía los datos. Además se convierte en requerido cuando se realicen transacciones, entre las cuentas propias del contribuyente.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el número de cuenta de origen desde la cual se transfieren los recursos. Se convierte en requerido cuando se cuente con la información. </xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="50"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="BancoOriNal" type="contelec_td:c_Banco" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido, para expresar el Banco de la cuenta origen de la transferencia, de acuerdo al catálogo publicado en la página de internet del SAT. Se considera banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el nombre completo del banco origen extranjero. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:maxLength value="150"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el número de cuenta destino, la cual se transfieren los recursos.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="50"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="BancoDestNal" type="contelec_td:c_Banco" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido, para expresar el Banco de la cuenta destino de la transferencia, de acuerdo al catálogo publicado en la página de internet del SAT. Se considera banco nacional aquellos bancos de residencia nacional, indistintamente, si el tipo de moneda es nacional o extranjero.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el nombre completo del banco destino extranjero. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:maxLength value="150"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido, es la fecha de la transferencia</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido, nombre del beneficiario de la transferencia.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="300"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el RFC  relacionado con el movimiento. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="12"/>

                                               <xs:maxLength value="13"/>

                                               <xs:whiteSpace value="collapse"/>

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

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="Monto" type="PLZ:t_Importe" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido, es el monto transferido</xs:documentation>

                </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                                <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="0"/>

                                               <xs:totalDigits value="19"/>

                                               <xs:fractionDigits value="5"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                </xs:complexType>

                                                                                                                                                             </xs:element>

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

                <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar otros métodos de pago de la transacción. Se convierte en requerido cuando la transacción involucra un método de pago diverso a cheque y/o transferencia.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

                <xs:attribute name="MetPagoPol" type="contelec_td:c_MetPagos" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido, es la fecha de la transacción de otros métodos de pago.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido, nombre de la persona o contribuyente a la cual se realiza éstos métodos de pago.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="1"/>

                                               <xs:maxLength value="300"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el RFC  relacionado con la transacción. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minLength value="12"/>

                                               <xs:maxLength value="13"/>

                                               <xs:whiteSpace value="collapse"/>

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

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="Monto" type="PLZ:t_Importe" use="required">

                <xs:annotation>

                               <xs:documentation>Atributo requerido para expresar el monto del método de pago soporte de la transacción.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                </xs:attribute>

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

                <xs:annotation>

                               <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                                               <xs:minInclusive value="0"/>

                                               <xs:totalDigits value="19"/>

                                               <xs:fractionDigits value="5"/>

                               </xs:restriction>

                </xs:simpleType>

                </xs:attribute>

                </xs:complexType>

                                                                                                                                                             </xs:element>

                                                                                                                                             </xs:sequence>

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

                                                                                                                                                             <xs:annotation>

                <xs:documentation>Atributo requerido para expresar la clave con que se distingue la cuenta o subcuenta que se afecta por la transacción.</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                                             <xs:simpleType>

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

                <xs:minLength value="1"/>

                <xs:maxLength value="100"/>

                </xs:restriction>

                                                                                                                                                             </xs:simpleType>

                                                                                                                                             </xs:attribute>

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

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el nombre de la cuenta o subcuenta que se afecta por la transacción.</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                                             <xs:simpleType>

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

                <xs:minLength value="1"/>

                <xs:maxLength value="100"/>

                                                                                                                                                                            </xs:restriction>

                                                                                                                                                             </xs:simpleType>

                                                                                                                                             </xs:attribute>

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

                                                                                                                                                             <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el concepto de la transacción</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                                             <xs:simpleType>

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

                <xs:minLength value="1"/>

                                                                                                                                                                                            <xs:maxLength value="200"/>

                </xs:restriction>

                                                                                                                                                             </xs:simpleType>

                                                                                                                                             </xs:attribute>

                                                                                                                                             <xs:attribute name="Debe" type="PLZ:t_Importe" use="required">

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el monto del cargo a la cuenta o subcuenta que se afecta en la transacción. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                             </xs:attribute>

                                                                                                                                             <xs:attribute name="Haber" type="PLZ:t_Importe" use="required">

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el monto del abono a la cuenta o subcuenta que se afecta en la transacción. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                             </xs:attribute>

                                                                                                                             </xs:complexType>

                                                                                                              </xs:element>

                                                                                              </xs:sequence>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:maxLength value="50"/>

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar la fecha de registro de la póliza</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el concepto de la operación</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                                             <xs:maxLength value="300"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

                                                                              </xs:complexType>

                                                               </xs:element>

                                               </xs:sequence>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minLength value="12"/>

                                                                                              <xs:maxLength value="13"/>

                                                                                              <xs:whiteSpace value="collapse"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el mes al que corresponde la póliza</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:enumeration value="01"/>

                                                                                              <xs:enumeration value="02"/>

                                                                                              <xs:enumeration value="03"/>

                                                                                              <xs:enumeration value="04"/>

                                                                                              <xs:enumeration value="05"/>

                                                                                              <xs:enumeration value="06"/>

                                                                                              <xs:enumeration value="07"/>

                                                                                              <xs:enumeration value="08"/>

                                                                                              <xs:enumeration value="09"/>

                                                                                              <xs:enumeration value="10"/>

                                                                                              <xs:enumeration value="11"/>

                                                                                              <xs:enumeration value="12"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el año al que corresponde la póliza</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minInclusive value="2015"/>

                                                                                              <xs:maxInclusive value="2099"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el tipo de solicitud de la póliza ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:pattern value="AF|FC|DE|CO"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia la solicitud de la póliza. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="13"/>

                                                                                              <xs:pattern value="[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia la solicitud de la póliza. Requerido para tipo de solicitud  = DE  o CO. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="10"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                               </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="20"/>

                                                                               </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

                               </xs:complexType>

                </xs:element>

                <xs:simpleType name="t_Importe">

                               <xs:annotation>

                                               <xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta dos decimales</xs:documentation>

                               </xs:annotation>

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

                                               <xs:fractionDigits value="2"/>

                                               <xs:whiteSpace value="collapse"/>

                                               <xs:maxInclusive value="99999999999999.99"/>

                                               <xs:minExclusive value="-99999999999999.99"/>

                               </xs:restriction>

                </xs:simpleType>

</xs:schema>

2.      Generación opcional de sellos digitales.

Elementos utilizados en la generación opcional de Sellos Digitales:

·        Cadena Original, del elemento a sellar.

·        Certificado de Sello Digital y su correspondiente clave privada.

·        Algoritmos de criptografía de clave pública para firma electrónica avanzada.

·        Especificaciones de conversión de la firma electrónica avanzada a Base 64.

Para la generación de 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 firma electrónica avanzada o certificado para sellos digitales".

El Certificado puede distribuirse libremente para efectos de intercambio seguro de información y para ofrecer pruebas de autoría de archivos electrónicos o acuerdo con su contenido mediante el proceso denominado "firma electrónica avanzada ", 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 ha sido alterado), autenticidad, certidumbre de origen (facilidad para determinar qué persona es el autor de la firma y valida el contenido del mensaje) y no repudiación del mensaje firmado (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 electrónica avanzada:

·        Es infalsificable.

·        La firma electrónica avanzada no es reciclable (es única por mensaje).

·        Un mensaje con firma electrónica avanzada alterado, es detectable.

·        Un mensaje con firma electrónica avanzada, no puede ser repudiado.

Los certificados de sello digital se generan de manera idéntica a la firma electrónica avanzada y al igual que las firmas electrónicas avanzadas el propósito del sello digital es emitir documentos digitales con autenticidad, integridad, verificables y no repudiables por el emisor. Para ello bastará tener acceso al mensaje original o cadena original, al sello digital y al certificado de sello digital del emisor.

Al ser el certificado de sello digital idéntico en su generación a una firma electrónica avanzada, proporciona los mismos servicios de seguridad y hereda las características de las firmas digitales.

Por consecuencia un archivo sellado digitalmente por el contribuyente tiene las siguientes características:

·        Es infalsificable.

·        El sello digital no es reciclable (es único por documento).

·        Una cadena original de un documento digital sellada digitalmente, que hubiese sido alterada es detectable.

·        Una cadena original de un archivo sellada digitalmente no puede ser repudiada.

Los algoritmos utilizados en la generación de un sello digital son los siguientes:

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

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’.

RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestión del mensaje.

RSAPublicDecrypt, que utiliza la clave pública del emisor para desencriptar la digestión del mensaje.

Cadena Original

Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del archivo, establecida en el Rubro A “Estándar del Formato Póliza del Periodo de Contabilidad Electrónica” de este anexo. Siguiendo para ello las reglas y la secuencia aquí especificadas:

Reglas Generales:

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

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

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

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

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

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

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

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

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

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

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

Secuencia de Formación:

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

1)      Información del nodo Polizas

a)      Version

b)      RFC

c)      Mes

d)      Anio

e)      TipoSolicitud

f)       NumOrden

g)      NumTramite

2)      Información del nodo Poliza

a)      NumUnIdenPol

b)      Fecha

c)      Concepto

3)      Información del nodo Transaccion

a)      NumCta

b)      Concepto

c)      Debe

d)      Haber

4)      Información del nodo CompNal

a)      UUID_CFDI

5)      Información del nodo CompNalOtr

a)      CFD_CBB_Serie

b)      CFD_CBB_NumFol

6)      Información del nodo  CompExt

a)      NumFactExt

7)      Información del nodo Cheque

a)      Num

b)      BanEmisNal

c)      BanEmisExt

d)      CtaOri

e)      Fecha

f)       Benef

g)      RFC

h)      Monto

i)       Moneda

j)       TipCamb

8)      Información del nodo Transferencia

a)      CtaOri

b)      BancoOriNal

c)      BancoOriExt

d)      CtaDest

e)      BancoDestNal

f)       BancoDestExt

g)      Fecha

h)      Benef

i)       RFC

j)       Monto

k)      Moneda

l)       TipCamb

9)      Información del nodo OtrMetodoPago

a)      MetPagoPol

b)      Fecha

c)      Benef

d)      RFC

e)      Monto

f)       Moneda

g)      TipCamb

Generación del Sello Digital

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 SHA-1 a la cadena original a sellar. Este procedimiento genera una salida de 160 bits (20 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida es de 1 en 2(60-colision), y por lo tanto en esta posibilidad 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.

Aplicar el método de digestión SHA-2 a la cadena original a sellar. Este procedimiento genera una salida de 256 bits (32 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida no ha sido encontrada  una colisión y por lo tanto en esta posibilidad 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.

II. Con la clave privada correspondiente al certificado de sello digital del emisor, 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 de Sello digital:

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

3.      Nomenclatura y características del archivo

El archivo XML con la información de las pólizas del periodo deberá enviarse comprimido en formato ZIP con la nomenclatura siguiente:

Pólizas del periodo

RFC

Ejercicio

Periodo

Clave

Extensión

12 o 13 caracteres, correspondientes al RFC del contribuyente, ya sea Persona Moral o Persona Física.

4 caracteres que identifican el año al que corresponde la información que se envía.

2 caracteres que identifican el número de mes al que corresponde la información que se envía.

Caracteres "PL" que identifican el tipo de información que se envía.

Caracteres ".ZIP" que identifican un archivo comprimido.

 

Ejemplos:

Persona Moral

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

BBB010101AB1

2015

01

PL

.zip

 

 

 

 

 

Nombre del archivo:

BBB010101AB1201501PL.zip

 

Persona Física

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

AAAA010101AB1

2015

01

PL

.zip

 

 

 

 

 

Nombre del archivo:

AAAA010101AB1201501PL.zip

 

E.      Información de los auxiliares de folios fiscales asignados a los comprobantes fiscales dentro de las pólizas.

Contenido

E.- Formato reporte auxiliar de folios

1.      Estándar del formato reporte auxiliar de folios de los comprobantes fiscales de contabilidad electrónica

2.      Generación opcional de sellos digitales

3.      Nomenclatura y características del archivo

1.      Estándar del formato reporte auxiliar de folios de los comprobantes fiscales de contabilidad electrónica

El contribuyente deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

Para poder ser validado, auxiliar de folios de los comprobantes fiscales de contabilidad electrónica deberá estar referenciado al namespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarFolios/AuxiliarFolios_1_2.xsd) de la siguiente manera:

<RepAux:RepAuxFol

                xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarFolios/AuxiliarFolios_1_2.xsd"

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

                xmlns:RepAux=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarFolios">

.........

</RepAux:RepAuxFol>

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que utilice este estándar 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 http://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.

 

Descripción

 

 

Estándar de reporte auxiliar de folios de los comprobantes fiscales de las pólizas que se entrega como parte de las pólizas de la contabilidad electrónica.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

requerido

 

Valor Prefijado

1.2

 

Tipo Especial

xs:string

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que envía los datos

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Patrón

[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

 

 

 

Mes

 

Descripción

Atributo requerido para expresar el mes en que inicia la vigencia del reporte auxiliar de los folios de los comprobantes fiscales de las pólizas.

 

Uso

requerido

 

Tipo Base

xs:string

 

Valores Permitidos

01
02
03
04
05
06
07
08
09
10
11
12

 

Anio

 

Descripción

Atributo requerido para expresar el año al que inicia la vigencia del reporte auxiliar de los folios de los comprobantes fiscales de las pólizas.

 

Uso

requerido

 

Tipo Base

xs:int

 

Valor Mínimo Incluyente

2015

 

Valor Máximo Incluyente

2099

 

TipoSolicitud

 

Descripción

Atributo requerido para expresar el tipo de solicitud del reporte auxiliar de los folios de los comprobantes fiscales de las pólizas. ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )

 

Uso

requerido

 

Tipo Base

xs:string

 

Patrón

AF|DE|CO|FC

 

NumOrden

 

Descripción

Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia el reporte auxiliar de los folios de los comprobantes fiscales de las pólizas. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

13

 

Patrón

[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}

 

NumTramite

 

Descripción

Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia el reporte auxiliar de los folios de los comprobantes fiscales de las pólizas. Requerido para tipo de solicitud = DE o CO. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

10

 

Patrón

[0-9]{10}

 

Sello

 

Descripción

Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

 

 

 

noCertificado

 

Descripción

Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud

20

 

Certificado

 

Descripción

Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.

 

Uso

opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

 

 

Descripción

 

 

Nodo opcional para expresar el detalle de los folios de los comprobantes fiscales que integran la póliza.

 

Atributos

 

 

NumUnIdenPol

 

Descripción

Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha de registro de la póliza.

 

Uso

requerido

 

Tipo Especial

xs:date

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, 1)

ComprNal (0, Ilimitado)

ComprNalOtr (0, Ilimitado)

ComprExt (0, Ilimitado)

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.

 

 

Atributos

 

 

UUID_CFDI

 

Descripción

Atributo requerido para expresar la clave UUID del CFDI soporte de la operación. (36 caracteres)

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud

36

 

Espacio en Blanco

Colapsar

 

Patrón

[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}

 

MontoTotal

 

Descripción

Atributo requerido para expresar el monto total del CFDI que soporte la operación (Incluye IVA en su caso)

 

Uso

requerido

 

Tipo Especial

RepAux:t_importe

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con la operación.
El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

MetPagoAux

 

Descripción

Atributo opcional para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_MetPagos

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción, diferente a CFDI, es decir, CFD y/o CBB. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.

 

Atributos

 

 

CFD_CBB_Serie

 

Descripción

Atributo opcional para expresar la serie del comprobante CFD_CBB que soporte la operación.

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

10

 

Patrón

[A-Z]+

 

CFD_CBB_NumFol

 

Descripción

Atributo requerido para expresar el número de folio del comprobante CFD_CBB que soporte la operación.

 

Uso

requerido

 

Tipo Base

xs:integer

 

Dígitos Totales

20

 

Valor Mínimo Incluyente

1

 

MontoTotal

 

Descripción

Atributo requerido para expresar el monto total del CFD y/o CBB que soporte la operación. (Incluye IVA en su caso)

 

Uso

requerido

 

Tipo Especial

RepAux:t_importe

 

RFC

 

Descripción

Atributo requerido para expresar el RFC relacionado con la operación. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Patrón

[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

MetPagoAux

 

Descripción

Atributo opcional para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_MetPagos

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_Moneda

 

 

 

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

 

Descripción

 

 

Nodo opcional para relacionar el detalle de los comprobantes de origen extranjero relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.

 

Atributos

 

 

NumFactExt

 

Descripción

Atributo requerido para expresar la clave numérico o alfanumérico del comprobante de origen extranjero que soporte la operación

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

36

 

Espacio en Blanco

Colapsar

 

TaxID

 

Descripción

Atributo opcional que sirve para expresar el Identificador del contribuyente extranjero. Se convierte en requerido cuando se cuente con la información

 

Uso

opcional

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

30

 

Espacio en Blanco

Colapsar

 

MontoTotal

 

Descripción

Atributo requerido para expresar el monto total del comprobante de origen extranjero que soporte la operación.

 

Uso

requerido

 

Tipo Especial

RepAux:t_importe

 

MetPagoAux

 

Descripción

Atributo opcional para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT. Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_MetPagos

 

Moneda

 

Descripción

Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Especial

contelec_td:c_Moneda

 

TipCamb

 

Descripción

Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.

 

Uso

opcional

 

Tipo Base

xs:decimal

 

Dígitos Totales

19

 

Valor Mínimo Incluyente

0

 

Posiciones Decimales

5

 

 

Tipos Simples

 

Tipo Simple Global: t_importe

 

Descripción

 

 

 

 

Definición

 

 

 

 

 

Tipo Base

xs:decimal

 

Valor Mínimo
Incluyente

-99999999999999.99

 

Valor Máximo Incluyente

99999999999999.99

 

Posiciones Decimales

2

 

Código Fuente

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

<xs:schema xmlns:RepAux="www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarFolios" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:contelec_td="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarFolios"
elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:import namespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE" schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.xsd"/>

                <xs:element name="RepAuxFol">

                               <xs:annotation>

                                               <xs:documentation>Estándar de reporte auxiliar de folios de los comprobantes fiscales de las pólizas que se entrega como parte de las pólizas de la contabilidad electrónica.</xs:documentation>

 </xs:annotation>

 <xs:complexType>

                <xs:sequence>

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

                <xs:annotation>

   <xs:documentation>Nodo opcional para expresar el detalle de los folios de los comprobantes fiscales que integran la póliza.</xs:documentation>

                </xs:annotation>

                <xs:complexType>

   <xs:sequence>

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

    <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas.  Se convierte en requerido cuando se cuente con la información.</xs:documentation>

    </xs:annotation>

    <xs:complexType>

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

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar la clave UUID del CFDI soporte de la operación.
(36 caracteres)</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:whiteSpace value="collapse"/>

      <xs:length value="36"/>

      <xs:pattern value="[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MontoTotal" type="RepAux:t_importe" use="required">

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el  monto  total del CFDI que soporte la operación 
(Incluye IVA en su caso)</xs:documentation>

     </xs:annotation>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC relacionado con la operación. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:minLength value="12"/>

      <xs:maxLength value="13"/>

      <xs:whiteSpace value="collapse"/>

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

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MetPagoAux" type="contelec_td:c_MetPagos" use="optional">

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:totalDigits value="19"/>

      <xs:fractionDigits value="5"/>

      <xs:minInclusive value="0"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

    </xs:complexType>

                </xs:element>

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

    <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la transacción, diferente a CFDI, es decir, CFD y/o CBB. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

    </xs:annotation>

    <xs:complexType>

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

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar la serie del comprobante CFD_CBB que soporte la operación.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:minLength value="1"/>

      <xs:maxLength value="10"/>

      <xs:pattern value="[A-Z]+"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el número de folio del comprobante CFD_CBB que soporte la operación.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:totalDigits value="20"/>

      <xs:minInclusive value="1"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MontoTotal" type="RepAux:t_importe" use="required">

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el monto total del CFD y/o CBB que soporte la operación. (Incluye IVA en su caso)</xs:documentation>

     </xs:annotation>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el RFC relacionado con la operación. El RFC al que se hace referencia, es el distinto del contribuyente que envía los datos, es decir, el RFC del tercero vinculado.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:minLength value="12"/>

      <xs:maxLength value="13"/>

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

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MetPagoAux" type="contelec_td:c_MetPagos" use="optional">

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:minInclusive value="0"/>

      <xs:totalDigits value="19"/>

      <xs:fractionDigits value="5"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

    </xs:complexType>

                </xs:element>

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

    <xs:annotation>

                <xs:documentation>Nodo opcional para relacionar el detalle de los comprobantes de origen extranjero relacionados con la transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

    </xs:annotation>

    <xs:complexType>

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

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar la clave numérico o alfanumérico del comprobante de origen extranjero que soporte la operación</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:whiteSpace value="collapse"/>

      <xs:minLength value="1"/>

      <xs:maxLength value="36"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo opcional que sirve para expresar el Identificador del contribuyente extranjero. Se convierte en requerido cuando se cuente con la información</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:minLength value="1"/>

      <xs:maxLength value="30"/>

      <xs:whiteSpace value="collapse"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

                <xs:attribute name="MontoTotal" type="RepAux:t_importe" use="required">

     <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el monto total del comprobante de origen extranjero que soporte la operación. </xs:documentation>

     </xs:annotation>

                </xs:attribute>

                <xs:attribute name="MetPagoAux" type="contelec_td:c_MetPagos" use="optional">

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el método de pago de la operación, de acuerdo al catálogo publicado en la página de internet del SAT. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

                </xs:attribute>

                <xs:attribute name="Moneda" type="contelec_td:c_Moneda" use="optional">

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el tipo de moneda utilizado en la transacción, de acuerdo al catálogo publicado en la página de internet del SAT. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

                </xs:attribute>

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

     <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda nacional (peso). Se convierte en requerido cuando se cuente con la información.</xs:documentation>

     </xs:annotation>

     <xs:simpleType>

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

      <xs:minInclusive value="0"/>

      <xs:totalDigits value="19"/>

      <xs:fractionDigits value="5"/>

                </xs:restriction>

     </xs:simpleType>

                </xs:attribute>

    </xs:complexType>

                </xs:element>

   </xs:sequence>

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

                <xs:annotation>

    <xs:documentation>Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.</xs:documentation>

                </xs:annotation>

                <xs:simpleType>

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

                <xs:minLength value="1"/>

                <xs:maxLength value="50"/>

    </xs:restriction>

                </xs:simpleType>

   </xs:attribute>

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

                <xs:annotation>

    <xs:documentation>Atributo requerido para expresar la fecha de registro de la póliza.</xs:documentation>

                </xs:annotation>

   </xs:attribute>

                </xs:complexType>

  </xs:element>

                </xs:sequence>

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

  <xs:annotation>

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

  </xs:annotation>

                </xs:attribute>

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

  <xs:annotation>

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

  </xs:annotation>

  <xs:simpleType>

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

   <xs:minLength value="12"/>

   <xs:maxLength value="13"/>

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

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el mes en que inicia la vigencia del reporte auxiliar de los folios de los comprobantes fiscales de las pólizas.</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:enumeration value="01"/>

   <xs:enumeration value="02"/>

   <xs:enumeration value="03"/>

   <xs:enumeration value="04"/>

   <xs:enumeration value="05"/>

   <xs:enumeration value="06"/>

   <xs:enumeration value="07"/>

   <xs:enumeration value="08"/>

   <xs:enumeration value="09"/>

   <xs:enumeration value="10"/>

   <xs:enumeration value="11"/>

   <xs:enumeration value="12"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el año al que inicia la vigencia del reporte auxiliar de los folios de los comprobantes fiscales de las pólizas.</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:minInclusive value="2015"/>

   <xs:maxInclusive value="2099"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo requerido para expresar el tipo de solicitud del reporte auxiliar de los folios de los comprobantes fiscales de las pólizas. ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución;
CO - Compensación )</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:pattern value="AF|DE|CO|FC"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia el reporte auxiliar de los folios de los comprobantes fiscales de las pólizas. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:length value="13"/>

   <xs:pattern value="[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia el reporte auxiliar de los folios de los comprobantes fiscales de las pólizas. Requerido para tipo de solicitud  = DE  o CO. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:length value="10"/>

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

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:whiteSpace value="collapse"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:length value="20"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

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

  <xs:annotation>

                <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>

  </xs:annotation>

  <xs:simpleType>

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

   <xs:whiteSpace value="collapse"/>

                </xs:restriction>

  </xs:simpleType>

                </xs:attribute>

 </xs:complexType>

                </xs:element>

                <xs:simpleType name="t_importe">

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

                <xs:fractionDigits value="2"/>

                <xs:minInclusive value="-99999999999999.99"/>

                <xs:maxInclusive value="99999999999999.99"/>

 </xs:restriction>

                </xs:simpleType>

</xs:schema>

2.     Generación opcional de sellos digitales.

Elementos utilizados en la generación opcional de Sellos Digitales:

·        Cadena Original, del elemento a sellar.

·        Certificado de Sello Digital y su correspondiente clave privada.

·        Algoritmos de criptografía de clave pública para firma electrónica avanzada.

·        Especificaciones de conversión de la firma electrónica avanzada a Base 64.

Para la generación de 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 firma electrónica avanzada o certificado para sellos digitales".

El Certificado puede distribuirse libremente para efectos de intercambio seguro de información y para ofrecer pruebas de autoría de archivos electrónicos o acuerdo con su contenido mediante el proceso denominado "firma electrónica avanzada ", 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 ha sido alterado), autenticidad, certidumbre de origen (facilidad para determinar qué persona es el autor de la firma y valida el contenido del mensaje) y no repudiación del mensaje firmado (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 electrónica avanzada:

·        Es infalsificable.

·        La firma electrónica avanzada no es reciclable (es única por mensaje).

·        Un mensaje con firma electrónica avanzada alterado, es detectable.

·        Un mensaje con firma electrónica avanzada, no puede ser repudiado.

Los certificados de sello digital se generan de manera idéntica a la firma electrónica avanzada y al igual que las firmas electrónicas avanzadas el propósito del sello digital es emitir documentos digitales con autenticidad, integridad, verificables y no repudiables por el emisor. Para ello bastará tener acceso al mensaje original o cadena original, al sello digital y al certificado de sello digital del emisor.

Al ser el certificado de sello digital idéntico en su generación a una firma electrónica avanzada, proporciona los mismos servicios de seguridad y hereda las características de las firmas digitales.

Por consecuencia un archivo sellado digitalmente por el contribuyente tiene las siguientes características:

·        Es infalsificable.

·        El sello digital no es reciclable (es único por documento).

·        Una cadena original de un documento digital sellada digitalmente, que hubiese sido alterada es detectable.

·        Una cadena original de un archivo sellada digitalmente no puede ser repudiada.

Los algoritmos utilizados en la generación de un sello digital son los siguientes:

SHA-1, que es una función hash (digestión, picadillo o resumen) de un solo sentido tal que para cualquier entrada produce una salida compleja de 160 bits (20 bytes) denominada "digestión".

RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestión del mensaje.

RSAPublicDecrypt, que utiliza la clave pública del emisor para desencriptar la digestión del mensaje.

Cadena Original

Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del archivo, establecida en el Rubro A “Estándar del Formato Reporte Auxiliar de Folios de los comprobantes fiscales de Contabilidad Electrónica ” de este anexo. Siguiendo para ello las reglas y la secuencia aquí especificadas:

Reglas Generales:

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

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

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

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

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

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

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

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

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

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

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

Secuencia de Formación:

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

1)      Información del nodo RepAuxFol

a)      Version

b)      RFC

c)      Mes

d)      Anio

e)      TipoSolicitud

f)       NumOrden

g)      NumTramite

2)      Información del nodo DetAuxFol

a)      NumUnIdenPol

b)      Fecha

3)      Información del nodo ComprNal

a)      UUID_CFDI

b)      RFC

c)      MetPagoAux

d)      MontoTotal

e)      Moneda

f)       TipCamb

4)      Información del nodo ComprNalOtr

a)      CFD_CBB_Serie

b)      CFD_CBB_NumFol

c)      RFC

d)      MetPagoAux

e)      MontoTotal

f)       Moneda

g)      TipCamb

5)      Información del nodo ComprExt

a)      NumFactExt

b)      MetPagoAux

c)      MontoTotal

d)      Moneda

e)      TipCamb

Generación del Sello Digital

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 SHA-1 a la cadena original a sellar. Este procedimiento genera una salida de 160 bits (20 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida es de 1 en 2160, y por lo tanto en esta posibilidad 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-1 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 de sello digital del emisor, 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 de Sello digital:

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

3.      Nomenclatura y características del archivo

El archivo XML con la información de folios fiscales asignados a los comprobantes fiscales dentro de las pólizas deberá enviarse comprimido en formato ZIP con la nomenclatura siguiente:

Auxiliar de folios fiscales asignados a los comprobantes fiscales dentro de las pólizas

RFC

Ejercicio

Periodo

Clave

Extensión

12 o 13 caracteres, correspondientes al RFC del contribuyente, ya sea Persona Moral o Persona Física.

4 caracteres que identifican el año al que corresponde la información que se envía.

2 caracteres que identifican el número de mes al que corresponde la información que se envía.

Caracteres "XF" que identifican el tipo de información que se envía.

Caracteres ".ZIP" que identifican un archivo comprimido.

 

Ejemplos:

Persona Moral

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

BBB010101AB1

2015

01

XF

.zip

 

 

 

 

 

Nombre del archivo:

BBB010101AB1201501XF.zip

 

Persona Física

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

AAAA010101AB1

2015

01

XF

.zip

 

 

 

 

 

Nombre del archivo:

AAAA010101AB1201501XF.zip

 

F.      Información de los auxiliares de cuenta de nivel mayor y/o de la subcuenta de primer nivel.

Contenido

F.- Formato reporte auxiliar de cuentas y/o subcuentas

1.      Estándar del formato reporte auxiliar de cuentas y/o subcuentas de contabilidad electrónica

2.      Generación opcional de sellos digitales

3.      Nomenclatura y características del archivo

1.      Estándar del formato reporte auxiliar de cuentas y/o subcuentas de contabilidad electrónica

El contribuyente deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

Para poder ser validado, Auxiliar de Cuentas y/o subcuentas de contabilidad electrónica deberá estar referenciado al namespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarCtas/AuxiliarCtas_1_1.xsd) de la siguiente manera:

<AuxiliarCtas:AuxiliarCtas

                xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarCtas/AuxiliarCtas_1_1.xsd"

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

                xmlns:AuxiliarCtas=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarCtas">

 .........

</AuxiliarCtas:AuxiliarCtas>

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, el contribuyente que utilice este estándar 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 http://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.

 

Descripción

 

 

Estándar de auxiliar de la cuenta o subcuenta del periodo que se entrega como parte de la contabilidad electrónica

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del formato.

 

Uso

Requerido

 

Valor Prefijado

1.1

 

Tipo Especial

xs:string

 

 

 

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que envía los datos.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Patrón

[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

Mes

 

Descripción

Atributo requerido para expresar el mes en que inicia la vigencia del auxiliar de la cuenta o subcuenta.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Valores Permitidos

01
02
03
04
05
06
07
08
09
10
11
12

 

Anio

 

Descripción

Atributo requerido para expresar el año al que inicia la vigencia del auxiliar de la cuenta o subcuenta.

 

Uso

Requerido

 

Tipo Base

xs:int

 

Valor Mínimo Incluyente

2015

 

Valor Máximo Incluyente

2099

 

TipoSolicitud

 

Descripción

Atributo requerido para expresar el tipo de envío del auxiliar de la cuenta o subcuenta ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )

 

Uso

Requerido

 

Tipo Base

xs:string

 

Patrón

AF|FC|DE|CO

 

NumOrden

 

Descripción

Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia la solicitud del auxiliar de la cuenta o subcuenta. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Base

xs:string

 

Longitud

13

 

Patrón

[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}

 

NumTramite

 

Descripción

Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia el auxiliar de la cuenta o subcuenta. Requerido para tipo de solicitud = DE o CO. Se convierte en requerido cuando se cuente con la información.

 

Uso

Opcional

 

Tipo Base

xs:string

 

Longitud

10

 

Patrón

[0-9]{10}

 

 

 

 

Sello

 

Descripción

Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64

 

Uso

Opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

noCertificado

 

Descripción

Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.

 

Uso

Opcional

 

Tipo Base

xs:string

 

Longitud

20

 

Certificado

 

Descripción

Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.

 

Uso

Opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

 

 

Descripción

 

 

Nodo obligatorio para expresar los movimientos del periodo de cada uno de los auxiliares de la cuenta y/o subcuenta.

 

Atributos

 

 

NumCta

 

Descripción

Atributo requerido para expresar la clave con que se distingue la cuenta o subcuenta que se afecta por la transacción que integra el auxiliar.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

DesCta

 

Descripción

Atributo requerido para expresar el concepto de la cuenta o subcuenta que se afecta por la transacción que integra el auxiliar.

 

Uso

requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

100

 

SaldoIni

 

Descripción

Atributo requerido para expresar el monto del saldo inicial de la cuenta o subcuenta del periodo del auxiliar. En caso de no existir dato, colocar cero (0)

 

Uso

requerido

 

Tipo Especial

AuxiliarCtas:t_importe

 

SaldoFin

 

Descripción

Atributo requerido para expresar el monto del saldo final de la cuenta o subcuenta del periodo del auxiliar. En caso de no existir dato, colocar cero (0)

 

Uso

requerido

 

Tipo Especial

AuxiliarCtas:t_importe

 

 

Elementos Hijo (min,max)

 

 

Secuencia (1, Ilimitado)

DetalleAux (1, Ilimitado)

 

 

Descripción

 

 

Nodo obligatorio para expresar el detalle de los movimientos del periodo de cada uno de los auxiliares

 

Atributos

 

 

Fecha

 

Descripción

Atributo requerido para expresar la fecha de registro de la transacción que afecta la cuenta o subcuenta que integra el auxiliar.

 

Uso

Requerido

 

Tipo Especial

xs:date

 

NumUnIdenPol

 

Descripción

Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

50

 

Concepto

 

Descripción

Atributo requerido para expresar el concepto de la transacción que integra el auxiliar.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

1

 

Longitud Máxima

200

 

Debe

 

Descripción

Atributo requerido para expresar el monto del cargo de la cuenta o subcuenta de la transacción que integra el auxiliar. En caso de no existir dato, colocar cero (0)

 

Uso

Requerido

 

Tipo Especial

AuxiliarCtas:t_importe

 

Haber

 

Descripción

Atributo requerido para expresar el monto del abono de la cuenta o subcuenta de la transacción que integra el auxiliar. En caso de no existir dato, colocar cero (0)

 

Uso

Requerido

 

Tipo Especial

AuxiliarCtas:t_importe

 

Tipos Simples

 

Tipo Simple Global: t_importe

 

Descripción

 

 

 

 

Definición

 

 

 

 

 

Tipo Base

xs:decimal

 

Valor Mínimo Incluyente

-99999999999999.99

 

Valor Máximo Incluyente

99999999999999.99

 

Posiciones Decimales

2

 

Código Fuente

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

<xs:schema xmlns:AuxiliarCtas="www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarCtas" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/AuxiliarCtas" elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:element name="AuxiliarCtas">

                               <xs:annotation>

                                               <xs:documentation>Estándar de auxiliar de la cuenta o subcuenta del periodo que se entrega como parte de la contabilidad electrónica</xs:documentation>

                               </xs:annotation>

                               <xs:complexType>

                                               <xs:sequence maxOccurs="unbounded">

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

                                                                              <xs:annotation>

                                                                                              <xs:documentation>Nodo obligatorio para expresar los movimientos del periodo de cada uno de los auxiliares de la cuenta y/o subcuenta.</xs:documentation>

                                                                              </xs:annotation>

                                                                              <xs:complexType>

                                                                                              <xs:sequence maxOccurs="unbounded">

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

                                                                                                                             <xs:annotation>


                                                                                                                                             <xs:documentation>Nodo obligatorio para expresar el detalle de los movimientos del periodo de cada uno de los auxiliares</xs:documentation>

                                                                                                                             </xs:annotation>

                                                                                                                             <xs:complexType>

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

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                             <xs:documentation>Atributo requerido para expresar la fecha de registro de la transacción que afecta la cuenta o subcuenta que integra el auxiliar.</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                             </xs:attribute>

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

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el número único de identificación de la póliza. El campo deberá contener la clave o nombre utilizado por el contribuyente para diferenciar, el tipo de póliza y el número correspondiente. En un mes ordinario no debe repetirse un mismo número de póliza con la clave o nombre asignado por el contribuyente.</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                                             <xs:simpleType>

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

                                                                                                                                                                                            <xs:minLength value="1"/>

                                                                                                                                                                                            <xs:maxLength value="50"/>

                                                                                                                                                                            </xs:restriction>

                                                                                                                                                             </xs:simpleType>

                                                                                                                                             </xs:attribute>

                                                                                                                                              <xs:attribute

name="Concepto" use="required">

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el concepto de la transacción  que integra el auxiliar.</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                                             <xs:simpleType>

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

                                                                                                                                                                                            <xs:minLength value="1"/>

                                                                                                                                                                                            <xs:maxLength value="200"/>

                                                                                                                                                                            </xs:restriction>

                                                                                                                                                             </xs:simpleType>

                                                                                                                                             </xs:attribute>

                                                                                                                                             <xs:attribute name="Debe" type="AuxiliarCtas:t_importe" use="required">

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el monto del cargo de la cuenta o subcuenta de la transacción que integra el auxiliar. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                             </xs:attribute>

                                                                                                                                             <xs:attribute name="Haber" type="AuxiliarCtas:t_importe" use="required">

                                                                                                                                                             <xs:annotation>

                                                                                                                                                                            <xs:documentation>Atributo requerido para expresar el monto del abono de la cuenta o subcuenta de la transacción que integra el auxiliar. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                                                                             </xs:annotation>

                                                                                                                                             </xs:attribute>

                                                                                                                             </xs:complexType>

                                                                                                              </xs:element>

                                                                                              </xs:sequence>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar la clave con que se distingue  la cuenta o subcuenta que se afecta por la transacción que integra el auxiliar.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                                             <xs:maxLength value="100"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

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

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el concepto de la cuenta o subcuenta que se afecta por la transacción que integra el auxiliar.</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                                              <xs:simpleType>

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

                                                                                                                                             <xs:minLength value="1"/>

                                                                                                                                             <xs:maxLength value="100"/>

                                                                                                                             </xs:restriction>

                                                                                                              </xs:simpleType>

                                                                                              </xs:attribute>

                                                                                              <xs:attribute name="SaldoIni"
type="AuxiliarCtas:t_importe" use="required">

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el monto del saldo inicial de la cuenta o subcuenta del periodo del auxiliar. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

                                                                                              <xs:attribute name="SaldoFin"
type="AuxiliarCtas:t_importe" use="required">

                                                                                                              <xs:annotation>

                                                                                                                             <xs:documentation>Atributo requerido para expresar el monto del saldo final de la cuenta o subcuenta del periodo del auxiliar. En caso de no existir dato, colocar cero (0)</xs:documentation>

                                                                                                              </xs:annotation>

                                                                                              </xs:attribute>

                                                                              </xs:complexType>

                                                               </xs:element>

                                               </xs:sequence>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minLength value="12"/>

                                                                                              <xs:maxLength value="13"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el mes en que inicia la vigencia del auxiliar de la cuenta o subcuenta.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:enumeration value="01"/>

                                                                                              <xs:enumeration value="02"/>

                                                                                              <xs:enumeration value="03"/>

                                                                                              <xs:enumeration value="04"/>

                                                                                              <xs:enumeration value="05"/>

                                                                                              <xs:enumeration value="06"/>

                                                                                              <xs:enumeration value="07"/>

                                                                                              <xs:enumeration value="08"/>

                                                                                              <xs:enumeration value="09"/>

                                                                                              <xs:enumeration value="10"/>

                                                                                              <xs:enumeration value="11"/>

                                                                                              <xs:enumeration value="12"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el año al que inicia la vigencia del auxiliar de la cuenta o subcuenta.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minInclusive value="2015"/>

                                                                                              <xs:maxInclusive value="2099"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el tipo de envío del auxiliar de la cuenta o subcuenta ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO - Compensación )</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:pattern value="AF|FC|DE|CO"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de orden asignado al acto de fiscalización al que hace referencia la solicitud del auxiliar de la cuenta o subcuenta. Requerido para tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="13"/>

                                                                                              <xs:pattern value="[A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de trámite asignado a la solicitud de devolución o compensación al que hace referencia el auxiliar de la cuenta o subcuenta. Requerido para tipo de solicitud  = DE  o CO. Se convierte en requerido cuando se cuente con la información.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="10"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica. El sello deberá ser expresado cómo una cadena de texto en formato Base 64</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para expresar el número de serie del certificado de sello digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="20"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional que sirve para expresar el certificado de sello digital que ampara al archivo de contabilidad electrónica como texto, en formato base 64.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

                               </xs:complexType>

                </xs:element>

                <xs:simpleType name="t_importe">

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

                                               <xs:fractionDigits value="2"/>

                                               <xs:minInclusive value="-99999999999999.99"/>

                                               <xs:maxInclusive value="99999999999999.99"/>

                               </xs:restriction>

                </xs:simpleType>

</xs:schema>

 

2.      Generación opcional de sellos digitales.

Elementos utilizados en la generaciónopcional de Sellos Digitales:

·        Cadena Original, del elemento a sellar.

·        Certificado de Sello Digital y su correspondiente clave privada.

·        Algoritmos de criptografía de clave pública para firma electrónica avanzada.

·        Especificaciones de conversión de la firma electrónica avanzada a Base 64.

Para la generación de 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 firma electrónica avanzada o certificado para sellos digitales".

El Certificado puede distribuirse libremente para efectos de intercambio seguro de información y para ofrecer pruebas de autoría de archivos electrónicos o acuerdo con su contenido mediante el proceso denominado "firma electrónica avanzada ", 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 ha sido alterado), autenticidad, certidumbre de origen (facilidad para determinar qué persona es el autor de la firma y valida el contenido del mensaje) y no repudiación del mensaje firmado (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 electrónica avanzada:

·        Es infalsificable.

·        La firma electrónica avanzada no es reciclable (es única por mensaje).

·        Un mensaje con firma electrónica avanzada alterado, es detectable.

·        Un mensaje con firma electrónica avanzada, no puede ser repudiado.

Los certificados de sello digital se generan de manera idéntica a la firma electrónica avanzada y al igual que las firmas electrónicas avanzadas el propósito del sello digital es emitir documentos digitales con autenticidad, integridad, verificables y no repudiables por el emisor. Para ello bastará tener acceso al mensaje original o cadena original, al sello digital y al certificado de sello digital del emisor.

Al ser el certificado de sello digital idéntico en su generación a una firma electrónica avanzada, proporciona los mismos servicios de seguridad y hereda las características de las firmas digitales.

Por consecuencia un archivo sellado digitalmente por el contribuyente tiene las siguientes características:

·        Es infalsificable.

·        El sello digital no es reciclable (es único por documento).

·        Una cadena original de un documento digital sellada digitalmente, que hubiese sido alterada es detectable.

·        Una cadena original de un archivo sellada digitalmente no puede ser repudiada.

Los algoritmos utilizados en la generación de un sello digital son los siguientes:

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

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’.

RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestión del mensaje.

RSAPublicDecrypt, que utiliza la clave pública del emisor para desencriptar la digestión del mensaje.

 

Cadena Original

Se entiende como cadena original, a la secuencia de datos formada con la información contenida dentro del archivo, establecida en el Rubro A “Estándar del Formato Reporte Auxiliar de Cuentas y/o subcuentas de Contabilidad Electrónica” de este anexo. Siguiendo para ello las reglas y la secuencia aquí especificadas:

Reglas Generales:

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

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

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

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

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

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

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

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

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

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

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

Secuencia de Formación:

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

1)      Información del nodo AuxiliarCtas

a)      Version

b)      RFC

c)      Mes

d)      Anio

e)      TipoSolicitud

f)       NumOrden

g)      NumTramite

2)      Información del nodo Cuenta

a)      NumCta

b)      DesCta

c)      SaldoIni

d)      SaldoFin

3)      Información del nodo DetalleAux

a)      Fecha

b)      NumUnIdenPol

c)      Debe

d)      Haber

Generación del Sello Digital

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 SHA-1 a la cadena original a sellar. Este procedimiento genera una salida de 160 bits (20 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida es de 1 en 2(60-colision), y por lo tanto en esta posibilidad 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.

Aplicar el método de digestión SHA-2 a la cadena original a sellar. Este procedimiento genera una salida de 256 bits (32 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una misma salida no ha sido encontrada  una colisión y por lo tanto en esta posibilidad 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.

II. Con la clave privada correspondiente al certificado de sello digital del emisor, 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 de Sello digital:

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

3.      Nomenclatura y características del archivo

El archivo XML con la información de los auxiliares de cuenta de nivel mayor y/o de la subcuenta de primer nivel deberá enviarse comprimido en formato ZIP con la nomenclatura siguiente:

Auxiliar de cuenta de nivel mayor y/o subcuenta de primer nivel

RFC

Ejercicio

Periodo

Clave

Extensión

12 o 13 caracteres, correspondientes al RFC del contribuyente, ya sea Persona Moral o Persona Física.

4 caracteres que identifican el año al que corresponde la información que se envía.

2 caracteres que identifican el número de mes al que corresponde la información que se envía.

Caracteres "XC" que identifican el tipo de información que se envía.

Caracteres ".ZIP" que identifican un archivo comprimido.

 

Ejemplos:

Persona Moral

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

BBB010101AB1

2015

01

XC

.zip

 

 

 

 

 

Nombre del archivo:

BBB010101AB1201501XC.zip

 

Persona Física

Ejemplo

RFC

Ejercicio

Periodo

Clave

Extensión

AAAA010101AB1

2015

01

XC

.zip

 

 

 

 

 

Nombre del archivo:

AAAA010101AB1201501XC.zip

 

G.      Sello digital de la contabilidad electrónica.

Contenido

Formato SelloDigitalContElec

G.- Estándar del formato SelloDigitalContElec

Se deberá utilizar el siguiente estándar XSD, validando su forma y sintaxis en un archivo con extensión XML.

Para poder ser validado, el sello digital de contabilidad electrónica deberá estar referenciado al namespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente sección (http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/ SelloDigitalContElec / SelloDigitalContElec.xsd) de la siguiente manera:

<sellodigital:SelloDigitalContElec

                xsi:schemaLocation=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec SelloDigitalContElec.xsd"

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

                xmlns: sellodigital=" http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec">

 .........

</sellodigital:SelloDigitalContElec>

Adicionalmente a las reglas de estructura planteadas dentro del presente estándar, cuando se utilice este estándar 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 http://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.

 

Descripción

 

 

Documento requerido para el Sello Digital del SAT que da constancia de recibo del archivo de la contabilidad electrónica.

 

Atributos

 

 

Version

 

Descripción

Atributo requerido para expresar la versión del estándar del Sello Digital.

 

Uso

Requerido

 

Valor Prefijado

1.1

 

Folio

 

Descripción

Atributo requerido para expresar los 22 caracteres del folio asignado por el SAT en la recepción de los archivos.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

Patrón

[0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}

 

RFC

 

Descripción

Atributo requerido para expresar el RFC del contribuyente que envía los datos

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud Mínima

12

 

Longitud Máxima

13

 

Espacio en Blanco

Colapsar

 

Patrón

[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?

 

FechadeSello

 

Descripción

Atributo requerido para expresar la fecha y hora de la generación del Sello digital del SAT. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601

 

Uso

Requerido

 

Tipo Base

xs:dateTime

 

Espacio en Blanco

Colapsar

 

sello

 

Descripción

Atributo opcional para contener el sello digital del archivo de contabilidad electrónica, que corresponda. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.

 

Uso

Opcional

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

noCertificadoSAT

 

Descripción

Atributo requerido para expresar el número de serie del certificado del SAT usado para generar el sello digital.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Longitud

20

 

Espacio en Blanco

Colapsar

 

selloSAT

 

Descripción

Atributo requerido para contener el sello digital del SAT. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.

 

Uso

Requerido

 

Tipo Base

xs:string

 

Espacio en Blanco

Colapsar

 

Código Fuente

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

<xs:schema xmlns:sellodigital="www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec" elementFormDefault="qualified" attributeFormDefault="unqualified">

                <xs:element name="SelloDigitalContElec">

                               <xs:annotation>

                                               <xs:documentation>Documento requerido para el Sello Digital del SAT que da constancia de recibo del archivo de la contabilidad electrónica.</xs:documentation>

                                </xs:annotation>

                               <xs:complexType>

                                               <xs:attribute name="Version" use="required" fixed="1.1">

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar la versión del estándar del Sello Digital.</xs:documentation>

                                                               </xs:annotation>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:minLength value="12"/>

                                                                                              <xs:maxLength value="13"/>

                                                                                              <xs:whiteSpace value="collapse"/>

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

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

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

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo opcional para contener el sello digital del archivo de contabilidad electrónica, que corresponda. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para expresar el número de serie del certificado del SAT usado para generar el sello digital. </xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:length value="20"/>

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

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

                                                               <xs:annotation>

                                                                              <xs:documentation>Atributo requerido para contener el sello digital del SAT. El sello deberá ser expresado cómo una cadena de texto en formato Base 64.</xs:documentation>

                                                               </xs:annotation>

                                                               <xs:simpleType>

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

                                                                                              <xs:whiteSpace value="collapse"/>

                                                                              </xs:restriction>

                                                               </xs:simpleType>

                                               </xs:attribute>

                               </xs:complexType>

                </xs:element>

</xs:schema>

H.      Catálogo de monedas.

 

H.- Catálogo de códigos de monedas

Código

Moneda

AED

Dirham de los Emiratos Árabes Unidos

AFN

Afgani afgano

ALL

Lek albanés

AMD

Dram armenio

ANG

Florín antillano neerlandés

AOA

Kwanza angoleño

ARS

Peso argentino

AUD

Dólar australiano

AWG

Florín arubeño

AZN

Manat azerbaiyano

BAM

Marco convertible de Bosnia-Herzegovina

BBD

Dólar de Barbados

BDT

Taka de Bangladés

BGN

Lev búlgaro

BHD

Dinar bahreiní

BIF

Franco burundés

BMD

Dólar de Bermuda

BND

Dólar de Brunéi

BOB

Boliviano

BOV

Mvdol boliviano (código de fondos)

BRL

Real brasileño

BSD

Dólar bahameño

BTN

Ngultrum de Bután

BWP

Pula de Botsuana

BYR

Rublo bielorruso

BZD

Dólar de Belice

CAD

Dólar canadiense

CDF

Franco congoleño, o congolés

CHF

Franco suizo

CLF

Unidades de fomento chilenas (código de fondos)

CLP

Peso chileno

CNY

Yuan chino

COP

Peso colombiano

COU

Unidad de valor real colombiana (añadida al COP)

CRC

Colón costarricense

CSD

Dinar serbio (Reemplazado por RSD el 25 de octubre de 2006)

CUP

Peso cubano

CUC

Peso cubano convertible

CVE

Escudo caboverdiano

CZK

Koruna checa

DJF

Franco yibutiano

DKK

Corona danesa

DOP

Peso dominicano

 

DZD

Dinar argelino

EGP

Libra egipcia

ERN

Nakfa eritreo

ETB

Birr etíope

EUR

Euro

FJD

Dólar fiyiano

FKP

Libra malvinense

GBP

Libra esterlina (libra de Gran Bretaña)

GEL

Lari georgiano

GHS

Cedi ghanés

GIP

Libra de Gibraltar

GMD

Dalasi gambiano

GNF

Franco guineano

GTQ

Quetzal guatemalteco

GYD

Dólar guyanés

HKD

Dólar de Hong Kong

HNL

Lempira hondureño

HRK

Kuna croata

HTG

Gourde haitiano

HUF

Forint húngaro

IDR

Rupiah indonesia

ILS

Nuevo shéquel israelí

INR

Rupia india

IQD

Dinar iraquí

IRR

Rial iraní

ISK

Króna islandesa

JMD

Dólar jamaicano

JOD

Dinar jordano

JPY

Yen japonés

KES

Chelín keniata

KGS

Som kirguís (de Kirguistán)

KHR

Riel camboyano

KMF

Franco comoriano (de Comoras)

KPW

Won norcoreano

KRW

Won surcoreano

KWD

Dinar kuwaití

KYD

Dólar caimano (de Islas Caimán)

KZT

Tenge kazajo

LAK

Kip lao

LBP

Libra libanesa

LKR

Rupia de Sri Lanka

LRD

Dólar liberiano

LSL

Loti lesotense

LTL

Litas lituano

LVL

Lat letón

LYD

Dinar libio

MAD

Dirham marroquí

MDL

Leu moldavo

MGA

Ariary malgache

MKD

Denar macedonio

MMK

Kyat birmano

MNT

Tughrik mongol

MOP

Pataca de Macao

MRO

Ouguiya mauritana

MUR

Rupia mauricia

MVR

Rufiyaa maldiva

MWK

Kwacha malauí

MXN

Peso mexicano

MXV

Unidad de Inversión (UDI) mexicana (código de fondos)

MYR

Ringgit malayo

MZN

Metical mozambiqueño

NAD

Dólar namibio

NGN

Naira nigeriana

NIO

Córdoba nicaragüense

NOK

Corona noruega

NPR

Rupia nepalesa

NZD

Dólar neozelandés

 

OMR

Rial omaní

PAB

Balboa panameña

PEN

Nuevo sol peruano

PGK

Kina de Papúa Nueva Guinea

PHP

Peso filipino

PKR

Rupia pakistaní

PLN

zloty polaco

PYG

Guaraní paraguayo

QAR

Rial qatarí

RON

Leu rumano

RUB

Rublo ruso

RWF

Franco ruandés

SAR

Riyal saudí

SBD

Dólar de las Islas Salomón

SCR

Rupia de Seychelles

SDG

Dinar sudanés

SEK

Corona sueca

SGD

Dólar de Singapur

SHP

Libra de Santa Helena

SLL

Leone de Sierra Leona

SOS

Chelín somalí

SRD

Dólar surinamés

STD

Dobra de Santo Tomé y Príncipe

SYP

Libra siria

SZL

Lilangeni suazi

THB

Baht tailandés

TJS

Somoni tayik (de Tayikistán)

TMT

Manat turcomano

TND

Dinar tunecino

TOP

Pa'anga tongano

TRY

Lira turca

TTD

Dólar de Trinidad y Tobago

TWD

Dólar taiwanés

TZS

Chelín tanzano

UAH

Grivna ucraniana

UGX

Chelín ugandés

USD

Dólar estadounidense

USN

Dólar estadounidense (Siguiente día) (código de fondos)

USS

Dólar estadounidense (Mismo día) (código de fondos)

UYU

Peso uruguayo

UZS

Som uzbeko

VEF

Bolívar fuerte venezolano

VND

Dong vietnamita

VUV

Vatu vanuatense

WST

Tala samoana

XAF

Franco CFA de África Central

XAG

Onza de plata

XAU

Onza de oro

XBA

European Composite Unit (EURCO) (unidad del mercado de bonos)

XBB

European Monetary Unit (E.M.U.-6) (unidad del mercado de bonos)

XBC

European Unit of Account 9 (E.U.A.-9) (unidad del mercado de bonos)

XBD

European Unit of Account 17 (E.U.A.-17) (unidad del mercado de bonos)

XCD

Dólar del Caribe Oriental

XDR

Derechos Especiales de Giro (FMI)

XFO

Franco de oro (Special settlement currency)

XFU

Franco UIC (Special settlement currency)

XOF

Franco CFA de África Occidental

XPD

Onza de paladio

XPF

Franco CFP

XPT

Onza de platino

XTS

Reservado para pruebas

XXX

Sin divisa

YER

Rial yemení (de Yemen)

ZAR

Rand sudafricano

ZMW

Kwacha zambiano

ZWL

Dólar zimbabuense

 

I.        Catálogo de bancos.

 

I.- Catálogo de bancos

Clave

Nombre corto

Nombre o razón social

002

BANAMEX

Banco Nacional de México, S.A., Institución de Banca Múltiple, Grupo Financiero Banamex

006

BANCOMEXT

Banco Nacional de Comercio Exterior, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo

009

BANOBRAS

Banco Nacional de Obras y Servicios Públicos, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo

012

BBVA BANCOMER

BBVA Bancomer, S.A., Institución de Banca Múltiple, Grupo Financiero BBVA Bancomer

014

SANTANDER

Banco Santander (México), S.A., Institución de Banca Múltiple, Grupo Financiero Santander

019

BANJERCITO

Banco Nacional del Ejército, Fuerza Aérea y Armada, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo

021

HSBC

HSBC México, S.A., institución De Banca Múltiple, Grupo Financiero HSBC

030

BAJIO

Banco del Bajío, S.A., Institución de Banca Múltiple

032

IXE

IXE Banco, S.A., Institución de Banca Múltiple, IXE Grupo Financiero

036

INBURSA

Banco Inbursa, S.A., Institución de Banca Múltiple, Grupo Financiero Inbursa

037

INTERACCIONES

Banco Interacciones, S.A., Institución de Banca Múltiple

042

MIFEL

Banca Mifel, S.A., Institución de Banca Múltiple, Grupo Financiero Mifel

044

SCOTIABANK

Scotiabank Inverlat, S.A.

058

BANREGIO

Banco Regional de Monterrey, S.A., Institución de Banca Múltiple, Banregio Grupo Financiero

059

INVEX

Banco Invex, S.A., Institución de Banca Múltiple, Invex Grupo Financiero

060

BANSI

Bansi, S.A., Institución de Banca Múltiple

062

AFIRME

Banca Afirme, S.A., Institución de Banca Múltiple

072

BANORTE

Banco Mercantil del Norte, S.A., Institución de Banca Múltiple, Grupo Financiero Banorte

102

THE ROYAL BANK

The Royal Bank of Scotland México, S.A., Institución de Banca Múltiple

103

AMERICAN EXPRESS

American Express Bank (México), S.A., Institución de Banca Múltiple

106

BAMSA

Bank of America México, S.A., Institución de Banca Múltiple, Grupo Financiero Bank of America

108

TOKYO

Bank of Tokyo-Mitsubishi UFJ (México), S.A.

110

JP MORGAN

Banco J.P. Morgan, S.A., Institución de Banca Múltiple, J.P. Morgan Grupo Financiero

112

BMONEX

Banco Monex, S.A., Institución de Banca Múltiple

113

VE POR MAS

Banco Ve Por Mas, S.A. Institución de Banca Múltiple

116

ING

ING Bank (México), S.A., Institución de Banca Múltiple, ING Grupo Financiero

124

DEUTSCHE

Deutsche Bank México, S.A., Institución de Banca Múltiple

126

CREDIT SUISSE

Banco Credit Suisse (México), S.A. Institución de Banca Múltiple, Grupo Financiero Credit Suisse (México)

127

AZTECA

Banco Azteca, S.A. Institución de Banca Múltiple.

128

AUTOFIN

Banco Autofin México, S.A. Institución de Banca Múltiple

129

BARCLAYS

Barclays Bank México, S.A., Institución de Banca Múltiple, Grupo Financiero Barclays México

130

COMPARTAMOS

Banco Compartamos, S.A., Institución de Banca Múltiple

131

BANCO FAMSA

Banco Ahorro Famsa, S.A., Institución de Banca Múltiple

132

BMULTIVA

Banco Multiva, S.A., Institución de Banca Múltiple, Multivalores Grupo Financiero

133

ACTINVER

Banco Actinver, S.A. Institución de Banca Múltiple, Grupo Financiero Actinver

134

WAL-MART

Banco Wal-Mart de México Adelante, S.A., Institución de Banca Múltiple

135

NAFIN

Nacional Financiera, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo

136

INTERBANCO

Inter Banco, S.A. Institución de Banca Múltiple

137

BANCOPPEL

BanCoppel, S.A., Institución de Banca Múltiple

138

ABC CAPITAL

ABC Capital, S.A., Institución de Banca Múltiple

139

UBS BANK

UBS Bank México, S.A., Institución de Banca Múltiple, UBS Grupo Financiero

140

CONSUBANCO

Consubanco, S.A. Institución de Banca Múltiple

141

VOLKSWAGEN

Volkswagen Bank, S.A., Institución de Banca Múltiple

143

CIBANCO

CIBanco, S.A.

145

BBASE

Banco Base, S.A., Institución de Banca Múltiple

166

BANSEFI

Banco del Ahorro Nacional y Servicios Financieros, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo

168

HIPOTECARIA FEDERAL

Sociedad Hipotecaria Federal, Sociedad Nacional de Crédito, Institución de Banca de Desarrollo

600

MONEXCB

Monex Casa de Bolsa, S.A. de C.V. Monex Grupo Financiero

601

GBM

GBM Grupo Bursátil Mexicano, S.A. de C.V. Casa de Bolsa

602

MASARI

Masari Casa de Bolsa, S.A.

605

VALUE

Value, S.A. de C.V. Casa de Bolsa

606

ESTRUCTURADORES

Estructuradores del Mercado de Valores Casa de Bolsa, S.A. de C.V.

607

TIBER

Casa de Cambio Tiber, S.A. de C.V.

608

VECTOR

Vector Casa de Bolsa, S.A. de C.V.

610

B&B

B y B, Casa de Cambio, S.A. de C.V.

614

ACCIVAL

Acciones y Valores Banamex, S.A. de C.V., Casa de Bolsa

615

MERRILL LYNCH

Merrill Lynch México, S.A. de C.V. Casa de Bolsa

616

FINAMEX

Casa de Bolsa Finamex, S.A. de C.V.

 

617

VALMEX

Valores Mexicanos Casa de Bolsa, S.A. de C.V.

618

UNICA

Unica Casa de Cambio, S.A. de C.V.

619

MAPFRE

MAPFRE Tepeyac, S.A.

620

PROFUTURO

Profuturo G.N.P., S.A. de C.V., Afore

621

CB ACTINVER

Actinver Casa de Bolsa, S.A. de C.V.

622

OACTIN

OPERADORA ACTINVER, S.A. DE C.V.

623

SKANDIA

Skandia Vida, S.A. de C.V.

626

CBDEUTSCHE

Deutsche Securities, S.A. de C.V. CASA DE BOLSA

627

ZURICH

Zurich Compañía de Seguros, S.A.

628

ZURICHVI

Zurich Vida, Compañía de Seguros, S.A.

629

SU CASITA

Hipotecaria Su Casita, S.A. de C.V. SOFOM ENR

630

CB INTERCAM

Intercam Casa de Bolsa, S.A. de C.V.

631

CI BOLSA

CI Casa de Bolsa, S.A. de C.V.

632

BULLTICK CB

Bulltick Casa de Bolsa, S.A., de C.V.

633

STERLING

Sterling Casa de Cambio, S.A. de C.V.

634

FINCOMUN

Fincomún, Servicios Financieros Comunitarios, S.A. de C.V.

636

HDI SEGUROS

HDI Seguros, S.A. de C.V.

637

ORDER

Order Express Casa de Cambio, S.A. de C.V

638

AKALA

Akala, S.A. de C.V., Sociedad Financiera Popular

640

CB JPMORGAN

J.P. Morgan Casa de Bolsa, S.A. de C.V. J.P. Morgan Grupo Financiero

642

REFORMA

Operadora de Recursos Reforma, S.A. de C.V., S.F.P.

646

STP

Sistema de Transferencias y Pagos STP, S.A. de C.V.SOFOM ENR

647

TELECOMM

Telecomunicaciones de México

648

EVERCORE

Evercore Casa de Bolsa, S.A. de C.V.

649

SKANDIA

Skandia Operadora de Fondos, S.A. de C.V.

651

SEGMTY

Seguros Monterrey New York Life, S.A de C.V

652

ASEA

Solución Asea, S.A. de C.V., Sociedad Financiera Popular

653

KUSPIT

Kuspit Casa de Bolsa, S.A. de C.V.

655

SOFIEXPRESS

J.P. SOFIEXPRESS, S.A. de C.V., S.F.P.

656

UNAGRA

UNAGRA, S.A. de C.V., S.F.P.

659

OPCIONES EMPRESARIALES DEL NOROESTE

OPCIONES EMPRESARIALES DEL NORESTE, S.A. DE C.V., S.F.P.

901

CLS

Cls Bank International

902

INDEVAL

SD. Indeval, S.A. de C.V.

670

LIBERTAD

Libertad Servicios Financieros, S.A. De C.V.

999

N/A

 

 

J.      Catálogo de métodos de pago.

 

J.- Catálogo de método de pago.

Clave

Concepto

01

Efectivo

02

Cheque

03

Transferencia

04

Tarjetas de crédito

05

Monederos electrónicos

06

Dinero electrónico

07

Tarjetas digitales

08

Vales de despensa

09

Bienes

10

Servicio

11

Por cuenta de tercero

12

Dación en pago

13

Pago por subrogación

14

Pago por consignación

15

Condonación

16

Cancelación

17

Compensación

98

“NA”

99

Otros

 

Atentamente.

México, D. F., a 3 de diciembre de 2014.- El Jefe del Servicio de Administración Tributaria, Aristóteles Núñez Sánchez.- Rúbrica.