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 &
¡ En
el caso del “ se deberá usar la secuencia "
¡ En
el caso del < se deberá usar la secuencia <
¡ En
el caso del > se deberá usar la secuencia >
¡ En
el caso del ‘ se deberá usar la secuencia '
Ejemplos:
Para
representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan
& José & "Niño"”
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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Descripción |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Nodo obligatorio para expresar el
detalle de cada cuenta y subcuenta del catálogo. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Atributos |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
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Ñ&]{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 &
¡ En
el caso del “ se deberá usar la secuencia "
¡ En
el caso del < se deberá usar la secuencia <
¡ En
el caso del > se deberá usar la secuencia >
¡ En
el caso del ‘ se deberá usar la secuencia '
Ejemplos:
Para
representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan
& José & "Niño"”
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Elementos Hijo (min,max) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Descripción |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Nodo obligatorio para expresar el
detalle de cada cuenta o subcuenta de la balanza de comprobación. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Atributos |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tipos Simples |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
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Ñ&]{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 &
¡ En
el caso del “ se deberá usar la secuencia "
¡ En
el caso del < se deberá usar la secuencia <
¡ En
el caso del > se deberá usar la secuencia >
¡ En
el caso del ‘ se deberá usar la secuencia '
Ejemplos:
Para representar nombre=“Juan &
José & “Niño”” se usará nombre=”Juan & José &
"Niño"”
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Elementos Hijo (min,max) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Descripción |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Nodo obligatorio para relacionar el detalle de cada transacción
dentro de la póliza. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Atributos |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Elementos Hijo (min,max) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Descripción |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Nodo obligatorio para relacionar el detalle de cada transacción
dentro de la póliza |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Atributos |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Elementos Hijo (min,max) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
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 |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tipos Complejos |
|
|
|||||||||||||||||||||||||||||||||
Tipos Simples |
||||||||||||||||||||||||||||||||||
|
|
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Ñ&]{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Ñ&]{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Ñ&]{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Ñ&]{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Ñ&]{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Ñ&]{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 &
¡ En
el caso del “ se deberá usar la secuencia "
¡ En
el caso del < se deberá usar la secuencia <
¡ En
el caso del > se deberá usar la secuencia >
¡ En
el caso del ‘ se deberá usar la secuencia '
Ejemplos:
Para
representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan
& José & "Niño"”
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 |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Descripción |
|||||||||||||||||||||||||||||||||||||
|
|
Nodo opcional para expresar el detalle de los
folios de los comprobantes fiscales que integran la póliza. |
||||||||||||||||||||||||||||||||||||
|
Atributos |
|||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||
|
Elementos Hijo (min,max) |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Tipos Simples |
|||||||||||||||||||||||||||||||
|
|
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Ñ&]{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Ñ&]{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Ñ&]{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
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 &
¡ En
el caso del “ se deberá usar la secuencia "
¡ En
el caso del < se deberá usar la secuencia <
¡ En
el caso del > se deberá usar la secuencia >
¡ En
el caso del ‘ se deberá usar la secuencia '
Ejemplos:
Para representar nombre=“Juan &
José & “Niño”” se usará nombre=”Juan & José &
"Niño"”
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 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Descripción |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Nodo obligatorio para expresar los movimientos
del periodo de cada uno de los auxiliares de la cuenta y/o subcuenta. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Atributos |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Elementos Hijo (min,max) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
Descripción |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Nodo obligatorio para expresar el
detalle de los movimientos del periodo de cada uno de los auxiliares |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Atributos |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tipos Simples |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
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Ñ&]{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 &
¡ En
el caso del “ se deberá usar la secuencia "
¡ En
el caso del < se deberá usar la secuencia <
¡ En
el caso del > se deberá usar la secuencia >
¡ En
el caso del ‘ se deberá usar la secuencia '
Ejemplos:
Para representar nombre=“Juan &
José & “Niño”” se usará nombre=”Juan & José &
"Niño"”
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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
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Ñ&]{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 |
|
BMD |
Dólar de Bermuda |
BND |
Dólar de Brunéi |
BOB |
|
BOV |
|
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 |
|
CLP |
Peso chileno |
CNY |
Yuan chino |
COP |
|
COU |
Unidad de valor real colombiana (añadida al COP) |
CRC |
|
CSD |
|
CUP |
|
CUC |
|
CVE |
|
CZK |
Koruna checa |
DJF |
|
DKK |
|
DOP |
DZD |
|
EGP |
|
ERN |
Nakfa eritreo |
ETB |
Birr etíope |
EUR |
|
FJD |
|
FKP |
|
GBP |
Libra esterlina (libra de Gran Bretaña) |
GEL |
Lari georgiano |
GHS |
Cedi ghanés |
GIP |
|
GMD |
Dalasi gambiano |
GNF |
|
GTQ |
Quetzal guatemalteco |
GYD |
|
HKD |
|
HNL |
Lempira hondureño |
HRK |
Kuna croata |
HTG |
Gourde haitiano |
HUF |
Forint húngaro |
IDR |
Rupiah indonesia |
ILS |
Nuevo shéquel israelí |
INR |
|
IQD |
|
IRR |
|
ISK |
Króna islandesa |
JMD |
|
JOD |
|
JPY |
Yen japonés |
KES |
|
KGS |
Som kirguís (de Kirguistán) |
KHR |
|
KMF |
Franco comoriano (de Comoras) |
KPW |
|
KRW |
|
KWD |
|
KYD |
Dólar caimano (de Islas Caimán) |
KZT |
Tenge kazajo |
LAK |
Kip lao |
LBP |
|
LKR |
|
LRD |
|
LSL |
Loti lesotense |
LTL |
Litas lituano |
LVL |
Lat letón |
LYD |
|
MAD |
Dirham marroquí |
MDL |
|
MGA |
Ariary malgache |
MKD |
|
MMK |
Kyat birmano |
MNT |
Tughrik mongol |
MOP |
Pataca de Macao |
MRO |
Ouguiya mauritana |
MUR |
|
MVR |
Rufiyaa maldiva |
MWK |
Kwacha malauí |
MXN |
Peso mexicano |
MXV |
|
MYR |
Ringgit malayo |
MZN |
|
NAD |
|
NGN |
Naira nigeriana |
NIO |
Córdoba nicaragüense |
NOK |
|
NPR |
|
NZD |
OMR |
|
PAB |
Balboa panameña |
PEN |
Nuevo sol peruano |
PGK |
Kina de Papúa Nueva Guinea |
PHP |
|
PKR |
|
PLN |
zloty polaco |
PYG |
Guaraní paraguayo |
QAR |
|
RON |
|
RUB |
|
RWF |
|
SAR |
Riyal saudí |
SBD |
|
SCR |
|
SDG |
|
SEK |
|
SGD |
|
SHP |
|
SLL |
Leone de Sierra Leona |
SOS |
|
SRD |
|
STD |
Dobra de Santo Tomé y Príncipe |
SYP |
|
SZL |
Lilangeni suazi |
THB |
Baht tailandés |
TJS |
Somoni tayik (de Tayikistán) |
TMT |
Manat turcomano |
TND |
|
TOP |
Pa'anga tongano |
TRY |
|
TTD |
|
TWD |
|
TZS |
|
UAH |
Grivna ucraniana |
UGX |
|
USD |
|
USN |
Dólar estadounidense (Siguiente día) (código de
fondos) |
USS |
Dólar estadounidense (Mismo día) (código de
fondos) |
UYU |
|
UZS |
|
VEF |
Bolívar fuerte venezolano |
VND |
Dong vietnamita |
VUV |
Vatu vanuatense |
WST |
Tala samoana |
XAF |
|
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 |
|
XDR |
Derechos Especiales de Giro (FMI) |
XFO |
Franco de oro (Special settlement currency) |
XFU |
Franco UIC (Special
settlement currency) |
XOF |
|
XPD |
Onza de paladio |
XPF |
|
XPT |
Onza de platino |
XTS |
Reservado para pruebas |
XXX |
Sin divisa |
YER |
Rial yemení (de Yemen) |
ZAR |
Rand sudafricano |
ZMW |
Kwacha zambiano |
ZWL |
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.