catalogo decuentaselectronico

Upload: cristian-saenz

Post on 26-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 catalogo deCuentaselectronico

    1/13

    1

    Contenido

    Formato catlogo de cuentas

    1. Estndar del formato catlogo de cuentas de contabilidad electrnica2. Generacin opcional de sellos digitales

    1. Estndar del Formato Catlogo de Cuentas de Contabilidad Electrnica

    El contribuyente deber utilizar el siguiente estndar XSD, validando su forma y sintaxis en un archivo conextensin XML.

    Para poder ser validado, el catlogo de cuentas de contabilidad electrnica deber estar referenciado alnamespace y ruta publicada por el SAT en donde se encuentra el esquema XSD objeto de la presente seccin(http://www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd) de lasiguiente manera:

    .........

    Adicionalmente a las reglas de estructura planteadas dentro del presente estndar, el contribuyente que utiliceeste estndar deber sujetarse tanto a las disposiciones fiscales vigentes, como a los lineamientos tcnicos deforma y sintaxis para la generacin de archivos XML especificados por el consorcio w3, establecidos enhttp://www.w3.org.

    En particular se deber tener cuidado de que aquellos casos especiales que se presenten en los valoresespecificados dentro de los atributos del archivo XML como aquellos que usan el carcter &, el carcter , el

    carcter , el carcter < y el carcter > que requieren del uso de secuencias de escape.

    En el caso del & se deber usar la secuencia & En el caso del se deber usar la secuencia " En el caso del < se deber usar la secuencia se deber usar la secuencia > En el caso del se deber usar la secuencia '

    Ejemplos:

    Para representar nombre=Juan & Jos & Nio se usar nombre=Juan & Jos & "Nio"

    Cabe mencionar que la especificacin XML permite el uso de secuencias de escape para el manejo decaracteres acentuados y el carcter , sin embargo, dichas secuencias de escape no son necesarias al expresarel documento XML bajo el estndar de codificacin UTF-8 si fue creado correctamente.

    Estructura

    Elementos

    Elemento: Catalogo

    Diagrama

  • 7/25/2019 catalogo deCuentaselectronico

    2/13

    2

  • 7/25/2019 catalogo deCuentaselectronico

    3/13

    3

    Descripcin

    Estndar de catlogo de cuentas que se entrega como parte de la contabilidad electrnica.

    Atributos

    Version

    Descripcin Atributo requerido para expresar la versin del formato

    Uso requeridoValor Prefijado 1.1Tipo Especial xs:string

    RFC

    Descripcin Atributo requerido para expresar el RFC del contribuyente queenva los datos

    Uso requeridoTipo Base xs:stringLongitud Mnima 12Longitud Mxima 13Patrn [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

    Descripcin Atributo requerido para expresar el mes en que inicia la vigenciadel catlogo para la balanza

    Uso requeridoTipo Base xs:stringValores Permitidos 01

    02030405060708

    09101112

    Anio

    Descripcin Atributo requerido para expresar el ao en que inicia la vigenciadel catlogo para la balanza

    Uso requeridoTipo Base xs:intValor MnimoIncluyente

    2015

    Valor MximoIncluyente

    2099

    Sello

    Descripcin Atributo opcional para contener el sello digital del archivo decontabilidad electrnica. El sello deber ser expresado cmo unacadena de texto en formato Base 64

    Uso opcionalTipo Base xs:stringEspacio en Blanco Colapsar

  • 7/25/2019 catalogo deCuentaselectronico

    4/13

    4

    noCertificado

    Descripcin Atributo opcional para expresar el nmero de serie del certificadode sello digital que ampara el archivo de contabilidad electrnica,de acuerdo al acuse correspondiente a 20 posiciones otorgadopor el sistema del SAT.

    Uso opcionalTipo Base xs:stringLongitud 20

    Certificado

    Descripcin Atributo opcional que sirve para expresar el certificado de sellodigital que ampara al archivo de contabilidad electrnica comotexto, en formato base 64.

    Uso opcionalTipo Base xs:stringEspacio en Blanco Colapsar

    Elementos Hijo (min,max)

    Secuencia (1, 1) Ctas (1, Ilimitado)

    Elemento: Ctas

    Diagrama

  • 7/25/2019 catalogo deCuentaselectronico

    5/13

    5

  • 7/25/2019 catalogo deCuentaselectronico

    6/13

    6

    Descripcin

    Nodo obligatorio para expresar el detalle de cada cuenta y subcuenta del catlogo.

    Atributos

    CodAgrup

    Descripcin Atributo requerido para expresar el cdigo asociador de cuentas

    y subcuentas conforme al catlogo publicado en la pgina deinternet del SAT. Se debe asociar cada cuenta y subcuenta quesea ms apropiado de acuerdo con la naturaleza ypreponderancia de la cuenta o subcuenta.

    Uso requeridoTipo Especial contelec_td:c_CodAgrup

    NumCta

    Descripcin Atributo requerido, es la clave con que se distingue la cuenta osubcuenta en la contabilidad

    Uso requeridoTipo Base xs:stringLongitud Mnima 1Longitud Mxima 100

    Desc

    Descripcin Atributo requerido para expresar el nombre de la cuenta osubcuenta

    Uso requeridoTipo Base xs:stringLongitud Mnima 1Longitud Mxima 400

    SubCtaDe

    Descripcin Atributo opcional en el caso de subcuentas. Sirve para expresarla clave de la cuenta a la que pertenece dicha subcuenta. Seconvierte en requerido cuando se cuente con la informacin.

    Uso opcionalTipo Base xs:stringLongitud Mnima 1Longitud Mxima 100

    Nivel

    Descripcin Atributo requerido para expresar el nivel en el que se encuentrala cuenta o subcuenta en el catlogo.

    Uso requeridoTipo Base xs:intValor MnimoIncluyente

    1

    NaturDescripcin 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 deorden = D y/o A ).

    Uso requeridoTipo Base xs:stringPatrn [DA]

  • 7/25/2019 catalogo deCuentaselectronico

    7/13

    7

    Cdigo Fuente

    Estndar de catlogo de cuentas que se entrega como parte dela contabilidad electrnica.

    Nodo obligatorio para expresar el

    detalle de cada cuenta y subcuenta del catlogo.

    Atributo requerido

    para expresar el cdigo asociador de cuentas y subcuentas conforme al catlogo publicado en la pgina deinternet del SAT. Se debe asociar cada cuenta y subcuenta que sea ms apropiado de acuerdo con lanaturaleza y preponderancia de la cuenta o subcuenta.

    Atributo requerido,

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

    Atributo requerido

    para expresar el nombre de la cuenta o subcuenta

  • 7/25/2019 catalogo deCuentaselectronico

    8/13

    8

    Atributo opcionalen el caso de subcuentas. Sirve para expresar la clave de la cuenta a la que pertenece dicha subcuenta. Seconvierte en requerido cuando se cuente con la informacin.

    Atributo requerido

    para expresar el nivel en el que se encuentra la cuenta o subcuenta en el catlogo.

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

    Atributo requerido para expresar la versin

    del formato

    Atributo requerido para expresar el RFC del

    contribuyente que enva los datos

    Atributo requerido para expresar el mes en

    que inicia la vigencia del catlogo para la balanza

  • 7/25/2019 catalogo deCuentaselectronico

    9/13

    9

    Atributo requerido para expresar el ao en

    que inicia la vigencia del catlogo para la balanza

    Atributo opcional para contener el sello digital

    del archivo de contabilidad electrnica. El sello deber ser expresado cmo una cadena de texto en formatoBase 64

    Atributo opcional para expresar el nmero de

    serie del certificado de sello digital que ampara el archivo de contabilidad electrnica, de acuerdo al acusecorrespondiente a 20 posiciones otorgado por el sistema del SAT.

    Atributo opcional que sirve para expresar el

    certificado de sello digital que ampara al archivo de contabilidad electrnica como texto, en formato base64.

  • 7/25/2019 catalogo deCuentaselectronico

    10/13

    10

    2. Generacin opcional de sellos digitales.

    Elementos utilizados en la generacin opcional de Sellos Digitales:

    Cadena Original, del elemento a sellar.

    Certificado de Sello Digital y su correspondiente clave privada.

    Algoritmos de criptografa de clave pblica para firma electrnica avanzada.

    Especificaciones de conversin de la firma electrnica avanzada a Base 64.

    Para la generacin de sellos digitales se utiliza criptografa de clave pblica aplicada a una cadena original.

    Criptografa de la Clave Pblica

    La criptografa de Clave Pblica se basa en la generacin de una pareja de nmeros muy grandes relacionadosntimamente entre s, de tal manera que una operacin de encripcin sobre un mensaje tomando como clave deencripcin a uno de los dos nmeros, produce un mensaje alterado en su significado que solo puede ser devuelto asu estado original mediante la operacin de desencripcin correspondiente tomando como clave de desencripcin alotro nmero de la pareja.

    Uno de estos dos nmeros, expresado en una estructura de datos que contiene un mdulo y un exponente, seconserva secreta y se le denomina "clave privada", mientras que el otro nmero llamado "clave pblica", en formatobinario y acompaado de informacin de identificacin del emisor, adems de una calificacin de validez por partede un tercero confiable, se incorpora a un archivo denominado "certificado de firma electrnica avanzada ocertificado para sellos digitales".

    El Certificado puede distribuirse libremente para efectos de intercambio seguro de informacin y para ofrecerpruebas de autora de archivos electrnicos o acuerdo con su contenido mediante el proceso denominado "firmaelectrnica avanzada ", que consiste en una caracterstica observable de un mensaje, verificable por cualquiera conacceso al certificado digital del emisor, que sirve para implementar servicios de seguridad para garantizar: Laintegridad (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 repudiacin delmensaje firmado (capacidad de impedir que el autor de la firma niegue haber firmado el mensaje).

    Estos servicios de seguridad proporcionan las siguientes caractersticas a un mensaje con firma electrnicaavanzada:

    Es infalsificable.

    La firma electrnica avanzada no es reciclable (es nica por mensaje).

    Un mensaje con firma electrnica avanzada alterado, es detectable. Un mensaje con firma electrnica avanzada, no puede ser repudiado.

    Los certificados de sello digital se generan de manera idntica a la firma electrnica avanzada y al igual que lasfirmas electrnicas avanzadas el propsito 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 cadenaoriginal, al sello digital y al certificado de sello digital del emisor.

    Al ser el certificado de sello digital idntico en su generacin a una firma electrnica avanzada, proporciona los

  • 7/25/2019 catalogo deCuentaselectronico

    11/13

    11

    mismos servicios de seguridad y hereda las caractersticas de las firmas digitales.

    Por consecuencia un archivo sellado digitalmente por el contribuyente tiene las siguientes caractersticas:

    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 generacin de un sello digital son los siguientes:

    SHA-1, que es una funcin hash (digestin, o resumen) de un solo sentido tal que para cualquier entrada produceuna salida compleja de 160 bits de salida, 80 para seguridad del mensaje y 80 para la identificacin del mensaje (20bytes) denominada digestin.

    SHA-2, que es una funcin hash (digestin o resumen) de un solo sentido tal que para cualquier entrada produceuna salida compleja de 256 bits de salida, 128 para seguridad del mensaje y 128 para la identificacin delmensaje (32 bytes) denominada digestin.

    RSAPrivateEncrypt, que utiliza la clave privada del emisor para encriptar la digestin del mensaje.

    RSAPublicDecrypt, que utiliza la clave pblica del emisor para desencriptar la digestin del mensaje.

    Cadena Original

    Se entiende como cadena original, a la secuencia de datos formada con la informacin contenida dentro del archivo,establecida en el Rubro A Estndar del Formato Catlogo de Cuentas de Contabilidad Electrnica 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 carcter | (pipe) debido a que este serutilizado como carcter de control en la formacin 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 informacin del dato sin expresar el atributo al que hace referencia. Esto es, si0 elvalor 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 carcter |(pipe sencillo).

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

    a. Se debern remplazar todos los tabuladores, retornos de carro y saltos de lnea por espacios en blanco.

    b. Acto seguido se elimina cualquier carcter en blanco al principio y al final de cada separador | (pipesencillo).

    c. Finalmente, toda secuencia de caracteres en blanco intermedias se sustituyen por un nico carcter enblanco.

    6. Los datos opcionales no expresados, no aparecern en la cadena original y no tendrn 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 codificacin UTF-8.

    Secuencia de Formacin:

    La secuencia de formacin ser siempre en el orden que se expresa a continuacin, tomando en cuenta las reglasgenerales expresadas en el prrafo anterior.

  • 7/25/2019 catalogo deCuentaselectronico

    12/13

    12

    1) Informacin del nodo Catalogoa) Versionb) RFCc) Mesd) Anio

    2) Informacin del nodo Ctasa) CodAgrup

    b) NumCtac) Descd) SubCtaDee) Nivelf) Natur

    Generacin del Sello Digital

    Para toda cadena original a ser sellada digitalmente, la secuencia de algoritmos a aplicar es la siguiente:

    I. Aplicar el mtodo de digestin SHA-1 a la cadena original a sellar. Este procedimiento genera una salida de 160bits (20 bytes) para todo mensaje. La posibilidad de encontrar dos mensajes distintos que produzcan una mismasalida es de 1 en 2(60-colision), y por lo tanto en esta posibilidad se basa la inalterabilidad del sello, as como su noreutilizacin. Es de hecho una medida de la integridad del mensaje sellado, pues toda alteracin del mismo

    provocar una digestin totalmente diferente, por lo que no se podr autentificar el mensaje.

    Aplicar el mtodo de digestin 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 salidano ha sido encontrada una colisin y por lo tanto en esta posibilidad se basa la inalterabilidad del sello, as como suno reutilizacin. Es de hecho una medida de la integridad del mensaje sellado, pues toda alteracin del mismoprovocar una digestin 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 digestin del mensajeobtenida en el paso I utilizando para ello el algoritmo de encripcin RSA.

    Nota: La mayor parte del software comercial podra generar los pasos I y II invocando una sola funcin yespecificando una constante simblica. En el SAT este procedimiento se hace en pasos separados, lo cual es

    totalmente equivalente. Es importante resaltar que prcticamente todo el software criptogrfico comercial incluyeAPIs o expone mtodos en sus productos que permiten implementar la secuencia de algoritmos aqu descrita. Laclave privada solo debe mantenerse en memoria durante la llamada a la funcin de encripcin; inmediatamentedespus de su uso debe ser eliminada de su registro de memoria mediante la sobre escritura de secuencias binariasalternadas de "unos" y "ceros".

    III.- El resultado ser una cadena binaria que no necesariamente consta de caracteres imprimibles, por lo quedeber traducirse a una cadena que s conste solamente de tales caracteres. Para ello se utilizar el modo deexpresin de secuencias de bytes denominado "Base 64", que consiste en la asociacin de cada 6 bits de lasecuencia a un elemento de un "alfabeto" que consta de 64 caracteres imprimibles. Puesto que con 6 bits se puedenexpresar los nmeros del 0 al 63, si a cada uno de estos valores se le asocia un elemento del alfabeto se garantizaque todo byte de la secuencia original puede ser mapeado a un elemento del alfabeto Base 64, y los dos bitsrestantes formarn parte del siguiente elemento a mapear. Este mecanismo de expresin de cadenas binariasproduce un incremento de 25% en el tamao de las cadenas imprimibles respecto de la original.

    La codificacin en base 64, as como su decodificacin, se har tomando los bloques a procesar en el sentido de sulectura, es decir, de izquierda a derecha.

    El alfabeto a utilizar se expresa en el siguiente catlogo:

    Elemento del

    Alfabeto

    ValorB64

    ValorASCII

    Elemento del

    Alfabeto

    ValorB64

    ValorASCII

    Elemento del

    Alfabeto

    ValorB64

    ValorASCII

  • 7/25/2019 catalogo deCuentaselectronico

    13/13

    13

    0 A 65 23 X 88 46 u 1171 B 66 24 Y 89 47 v 1182 C 67 25 Z 90 48 w 1193 D 68 26 a 97 49 x 1204 E 69 27 b 98 50 y 1215 F 70 28 c 99 51 z 1226 G 71 29 d 100 52 0 487 H 72 30 e 101 53 1 498 I 73 31 f 102 54 2 50

    9 J 74 32 g 103 55 3 5110 K 75 33 h 104 56 4 5211 L 76 34 i 105 57 5 5312 M 77 35 j 106 58 6 5413 N 78 36 k 107 59 7 5514 O 79 37 l 108 60 8 5615 P 80 38 m 109 61 9 5716 Q 81 39 n 110 62 + 4317 R 82 40 o 111 63 / 4718 S 83 41 p 112

    19 T 84 42 q 11320 U 85 43 r 11421 V 86 44 s 11522 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 debinario 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 laevaluacin de todos los bits de la secuencia binaria evaluados de 6 en 6.

    La funcin inversa consiste en reconstruir la secuencia binaria original a partir de la cadena imprimible que consta delos elementos del alfabeto de Base 64. Para ello se toman 4 caracteres a la vez de la cadena imprimible y susvalores son convertidos en los de los tres caracteres binarios correspondientes (4 caracteres B64 x 6 bits = 3caracteres binarios x 8 bits), y esta operacin se repite hasta concluir la traduccin de la cadena imprimible.

    Ejemplo de Sello digital:

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