Manual de Contabilidad Electronica 2015
Manual de Contabilidad Electronica 2015
Manual de Contabilidad Electronica 2015
ELECTRÓNICA 2015
Primera Edición
Enero 2015
Contenido
1 Introducción ............................................................................................................................................... 1
2 Obligación de llevar contabilidad ............................................................................................................... 1
3 Lo que integra la contabilidad .................................................................................................................... 1
4 Registros o asientos contables ................................................................................................................... 1
5 Marco contable aplicable ........................................................................................................................... 3
6 Personas obligadas a llevar contabilidad.................................................................................................... 4
7 Documentos a conservar por contribuyentes no obligados a llevar contabilidad ..................................... 5
8 Generación de archivos XML con información contable ............................................................................ 5
8.1 Catálogo de cuentas ........................................................................................................................... 5
8.2 Balanza de comprobación .................................................................................................................. 6
8.3 Pólizas y auxiliares .............................................................................................................................. 6
9 Envío o presentación de los archivos XML ................................................................................................. 7
9.1 Inicio del envío .................................................................................................................................... 7
9.2 Plazo para el envío .............................................................................................................................. 8
10 Tópicos sobre asientos y registros contables ............................................................................................. 8
10.1 Agrupación del Catálogo de cuentas con Código Agrupador ............................................................. 8
10.2 Relación de UUID en póliza ¿en la provisión o en el pago/cobro? ..................................................... 9
10.3 Registros contables ¿En moneda extranjera? .................................................................................. 10
10.4 Forma y medio de pago en los registros contables .......................................................................... 10
10.5 Medio de pago no incluido en póliza XML ........................................................................................ 11
10.6 ¿Faltan nodos de otros medios de pago en el XLM de la póliza? ..................................................... 12
11 Anexo 24 de la Resolución Miscelánea Fiscal 2015 .................................................................................. 13
11.1 Catálogo de cuentas utilizado en el periodo. ................................................................................... 14
11.2 Código agrupador de cuentas del SAT. ............................................................................................. 25
11.3 Balanza de comprobación. ............................................................................................................... 45
11.4 Información de las pólizas del periodo. ............................................................................................ 60
11.5 Información de los auxiliares de folios fiscales asignados a los comprobantes fiscales dentro de las
pólizas. ....................................................................................................................................................... 106
11.6 Información de los auxiliares de cuenta de nivel mayor y/o de la subcuenta de primer nivel. ..... 132
11.7 Sello digital de la contabilidad electrónica. .................................................................................... 149
11.8 Catálogo de monedas. .................................................................................................................... 154
11.9 Catálogo de bancos. ....................................................................................................................... 157
11.10 Catálogo de métodos de pago. ................................................................................................... 159
Manual de Contabilidad Electrónica 2015
exterior
Llevarla en medios electrónicos
• La documentación e información de
Los registros o asientos contables los registros de todas las
deberán cumplir con ciertos requisitos
operaciones, actos o actividades, los
Los registros o asientos que integran la cuales deberán asentarse conforme
contabilidad se llevarán en medios a los sistemas de control y
electrónicos
verificación internos necesarios
Ingresarán de forma mensual su • Papeles de trabajo
información contable a través de la • Cuentas especiales
página de Internet del SAT. • Libros y registros sociales
• Control de inventarios y método de
Todo lo anterior se hará conforme lo establezcan valuación
el Reglamento del CFF y las disposiciones de • Discos y cintas o cualquier otro
carácter general que emita el Servicio de medio procesable de
Administración Tributaria (SAT); es decir, almacenamiento de datos
conforme a la Resolución Miscelánea Fiscal. • Los equipos o sistemas electrónicos
de registro fiscal y sus respectivos
registros
3 Lo que integra la • La documentación comprobatoria
de los asientos respectivos
contabilidad • Toda la documentación e
El Código Fiscal de la Federación establece que la información relacionada con el
contabilidad, para efectos fiscales, se integra por: cumplimiento de las disposiciones
• Libros, sistemas y registros fiscales
contables • La que acredite sus ingresos y
• Registros o asientos contables deducciones
auxiliares • La que obliguen otras leyes
• Catálogo de cuentas
• Pólizas de registros y asientos Lo anterior se establece tanto en el Artículo 28
• Avisos al Registro Federal de del CFF como en el Artículo 33 de su reglamento.
Contribuyentes, así como su
documentación soporte
1
Manual de Contabilidad Electrónica 2015
Característica Descripción
Analíticos Ser analíticos.
Plazo de Deben efectuarse en el mes en que se realicen las operaciones, actos o actividades a
registro que se refieran, a más tardar dentro de los cinco días siguientes a la realización de la
operación, acto o actividad.
La Regla 2.8.1.17., de la RMF 2015 ha cambiado el plazo de cinco días y dispone que
podrán efectuarse a más tardar el último día natural del mes siguiente a la fecha en
que se realicen las actividades respectivas.
Descriptivos Integrarse en el libro diario, en forma descriptiva, todas las operaciones, actos o
actividades siguiendo el orden cronológico en que éstos se efectúen, indicando el
movimiento de cargo o abono que a cada una corresponda, así como integrarse los
nombres de las cuentas de la contabilidad, su saldo al final del periodo de registro
inmediato anterior, el total del movimiento de cargo o abono a cada cuenta en el
periodo y su saldo final.
Libro diario y Podrán llevarse libros diario y mayor por establecimientos o dependencias, por tipos
libro mayor de actividad o por cualquier otra clasificación, pero en todos los casos deberán existir
los libros diario y mayor general en los que se concentren todas las operaciones del
contribuyente.
Relación con Relacionar cada operación, acto o actividad con los saldos que den como resultado las
saldos cifras finales de las cuentas.
Relación de Relacionar los estados de posición financiera con las cuentas de cada operación.
EPF con
cuentas
Identificar Identificar las contribuciones que se deban cancelar o devolver, en virtud de
1
Manual de Contabilidad Electrónica 2015
Idioma y Plasmarse en idioma español y consignar los valores en moneda nacional. Cuando la
moneda información de los comprobantes fiscales o de los datos y documentación que integran
la contabilidad esté en idioma distinto al español, o los valores se consignen en
moneda extranjera, deberán acompañarse de la traducción correspondiente y señalar
el tipo de cambio utilizado por cada operación.
Centros de Establecer por centro de costos, identificando las operaciones, actos o actividades de
costos cada sucursal o establecimiento, incluyendo aquéllos que se localicen en el extranjero.
Cuentas Permitir la identificación de los depósitos y retiros en las cuentas bancarias abiertas a
bancarias nombre del contribuyente y conciliarse contra las operaciones realizadas y su
documentación soporte, como son los estados de cuenta emitidos por las entidades
financieras.
2
Manual de Contabilidad Electrónica 2015
Donativos El control de los donativos de los bienes recibidos por las donatarias autorizadas en
términos de la Ley del ISR, el cual deberá permitir identificar a los donantes, los bienes
recibidos, los bienes entregados a sus beneficiarios, las cuotas de recuperación que
obtengan por los bienes recibidos en donación y el registro de la destrucción o
donación de las mercancías o bienes en el ejercicio en el que se efectúen.
IVA Contener el IVA que le haya sido trasladado al contribuyente y el que haya pagado en
la importación, correspondiente a la parte de sus gastos e inversiones, conforme a los
supuestos siguientes:
Cuando el destino de los bienes o servicios varíe y se deba efectuar el ajuste del
acreditamiento previsto en el artículo 5o.-A de la Ley del IVA, se deberá registrar su
efecto en la contabilidad.
El marco contable aplicable deberá ser emitido por el organismo profesional competente en esta materia y
encontrarse vigente en el momento en que se deba cumplir con la obligación de llevar la contabilidad.
3
Manual de Contabilidad Electrónica 2015
Cabe mencionar que la Ley del Impuesto al Valor Agregado (IVA), en su Artículo 32 establece la obligación
para todos los contribuyentes del impuesto, de llevar contabilidad de conformidad con lo dispuesto en el
CFF y su Reglamento; sin embargo, mediante disposiciones transitorias de la Ley del ISR, se señala que a su
entrada en vigor quedan sin efectos las disposiciones que contravengan lo preceptuado en esta nueva Ley,
por lo que esta disposición no tiene aplicación.
El Artículo 30 del CFF, en su segundo párrafo establece que las personas que no estén obligadas a llevar
contabilidad deberán conservar en su domicilio a disposición de las autoridades, toda documentación
relacionada con el cumplimiento de las disposiciones fiscales, por lo que el hecho de no estar obligadas a
llevar contabilidad, no les libera de la obligación de conservar esta documentación comprobatoria.
4
Manual de Contabilidad Electrónica 2015
5
Manual de Contabilidad Electrónica 2015
6
Manual de Contabilidad Electrónica 2015
Contribuyentes que se
inscriban al RFC durante
el ejercicio 2014 o 2015
Pólizas y auxiliares. Personas morales con Personas morales cuyos Quienes se inscriban
ingresos en 2013 sean ingresos acumulables de a partir del 1 de
Enviadas a requerimiento iguales o superiores a 4 2013 sean inferiores a 4 enero de 2016
de autoridad, o como millones de pesos millones de pesos
parte de devolución o
compensación de saldo Instituciones del sistema Personas físicas
aa favor financiero
Contribuyentes del
sector primario
Contribuyentes que se
inscriban al RFC durante
2014 o 2015
7
Manual de Contabilidad Electrónica 2015
qué esta le pueda dar, equilibrando el detalle y la
Personas morales y físicas dedicadas a multiplicidad de los datos con los requisitos de
las actividades agrícolas, silvícolas, utilidad y finalidad de la información. Esto implica
ganaderas o de pesca con pagos que cada empresa diseña su propio catálogo de
provisionales semestrales: De forma cuentas atendiendo a los elementos referidos
semestral, a más tardar dentro de los anteriormente.
primeros 3 y 5 días, respectivamente, del
segundo mes posterior al último mes Ahora bien, el Código Agrupador de Cuentas del
reportado en el semestre, mediante seis SAT está basado en un catálogo de cuentas y
8
Manual de Contabilidad Electrónica 2015
subcuentas que no necesariamente empata con categoría que mejor corresponda a cada cuenta,
las agrupaciones que los contribuyentes hacen de como se ejemplifica a continuación.
sus cuentas, pero se debe asignar según la
CUENTA DE LA EMPRESA CUENTAS DEL SAT
Tipo Número de cuenta Concepto Código Nombre de cuenta
agrupador
Mayor 530-02-0000 Servicios 601 Gastos Generales
Subcuenta 530-02-0001 Luz 601.52 Electricidad
Subcuenta 530-02-0002 Teléfono 601.50 Teléfono
Subcuenta 530-02-0003 Internet 601.50 Internet
Subcuenta 530-02-0004 Alarma 601.53 Gastos de Administración
Mayor 530-04-0000 Gastos de Oficina 603 Gastos de Administración
Subcuenta 530-04-0001 Papelería 603.55 Papelería y Artículos de Oficina
Subcuenta 530-04-0002 Imprenta 603.61 Propaganda y publicidad
Subcuenta 530-04-0003 Gastos de viaje 603.49 Viáticos y gastos de viaje
Subcuenta 530-04-0004 Puentes y peajes 603.49 Viáticos y gastos de viaje
Subcuenta 530-04-0005 Mensajería 603.92 Otros gastos de administración
Subcuenta 530-04-0006 Capacitación 603.62 Capacitación al personal
9
Manual de Contabilidad Electrónica 2015
El segundo párrafo de la fracción citada establece Como puede observarse, se abre de forma
lo siguiente: expresa la posibilidad para registrar en moneda
extranjera, y el mismo SAT establecerá un
Cuando la información de los comprobantes
catálogo de monedas extranjeras para indicar el
fiscales o de los datos y documentación que
integran la contabilidad estén en idioma
tipo de moneda que en cada transacción se
distinto al español, o los valores se consignen utiliza. A la fecha de esta publicación el catálogo
en moneda extranjera, deberán acompañarse no ha sido dado a conocer de manera oficial.
de la traducción correspondiente y señalar el
tipo de cambio utilizado por cada operación; Conclusión
De lo anterior se puede concluir que no obstante
La anterior disposición pareciera dar la idea de que el Reglamento del Código Fiscal de la
que abre la posibilidad de que los registros o Federación no prevé que los registros o asientos
asientos se efectúen en moneda distinta a la puedan realizarse en moneda extranjera, el
nacional; sin embargo, es importante identificar Anexo 24 de la Miscelánea sí otorga esta
que esa posibilidad únicamente se prevé para: posibilidad a los contribuyentes.
10
Manual de Contabilidad Electrónica 2015
11
Manual de Contabilidad Electrónica 2015
No obstante lo anterior, esta supuesta omisión En resumen, no existe un nodo para tarjetas de
puede encontrar una razón al analizarse el crédito, porque finalmente ese crédito se
objetivo de la autoridad, que es, precisamente, el liquidará con cheque o transferencia y es ahí
allegarse de la información de los pagos donde se identificarán los datos de estas
realizados a través de sistema financiero. En este operaciones. De llegar a pagarse en efectivo, no
sentido, se tendría que a la autoridad de poco le habría necesidad de incluir información del pago
serviría conocer, para los pagos en especie, datos en el XML de las pólizas, pues al no realizarse
de los bienes afectos a la transacción, menos aún mediante institución financiera, por la naturaleza
la información sobre compensaciones, de la operación, difícilmente habría datos qué
novaciones y u otras formas de pago, ya que no reportar, como será el caso de los otros medios
están efectuadas a través del sistema financiero. de pago o de extinción de obligaciones referidos
anteriormente.
Al margen de estos medios de pago o extinción
de obligaciones, queda la duda sobre los datos de
las tarjetas de crédito, sobre las cuales no se
12
Manual de Contabilidad Electrónica 2015
13
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
14
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
15
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Version
Descripción Atributo requerido para expresar la versión del formato
Uso requerido
Valor Prefijado 1.1
Tipo Especial xs:string
RFC
Descripción Atributo requerido para expresar el RFC del contribuyente que envía los
datos
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Mes
Descripción Atributo requerido para expresar el mes en que inicia la vigencia del
catálogo para la balanza
Uso requerido
Tipo Base xs:string
Valores Permitidos 01 02 03 04 05 06 07 08 09 10 11 12
Anio
Descripción Atributo requerido para expresar el año en que inicia la vigencia del catálogo
para la balanza
Uso requerido
Tipo Base xs:int
Valor Mínimo Incluyente 2015
Valor Máximo Incluyente 2099
Sello
Descripción Atributo opcional para contener el sello digital del archivo de contabilidad
electrónica. El sello deberá ser expresado cómo una cadena de texto en
formato Base 64
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
noCertificado
Descripción Atributo opcional para expresar el número de serie del certificado de sello
digital que ampara el archivo de contabilidad electrónica, de acuerdo al
acuse correspondiente a 20 posiciones otorgado por el sistema del SAT.
Uso opcional
Tipo Base xs:string
Longitud 20
Certificado
Descripción Atributo opcional que sirve para expresar el certificado de sello digital que
ampara al archivo de contabilidad electrónica como texto, en formato base
64.
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
16
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo obligatorio para expresar el detalle de cada cuenta y subcuenta del catálogo.
Atributos
CodAgrup
Descripción Atributo requerido para expresar el código asociador de cuentas y
17
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
NumCta
Descripción Atributo requerido, es la clave con que se distingue la cuenta o subcuenta
en la contabilidad
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 100
Desc
Descripción Atributo requerido para expresar el nombre de la cuenta o subcuenta
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 400
SubCtaDe
Descripción Atributo opcional en el caso de subcuentas. Sirve para expresar la clave de
la cuenta a la que pertenece dicha subcuenta. Se convierte en requerido
cuando se cuente con la información.
Uso opcional
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 100
Nivel
Descripción Atributo requerido para expresar el nivel en el que se encuentra la cuenta o
subcuenta en el catálogo.
Uso requerido
Tipo Base xs:int
Valor Mínimo Incluyente 1
Natur
Descripción Atributo requerido para expresar la naturaleza de la cuenta o subcuenta. (D
- Deudora, A - Acreedora). ( Activo = D ) ( Pasivo = A ) ( Capital = A ) (
Ingreso = A ) ( Costo = D ) ( Gasto = D ) ( Resultado Integral de
Financiamiento = D y/o A ) ( Cuentas de orden = D y/o A ).
Uso Requerido
Tipo Base xs:string
Patrón [DA]
18
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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>
19
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
20
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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".
21
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
22
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
Elemento Elemento
del Valor B64 Valor ASCII Valor B64 Valor ASCII Valor B64 Valor ASCII
del Alfabeto del Alfabeto
Alfabeto
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
23
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
GqDiRrea6+E2wQhqOCVzwME4866yVEME/8PD1S1g6AV48D8VrLhKUDq0Sjqnp9IwfMAbX0ggwUCLRKa+H
g5q8aYhya63If2HVqH1sA08poer080P1J6Z+BwTrQkhcb5Jw8jENXoErkFE8qdOcIdFFAuZPVT+9mkTb0Xn5E
mu5U8=
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
4 caracteres 2 caracteres que
12 o 13 caracteres,
que identifican identifican el número Caracteres ".ZIP"
correspondientes al RFC Caracteres "CT" que
el año al que de mes al que que identifican un
del contribuyente, ya sea identifican el tipo de
corresponde la corresponde la archivo
Persona Moral o Persona información que se envía.
información que información que se comprimido.
Física.
se envía. envía.
Ejemplos:
Personas Morales
Ejemplo
RFC Ejercicio Periodo Clave Extensión
BBB010101AB1 2015 01 CT .zip
24
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Personas Físicas
Ejemplo
25
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Código
Nivel Nombre de la cuenta y/o subcuenta
agrupador
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
26
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
27
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
28
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
29
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Código
Nivel Nombre de la cuenta y/o subcuenta
agrupador
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
30
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Código
Nivel Nombre de la cuenta y/o subcuenta
agrupador
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
31
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
32
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
33
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
34
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
35
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
36
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
37
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
38
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
39
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
40
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
613.16 Depreciación de maquinaria y equipo de generación de energía de fuentes renovables o de sistemas de
2
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
41
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
42
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
43
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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...)
44
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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/BalanzaCompro
bacion_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.
Ejemplos:
Para representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan & José &
"Niño"”
45
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
46
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
47
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Estándar de balanza de comprobación que se entrega como parte de la contabilidad electrónica.
Atributos
Version
Descripción Atributo requerido para expresar la versión del formato.
Uso Requerido
Valor Prefijado 1.1
Tipo Especial xs:string
RFC
Descripción Atributo requerido para expresar el RFC del contribuyente que envía los
datos
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Mes
Descripción Atributo requerido para expresar el mes al que corresponde la balanza de
comprobación
Uso requerido
Tipo Base xs:string
Valores Permitidos 01 02 03 04 05 06 07 08 09 10 11 12 13
48
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Anio
Descripción Atributo requerido para expresar el año al que corresponde la balanza
Uso requerido
Tipo Base xs:int
Valor Mínimo Incluyente 2015
Valor Máximo Incluyente 2099
TipoEnvio
Descripción Atributo requerido para expresar el tipo de envío de la balanza (N - Normal; C
- Complementaria)
Uso requerido
Tipo Base xs:string
Patrón [NC]
FechaModBal
Descripción Atributo opcional para expresar la fecha de la última modificación contable de
la balanza de comprobación. Es requerido cuando el atributo TipoEnvio = C.
Se convierte en requerido cuando se cuente con la información.
Uso opcional
Tipo Especial xs:date
Sello
Descripción Atributo opcional para contener el sello digital del archivo de contabilidad
electrónica. El sello deberá ser expresado cómo una cadena de texto en
formato Base 64
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
noCertificado
Descripción Atributo opcional para expresar el número de serie del certificado de sello
digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse
correspondiente a 20 posiciones otorgado por el sistema del SAT.
Uso opcional
Tipo Base xs:string
Longitud 20
Certificado
Descripción Atributo opcional que sirve para expresar el certificado de sello digital que
ampara al archivo de contabilidad electrónica como texto, en formato base
64.
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
49
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo obligatorio para expresar el detalle de cada cuenta o subcuenta de la balanza de comprobación.
Atributos
NumCta
Descripción Atributo requerido para expresar la clave asignada con que se distingue la
cuenta o subcuenta en el catálogo de cuentas del contribuyente.
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 100
SaldoIni
Descripción Atributo requerido para expresar el monto del saldo inicial de la cuenta o
subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o
subcuenta, deberá de corresponder el saldo inicial, de lo contrario se
entenderá que es un saldo inicial de naturaleza inversa. En caso de no existir
dato, colocar cero (0)
Uso requerido
50
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Debe
Descripción Atributo requerido para expresar el monto de los movimientos deudores de la
cuenta o subcuenta. En caso de no existir dato, colocar cero (0)
Uso requerido
Tipo Especial BCE:t_Importe
Haber
Descripción Atributo requerido para expresar el monto de los movimientos acreedores de
la cuenta o subcuenta. En caso de no existir dato, colocar cero (0)
Uso requerido
Tipo Especial BCE:t_Importe
SaldoFin
Descripción Atributo requerido para expresar el monto del saldo final de la cuenta o
subcuenta en el periodo. De acuerdo a la naturaleza de la cuenta o
subcuenta, deberá de corresponder el saldo final, de lo contrario se
entenderá que es un saldo final de naturaleza inversa. En caso de no existir
dato, colocar cero (0)
Uso requerido
Tipo Especial BCE:t_Importe
Tipos Simples
Tipo Simple Global: t_Importe
Descripción
Tipo definido para expresar importes numéricos con fracción hasta dos decimales
Definición
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>
51
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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>
52
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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>
53
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
54
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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:
55
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
56
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
57
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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+H
g5q8aYhya63If2HVqH1sA08poer080P1J6Z+BwTrQkhcb5Jw8jENXoErkFE8qdOcIdFFAuZPVT+9mkTb0Xn5E
mu5U8=
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
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.
58
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
59
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
60
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
61
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Estándar de pólizas del periodo que se entrega como parte de la contabilidad electrónica.
Atributos
Version
Descripción Atributo requerido para expresar la versión del formato.
Uso requerido
Valor Prefijado 1.1
Tipo Especial xs:string
RFC
Descripción Atributo requerido para expresar el RFC del contribuyente que envía los
datos
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Mes
Descripción Atributo requerido para expresar el mes al que corresponde la póliza
Uso requerido
Tipo Base xs:string
Valores Permitidos 01 02 03 04 05 06 07 08 09 10 11 12
Anio
Descripción Atributo requerido para expresar el año al que corresponde la póliza
Uso requerido
Tipo Base xs:int
Valor Mínimo Incluyente 2015
Valor Máximo Incluyente 2099
TipoSolicitud
Descripción Atributo requerido para expresar el tipo de solicitud de la póliza ( AF - Acto de
Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO -
Compensación )
Uso requerido
Tipo Base xs:string
Patrón AF|FC|DE|CO
NumOrden
Descripción Atributo opcional para expresar el número de orden asignado al acto de
fiscalización al que hace referencia la solicitud de la póliza. Requerido para
tipo de solicitud = AF y FC. Se convierte en requerido cuando se cuente con
la información.
Uso opcional
Tipo Base xs:string
62
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Longitud 13
Patrón [A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}
NumTramite
Descripción Atributo opcional para expresar el número de trámite asignado a la solicitud
de devolución o compensación al que hace referencia la solicitud de la póliza.
Requerido para tipo de solicitud = DE o CO. Se convierte en requerido
cuando se cuente con la información.
Uso opcional
Tipo Base xs:string
Longitud 10
Patrón [0-9]{10}
Sello
Descripción Atributo opcional para contener el sello digital del archivo de contabilidad
electrónica. El sello deberá ser expresado cómo una cadena de texto en
formato Base 64
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
noCertificado
Descripción Atributo opcional para expresar el número de serie del certificado de sello
digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse
correspondiente a 20 posiciones otorgado por el sistema del SAT.
Uso opcional
Tipo Base xs:string
Longitud 20
Certificado
Descripción Atributo opcional que sirve para expresar el certificado de sello digital que
ampara al archivo de contabilidad electrónica como texto, en formato base
64.
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
63
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza.
Atributos
NumUnIdenPol
Descripción Atributo requerido para expresar el número único de identificación de la
póliza. El campo deberá contener la clave o nombre utilizado por el
contribuyente para diferenciar, el tipo de póliza y el número correspondiente.
En un mes ordinario no debe repetirse un mismo número de póliza con la
clave o nombre asignado por el contribuyente.
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 50
Fecha
Descripción Atributo requerido para expresar la fecha de registro de la póliza
Uso requerido
Tipo Especial xs:date
Concepto
Descripción Atributo requerido para expresar el concepto de la operación
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 300
64
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
65
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
66
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
67
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo obligatorio para relacionar el detalle de cada transacción dentro de la póliza
Atributos
NumCta
Descripción Atributo requerido para expresar la clave con que se distingue la cuenta o
subcuenta que se afecta por la transacción.
Uso Requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 100
DesCta
Descripción Atributo requerido para expresar el nombre de la cuenta o subcuenta que se
afecta por la transacción.
Uso Requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 100
Concepto
Descripción Atributo requerido para expresar el concepto de la transacción
Uso Requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 200
Debe
Descripción Atributo requerido para expresar el monto del cargo a la cuenta o subcuenta
que se afecta en la transacción. En caso de no existir dato, colocar cero (0)
Uso Requerido
Tipo Especial PLZ:t_Importe
Haber
Descripción Atributo requerido para expresar el monto del abono a la cuenta o subcuenta
que se afecta en la transacción. En caso de no existir dato, colocar cero (0)
Uso Requerido
Tipo Especial PLZ:t_Importe
68
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
69
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la
transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el
pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido
cuando se cuente con la información.
Atributos
UUID_CFDI
Descripción Atributo requerido para expresar la clave UUID del CFDI soporte de la
operación. (36 caracteres)
Uso Requerido
Tipo Base xs:string
Longitud 36
Espacio en Blanco Colapsar
Patrón [a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}
RFC
Descripción Atributo requerido para expresar el RFC relacionado con el movimiento o
transacción. El RFC al que se hace referencia, es el distinto del contribuyente
que envía los datos, es decir, el RFC del tercero vinculado.
Uso Requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
MontoTotal
Descripción Atributo requerido para expresar el monto total del CFDI que soporte la
transacción. (Incluye IVA en su caso)
Uso Requerido
Tipo Especial PLZ:t_Importe
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso Opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso Opcional
70
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
71
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
72
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se
vean afectadas. Se convierte en requerido cuando se cuente con la información.
Atributos
CFD_CBB_Serie
Descripción Atributo opcional para expresar la serie del comprobante CFD_CBB que
soporte la transacción.
Uso Opcional
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 10
Patrón [A-Z]+
CFD_CBB_NumFol
Descripción Atributo requerido para expresar el número de folio del comprobante
CFD_CBB que soporte la transacción.
Uso Requerido
Tipo Base xs:integer
Dígitos Totales 20
Valor Mínimo Incluyente 1
RFC
Descripción Atributo requerido para expresar el RFC relacionado con el movimiento o
transacción. El RFC al que se hace referencia, es el distinto del contribuyente
que envía los datos, es decir, el RFC del tercero vinculado.
Uso Requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
MontoTotal
Descripción Atributo requerido para expresar el monto total del CFD y/o CBB que soporte
la transacción. (Incluye IVA en su caso)
Uso Requerido
Tipo Especial PLZ:t_Importe
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso Opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso Opcional
Tipo Base xs:decimal
73
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Dígitos Totales 19
Valor Mínimo Incluyente 0
Posiciones Decimales 5
74
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
75
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido
cuando se cuente con la información.
Atributos
NumFactExt
Descripción Atributo requerido para expresar la clave numérico o alfanumérico del
comprobante de origen extranjero que soporte la operación
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 36
Espacio en Blanco Colapsar
TaxID
Descripción Atributo opcional que sirve para expresar el Identificador del contribuyente
extranjero. Se convierte en requerido cuando se cuente con la información
Uso opcional
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 30
Espacio en Blanco Colapsar
MontoTotal
Descripción Atributo requerido para expresar el monto total del comprobante de origen
extranjero que soporte la operación.
Uso requerido
Tipo Especial PLZ:t_Importe
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso opcional
Tipo Base xs:decimal
Dígitos Totales 19
76
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
77
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
78
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo opcional para relacionar el detalle de los cheques que integran la póliza. Se convierte en requerido
cuando exista una salida de recursos, que involucre este método de pago de la obligación contraída por parte
del contribuyente que envía los datos
Atributos
Num
Descripción Atributo requerido para expresar el número del cheque emitido
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 20
BanEmisNal
Descripción Atributo requerido, para expresar el Banco nacional emisor del cheque, de
acuerdo al catálogo publicado en la página de internet del SAT. Se
consideran banco nacional aquellos bancos de residencia nacional,
indistintamente, si el tipo de moneda es nacional o extranjero.
Uso requerido
Tipo Especial contelec_td:c_Banco
BanEmisExt
Descripción Atributo opcional para expresar el nombre completo del Banco extranjero
emisor del cheque. Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Base xs:string
Longitud Máxima 150
79
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
CtaOri
Descripción Atributo requerido para expresar el número de cuenta bancaria del origen de
los recursos.
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 50
Fecha
Descripción Atributo requerido, es la fecha del cheque
Uso requerido
Tipo Especial xs:date
Benef
Descripción Atributo requerido, nombre del beneficiario del cheque
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 300
RFC
Descripción Atributo requerido para expresar el RFC relacionado con el movimiento. El
RFC al que se hace referencia, es el distinto del contribuyente que envía los
datos, es decir, el RFC del tercero vinculado.
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Monto
Descripción Atributo requerido, es el monto del cheque emitido
Uso requerido
Tipo Especial PLZ:t_Importe
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso opcional
Tipo Base xs:decimal
Dígitos Totales 19
80
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
81
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
82
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo opcional para relacionar el detalle de las transferencias bancarias que integran la póliza. Se convierte en
requerido cuando exista una salida de recursos que involucre este método de pago por parte del contribuyente
que envía los datos. Además se convierte en requerido cuando se realicen transacciones, entre las cuentas
propias del contribuyente.
Atributos
CtaOri
Descripción Atributo opcional para expresar el número de cuenta de origen desde la cual
se transfieren los recursos. Se convierte en requerido cuando se cuente con
la información.
Uso opcional
Tipo Base xs:string
Longitud Mínima 1
83
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Longitud Máxima 50
BancoOriNal
Descripción Atributo requerido, para expresar el Banco de la cuenta origen de la
transferencia, de acuerdo al catálogo publicado en la página de internet del
SAT. Se considera banco nacional aquellos bancos de residencia nacional,
indistintamente, si el tipo de moneda es nacional o extranjero.
Uso requerido
Tipo Especial contelec_td:c_Banco
BancoOriExt
Descripción Atributo opcional para expresar el nombre completo del banco origen
extranjero. Se convierte en requerido cuando se cuente con la información.
Uso opcional
Tipo Base xs:string
Longitud Máxima 150
CtaDest
Descripción Atributo requerido para expresar el número de cuenta destino, la cual se
transfieren los recursos.
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 50
BancoDestNal
Descripción Atributo requerido, para expresar el Banco de la cuenta destino de la
transferencia, de acuerdo al catálogo publicado en la página de internet del
SAT. Se considera banco nacional aquellos bancos de residencia nacional,
indistintamente, si el tipo de moneda es nacional o extranjero.
Uso requerido
Tipo Especial contelec_td:c_Banco
BancoDestExt
Descripción Atributo opcional para expresar el nombre completo del banco destino
extranjero. Se convierte en requerido cuando se cuente con la información.
Uso opcional
Tipo Base xs:string
Longitud Máxima 150
Fecha
Descripción Atributo requerido, es la fecha de la transferencia
Uso requerido
Tipo Especial xs:date
Benef
Descripción Atributo requerido, nombre del beneficiario de la transferencia.
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 300
RFC
Descripción Atributo requerido para expresar el RFC relacionado con el movimiento. El
RFC al que se hace referencia, es el distinto del contribuyente que envía los
datos, es decir, el RFC del tercero vinculado.
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Monto
84
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso opcional
Tipo Base xs:decimal
Dígitos Totales 19
Valor Mínimo Incluyente 0
Posiciones Decimales 5
85
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo opcional para relacionar otros métodos de pago de la transacción. Se convierte en requerido cuando la
transacción involucra un método de pago diverso a cheque y/o transferencia.
Atributos
MetPagoPol
Descripción Atributo requerido para expresar el método de pago de la operación, de
acuerdo al catálogo publicado en la página de internet del SAT.
Uso requerido
Tipo Especial contelec_td:c_MetPagos
Fecha
Descripción Atributo requerido, es la fecha de la transacción de otros métodos de pago.
Uso requerido
Tipo Especial xs:date
86
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Benef
Descripción Atributo requerido, nombre de la persona o contribuyente a la cual se realiza
éstos métodos de pago.
Uso requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 300
RFC
Descripción Atributo requerido para expresar el RFC relacionado con la transacción. El
RFC al que se hace referencia, es el distinto del contribuyente que envía los
datos, es decir, el RFC del tercero vinculado.
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Monto
Descripción Atributo requerido para expresar el monto del método de pago soporte de la
transacción.
Uso requerido
Tipo Especial PLZ:t_Importe
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso Opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso Opcional
Tipo Base xs:decimal
Dígitos Totales 19
Valor Mínimo Incluyente 0
Posiciones Decimales 5
Tipos Complejos
Tipos Simples
Tipo Simple Global: t_Importe
Descripción
Tipo definido para expresar importes numéricos con fracción hasta dos decimales
Definición
87
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Incluyente
Posiciones Decimales 2
Espacio en Blanco Colapsar
Código Fuente
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:PLZ="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:contelec_td="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE"
targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/PolizasPeriodo" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE"
schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogosParaEsqContE/CatalogosParaEsqContE.x
sd"/>
<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>
88
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
89
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
90
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
91
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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">
92
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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">
93
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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">
94
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
95
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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>
96
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
97
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
98
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
99
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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).
100
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
101
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
102
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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 Valor Valor Elemento Valor B64 Valor Elemento Valor B64 Valor ASCII
del B64 ASCII del ASCII del
Alfabeto Alfabeto Alfabeto
0 A 65 23 X 88 46 u 117
103
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
GqDiRrea6+E2wQhqOCVzwME4866yVEME/8PD1S1g6AV48D8VrLhKUDq0Sjqnp9IwfMAbX0ggwUCLRKa+H
g5q8aYhya63If2HVqH1sA08poer080P1J6Z+BwTrQkhcb5Jw8jENXoErkFE8qdOcIdFFAuZPVT+9mkTb0Xn5E
mu5U8=
El archivo XML con la información de las pólizas del periodo deberá enviarse comprimido en formato ZIP con
la nomenclatura siguiente:
104
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
se envía. envía.
Ejemplos:
Persona Moral
Ejemplo
Persona Física
Ejemplo
105
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
1. Estándar del formato reporte auxiliar de folios de los comprobantes fiscales de contabilidad
electrónica
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.
Ejemplos:
Para representar nombre=“Juan & José & “Niño”” se usará nombre=”Juan & José &
"Niño"”
106
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
107
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
108
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Estándar de reporte auxiliar de folios de los comprobantes fiscales de las pólizas que se entrega como parte de
las pólizas de la contabilidad electrónica.
Atributos
Version
Descripción Atributo requerido para expresar la versión del formato.
Uso requerido
Valor Prefijado 1.2
Tipo Especial xs:string
RFC
Descripción Atributo requerido para expresar el RFC del contribuyente que envía los
datos
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
109
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Mes
Descripción Atributo requerido para expresar el mes en que inicia la vigencia del reporte
auxiliar de los folios de los comprobantes fiscales de las pólizas.
Uso requerido
Tipo Base xs:string
Valores Permitidos 01 02 03 04 05 06 07 08 09 10 11 12
Anio
Descripción Atributo requerido para expresar el año al que inicia la vigencia del reporte
auxiliar de los folios de los comprobantes fiscales de las pólizas.
Uso requerido
Tipo Base xs:int
Valor Mínimo Incluyente 2015
Valor Máximo Incluyente 2099
TipoSolicitud
Descripción Atributo requerido para expresar el tipo de solicitud del reporte auxiliar de los
folios de los comprobantes fiscales de las pólizas. ( AF - Acto de
Fiscalización; FC - Fiscalización Compulsa; DE - Devolución; CO -
Compensación )
Uso requerido
Tipo Base xs:string
Patrón AF|DE|CO|FC
NumOrden
Descripción Atributo opcional para expresar el número de orden asignado al acto de
fiscalización al que hace referencia el reporte auxiliar de los folios de los
comprobantes fiscales de las pólizas. Requerido para tipo de solicitud = AF y
FC. Se convierte en requerido cuando se cuente con la información.
Uso opcional
Tipo Base xs:string
Longitud 13
Patrón [A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}
NumTramite
Descripción Atributo opcional para expresar el número de trámite asignado a la solicitud
de devolución o compensación al que hace referencia el reporte auxiliar de
los folios de los comprobantes fiscales de las pólizas. Requerido para tipo de
solicitud = DE o CO. Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Base xs:string
Longitud 10
Patrón [0-9]{10}
Sello
Descripción Atributo opcional para contener el sello digital del archivo de contabilidad
electrónica. El sello deberá ser expresado cómo una cadena de texto en
formato Base 64
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
noCertificado
Descripción Atributo opcional para expresar el número de serie del certificado de sello
digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse
correspondiente a 20 posiciones otorgado por el sistema del SAT.
Uso opcional
110
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Certificado
Descripción Atributo opcional que sirve para expresar el certificado de sello digital que
ampara al archivo de contabilidad electrónica como texto, en formato base
64.
Uso opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
111
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo opcional para expresar el detalle de los folios de los comprobantes fiscales que integran la póliza.
Atributos
NumUnIdenPol
Uso requerido
Longitud Mínima 1
Longitud Máxima 50
Fecha
Uso requerido
112
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
113
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la
transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el
pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido
cuando se cuente con la información.
Atributos
UUID_CFDI
Descripción Atributo requerido para expresar la clave UUID del CFDI soporte de la
operación. (36 caracteres)
Uso requerido
Tipo Base xs:string
Longitud 36
Espacio en Blanco Colapsar
Patrón [a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}
MontoTotal
Descripción Atributo requerido para expresar el monto total del CFDI que soporte la
operación (Incluye IVA en su caso)
Uso requerido
Tipo Especial RepAux:t_importe
RFC
Descripción Atributo requerido para expresar el RFC relacionado con la operación. El
RFC al que se hace referencia, es el distinto del contribuyente que envía los
datos, es decir, el RFC del tercero vinculado.
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
MetPagoAux
Descripción Atributo opcional para expresar el método de pago de la operación, de
acuerdo al catálogo publicado en la página de internet del SAT. Se convierte
en requerido cuando se cuente con la información.
Uso opcional
Tipo Especial contelec_td:c_MetPagos
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso opcional
114
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
115
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
116
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo opcional para relacionar el detalle de los comprobantes de origen nacional relacionados con la
transacción, diferente a CFDI, es decir, CFD y/o CBB. Se considera que se debe identificar, el soporte
documental, tanto en la provisión, como en el pago y/o cobro de cada una de las cuentas y subcuentas que se
vean afectadas. Se convierte en requerido cuando se cuente con la información.
Atributos
CFD_CBB_Serie
Descripción Atributo opcional para expresar la serie del comprobante CFD_CBB que
soporte la operación.
Uso opcional
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 10
Patrón [A-Z]+
CFD_CBB_NumFol
Descripción Atributo requerido para expresar el número de folio del comprobante
CFD_CBB que soporte la operación.
Uso requerido
Tipo Base xs:integer
Dígitos Totales 20
Valor Mínimo Incluyente 1
MontoTotal
Descripción Atributo requerido para expresar el monto total del CFD y/o CBB que soporte
la operación. (Incluye IVA en su caso)
Uso requerido
Tipo Especial RepAux:t_importe
RFC
Descripción Atributo requerido para expresar el RFC relacionado con la operación. El
RFC al que se hace referencia, es el distinto del contribuyente que envía los
datos, es decir, el RFC del tercero vinculado.
Uso requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
MetPagoAux
Descripción Atributo opcional para expresar el método de pago de la operación, de
acuerdo al catálogo publicado en la página de internet del SAT. Se convierte
en requerido cuando se cuente con la información.
Uso opcional
Tipo Especial contelec_td:c_MetPagos
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso opcional
117
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso opcional
Tipo Base xs:decimal
Dígitos Totales 19
Valor Mínimo Incluyente 0
Posiciones Decimales 5
118
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo opcional para relacionar el detalle de los comprobantes de origen extranjero relacionados con la
transacción. Se considera que se debe identificar, el soporte documental, tanto en la provisión, como en el
pago y/o cobro de cada una de las cuentas y subcuentas que se vean afectadas. Se convierte en requerido
cuando se cuente con la información.
Atributos
NumFactExt
Descripción Atributo requerido para expresar la clave numérico o alfanumérico del
119
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
TaxID
Descripción Atributo opcional que sirve para expresar el Identificador del contribuyente
extranjero. Se convierte en requerido cuando se cuente con la información
Uso opcional
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 30
Espacio en Blanco Colapsar
MontoTotal
Descripción Atributo requerido para expresar el monto total del comprobante de origen
extranjero que soporte la operación.
Uso requerido
Tipo Especial RepAux:t_importe
MetPagoAux
Descripción Atributo opcional para expresar el método de pago de la operación, de
acuerdo al catálogo publicado en la página de internet del SAT. Se convierte
en requerido cuando se cuente con la información.
Uso opcional
Tipo Especial contelec_td:c_MetPagos
Moneda
Descripción Atributo opcional para expresar el tipo de moneda utilizado en la transacción,
de acuerdo al catálogo publicado en la página de internet del SAT. Este dato
sólo se utiliza en el caso de que el tipo de moneda, sea diferente a la moneda
nacional (peso). Se convierte en requerido cuando se cuente con la
información.
Uso opcional
Tipo Especial contelec_td:c_Moneda
TipCamb
Descripción Atributo opcional para expresar el tipo de cambio utilizado de acuerdo al tipo
de moneda. Este dato sólo se utiliza en el caso de que el tipo de moneda,
sea diferente a la moneda nacional (peso). Se convierte en requerido cuando
se cuente con la información.
Uso opcional
Tipo Base xs:decimal
Dígitos Totales 19
Valor Mínimo Incluyente 0
Posiciones Decimales 5
Tipos Simples
Tipo Simple Global: t_importe
Descripción
Definición
120
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.x
sd"/>
<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>
121
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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>
122
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
123
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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>
124
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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">
125
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
126
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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
127
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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”).
128
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
129
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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 Valor Valor Elemento Valor B64 Valor Elemento Valor B64 Valor ASCII
del B64 ASCII del ASCII del
Alfabeto Alfabeto Alfabeto
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
130
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Ejemplos:
Persona Moral
Ejemplo
RFC Ejercicio Periodo Clave Extensión
BBB010101AB1 2015 01 XF .zip
Persona Física
Ejemplo
RFC Ejercicio Periodo Clave Extensión
AAAA010101AB1 2015 01 XF .zip
131
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
132
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
133
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Estándar de auxiliar de la cuenta o subcuenta del periodo que se entrega como parte de la contabilidad
electrónica
Atributos
Version
Descripción Atributo requerido para expresar la versión del formato.
Uso Requerido
Valor Prefijado 1.1
134
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
RFC
Descripción Atributo requerido para expresar el RFC del contribuyente que envía los
datos.
Uso Requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
Mes
Descripción Atributo requerido para expresar el mes en que inicia la vigencia del auxiliar
de la cuenta o subcuenta.
Uso Requerido
Tipo Base xs:string
Valores Permitidos 01 02 03 04 05 06 07 08 09 10 11 12
Anio
Descripción Atributo requerido para expresar el año al que inicia la vigencia del auxiliar de
la cuenta o subcuenta.
Uso Requerido
Tipo Base xs:int
Valor Mínimo Incluyente 2015
Valor Máximo Incluyente 2099
TipoSolicitud
Descripción Atributo requerido para expresar el tipo de envío del auxiliar de la cuenta o
subcuenta ( AF - Acto de Fiscalización; FC - Fiscalización Compulsa; DE -
Devolución; CO - Compensación )
Uso Requerido
Tipo Base xs:string
Patrón AF|FC|DE|CO
NumOrden
Descripción Atributo opcional para expresar el número de orden asignado al acto de
fiscalización al que hace referencia la solicitud del auxiliar de la cuenta o
subcuenta. Requerido para tipo de solicitud = AF y FC. Se convierte en
requerido cuando se cuente con la información.
Uso Opcional
Tipo Base xs:string
Longitud 13
Patrón [A-Z]{3}[0-6][0-9][0-9]{5}(/)[0-9]{2}
NumTramite
Descripción Atributo opcional para expresar el número de trámite asignado a la solicitud
de devolución o compensación al que hace referencia el auxiliar de la cuenta
o subcuenta. Requerido para tipo de solicitud = DE o CO. Se convierte en
requerido cuando se cuente con la información.
Uso Opcional
Tipo Base xs:string
Longitud 10
Patrón [0-9]{10}
Sello
Descripción Atributo opcional para contener el sello digital del archivo de contabilidad
electrónica. El sello deberá ser expresado cómo una cadena de texto en
formato Base 64
Uso Opcional
135
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
noCertificado
Descripción Atributo opcional para expresar el número de serie del certificado de sello
digital que ampara el archivo de contabilidad electrónica, de acuerdo al acuse
correspondiente a 20 posiciones otorgado por el sistema del SAT.
Uso Opcional
Tipo Base xs:string
Longitud 20
Certificado
Descripción Atributo opcional que sirve para expresar el certificado de sello digital que
ampara al archivo de contabilidad electrónica como texto, en formato base
64.
Uso Opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
Descripción
136
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Nodo obligatorio para expresar los movimientos del periodo de cada uno de los auxiliares de la cuenta y/o
subcuenta.
Atributos
NumCta
Descripción Atributo requerido para expresar la clave con que se distingue la cuenta o
subcuenta que se afecta por la transacción que integra el auxiliar.
Uso Requerido
Longitud Mínima 1
DesCta
Uso requerido
Longitud Mínima 1
SaldoIni
Descripción Atributo requerido para expresar el monto del saldo inicial de la cuenta o
subcuenta del periodo del auxiliar. En caso de no existir dato, colocar cero (0)
Uso requerido
SaldoFin
Descripción Atributo requerido para expresar el monto del saldo final de la cuenta o
subcuenta del periodo del auxiliar. En caso de no existir dato, colocar cero (0)
Uso requerido
137
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Nodo obligatorio para expresar el detalle de los movimientos del periodo de cada uno de los auxiliares
Atributos
Fecha
Descripción Atributo requerido para expresar la fecha de registro de la transacción que
afecta la cuenta o subcuenta que integra el auxiliar.
Uso Requerido
Tipo Especial xs:date
NumUnIdenPol
Descripción Atributo requerido para expresar el número único de identificación de la
póliza. El campo deberá contener la clave o nombre utilizado por el
contribuyente para diferenciar, el tipo de póliza y el número correspondiente.
138
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Concepto
Descripción Atributo requerido para expresar el concepto de la transacción que integra el
auxiliar.
Uso Requerido
Tipo Base xs:string
Longitud Mínima 1
Longitud Máxima 200
Debe
Descripción Atributo requerido para expresar el monto del cargo de la cuenta o subcuenta
de la transacción que integra el auxiliar. En caso de no existir dato, colocar
cero (0)
Uso Requerido
Tipo Especial AuxiliarCtas:t_importe
Haber
Descripción Atributo requerido para expresar el monto del abono de la cuenta o
subcuenta de la transacción que integra el auxiliar. En caso de no existir
dato, colocar cero (0)
Uso Requerido
Tipo Especial AuxiliarCtas:t_importe
Tipos Simples
Tipo Simple Global: t_importe
Descripción
Definición
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">
139
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<xs:element name="DetalleAux"
maxOccurs="unbounded">
<xs:annotation>
140
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Concepto" use="required">
<xs:annotation>
<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>
141
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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]?"/>
142
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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>
143
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
144
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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:
145
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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
146
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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 Valor Valor Elemento Valor B64 Valor Elemento Valor B64 Valor ASCII
del B64 ASCII del ASCII del
Alfabeto Alfabeto Alfabeto
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
147
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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+H
g5q8aYhya63If2HVqH1sA08poer080P1J6Z+BwTrQkhcb5Jw8jENXoErkFE8qdOcIdFFAuZPVT+9mkTb0Xn5E
mu5U8=
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
4 caracteres 2 caracteres que
12 o 13 caracteres,
que identifican identifican el número Caracteres ".ZIP"
correspondientes al RFC Caracteres "XC" que
el año al que de mes al que que identifican un
del contribuyente, ya sea identifican el tipo de
corresponde la corresponde la archivo
Persona Moral o Persona información que se envía.
información que información que se comprimido.
Física.
se envía. envía.
Ejemplos:
Persona Moral
Ejemplo
RFC Ejercicio Periodo Clave Extensión
BBB010101AB1 2015 01 XC .zip
Persona Física
Ejemplo
RFC Ejercicio Periodo Clave Extensión
AAAA010101AB1 2015 01 XC .zip
148
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
149
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Descripción
Documento requerido para el Sello Digital del SAT que da constancia de recibo del archivo de la contabilidad
electrónica.
Atributos
Version
Descripción Atributo requerido para expresar la versión del estándar del Sello Digital.
Uso Requerido
Valor Prefijado 1.1
150
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
Folio
Descripción Atributo requerido para expresar los 22 caracteres del folio asignado por el
SAT en la recepción de los archivos.
Uso Requerido
Tipo Base xs:string
Espacio en Blanco Colapsar
Patrón [0-9]{3}[1-5][0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12|13)[0-9]{14}
RFC
Descripción Atributo requerido para expresar el RFC del contribuyente que envía los
datos
Uso Requerido
Tipo Base xs:string
Longitud Mínima 12
Longitud Máxima 13
Espacio en Blanco Colapsar
Patrón [A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z0-9]?[A-Z0-9]?[0-9A-Z]?
FechadeSello
Descripción Atributo requerido para expresar la fecha y hora de la generación del Sello
digital del SAT. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo
con la especificación ISO 8601
Uso Requerido
Tipo Base xs:dateTime
Espacio en Blanco Colapsar
sello
Descripción Atributo opcional para contener el sello digital del archivo de contabilidad
electrónica, que corresponda. El sello deberá ser expresado cómo una
cadena de texto en formato Base 64.
Uso Opcional
Tipo Base xs:string
Espacio en Blanco Colapsar
noCertificadoSAT
Descripción Atributo requerido para expresar el número de serie del certificado del SAT
usado para generar el sello digital.
Uso Requerido
Tipo Base xs:string
Longitud 20
Espacio en Blanco Colapsar
selloSAT
Descripción Atributo requerido para contener el sello digital del SAT. El sello deberá ser
expresado cómo una cadena de texto en formato Base 64.
Uso Requerido
Tipo Base xs:string
Espacio en Blanco Colapsar
Código Fuente
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:sellodigital="www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="www.sat.gob.mx/esquemas/ContabilidadE/1_1/SelloDigitalContElec" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="SelloDigitalContElec">
<xs:annotation>
<xs:documentation>Documento requerido para el Sello Digital del SAT que da constancia de
recibo del archivo de la contabilidad electrónica.</xs:documentation>
151
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
</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">
152
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
<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>
153
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
154
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
155
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
156
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
157
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
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.
158
Lunes 5 de enero de 2015 DIARIO OFICIAL (Tercera Sección)
159