Upload
fernando-pinto
View
123
Download
0
Embed Size (px)
Citation preview
ESPECIFICACIN TCNICA DEL CDIGO DE CONTROL(Ver 6.0)
1. ANTECEDENTES En el marco del Nuevo Sistema de Facturacin implementado por la Administracin Tributaria, se tiene prevista la incorporacin de nuevos elementos de seguridad en las facturas emitidas por sistemas de facturacin computarizada. En este sentido, toda factura emitida por este medio, deber incorporar un Cdigo de Control generado a partir de informacin de la factura, que posteriormente permitir determinar la validez o no de la misma. A efectos del Nuevo Sistema de Facturacin, solo podrn emitir facturas aquellos sistemas de facturacin computarizada que tengan implementado el generador del Cdigo de Control, estn registrados en Impuestos Nacionales, y adems pasen por un proceso de certificacin que verifique la correcta generacin del Cdigo de Control. 2. QUE ES EL CDIGO DE CONTROL? Es un dato alfanumrico generado e impreso por un sistema de facturacin computarizada, a tiempo de emitir una factura. Este cdigo se genera en base a informacin de dosificacin de la factura, informacin de la transaccin comercial, y un dato alfanumrico denominado Llave, que el contribuyente recibir por Internet cada vez que solicite dosificaciones de facturas para su sistema de facturacin computarizada. Por la forma en que se genera el Cdigo de Control, constituye una representacin nica de una factura, que ser utilizada por el SIN para determinar la validez o no de la misma. 3. EMISIN DE FACTURAS A TRAVS DE SISTEMAS DE FACTURACIN COMPUTARIZADA Todo contribuyente que requiera emitir facturas haciendo uso de un sistema de facturacin computarizada, deber previamente: Registrar su sistema de facturacin computarizada ante el SIN, llevando a cabo el trmite de Registro de Autoimpresores en oficinas de Impuestos Nacionales, o a travs del Portal Tributario, siempre que el contribuyente sea Newton. Certificar la correcta generacin del Cdigo de Control, ingresando al Portal Tributario y sometindose a una prueba de certificacin, la cual verificar que su sistema de facturacin genera correctamente el Cdigo de Control.
-
Una vez que su sistema de facturacin est registrado y certificado por el SIN, el contribuyente podr: Solicitar dosificacin de facturas para su sistema de facturacin computarizada. Este trmite deber realizarse a travs del Portal Tributario, producto del mismo el contribuyente recibir un Certificado de Activacin de Dosificacin de Facturas, que incluir informacin de la dosificacin realizada.
Pg.1
-
Recabar la Llave que el SIN asign a su dosificacin, esto a partir del Portal Tributario. Dada la sensibilidad de este dato, su conocimiento y divulgacin sern de entera y absoluta responsabilidad del contribuyente. Configurar su sistema de facturacin computarizada, ingresando informacin de dosificacin contenida en el Certificado de Activacin de Dosificacin de Facturas, adems de la Llave de dosificacin recibida. Finalmente, el sistema de facturacin computarizada estar en condiciones de emitir las facturas dosificadas por el SIN, generando e imprimiendo en cada una el Cdigo de Control correspondiente.
-
-
4. GENERADOR DEL CDIGO DE CONTROL 4.1. Algoritmos Utilizados: Para generar un Cdigo de Control, se hace uso de los siguientes algoritmos informticos: Alleged RC4 Un algoritmo de criptografa simtrica, basado en cifrado de flujo (stream cipher), muy utilizado por su rendimiento y simplicidad. Algoritmo de dgito verificador que trabaja con cadenas de dgitos decimales de cualquier tamao. Adems de detectar una amplia gama de errores en datos numricos, este algoritmo tambin detecta casos de transposicin de dgitos adyacentes. Algoritmo que convierte cifras en base 10 a base 64, utilizando divisiones sucesivas adems de un diccionario de 64 caracteres. El diccionario a utilizarse para efectos del Cdigo de Control es:0, K, e, y, 1, L, f, z, 2, M, g, +, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, H, I, J, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, /
Verhoeff
Base 64
4.2. Insumos Requeridos Para generar un Cdigo de Control, se requiere de la siguiente informacin: Datos de dosificacin Datos de la transaccin comercial Nmero de autorizacin: Dato numrico de 15 dgitos. Nmero de factura: Dato numrico de 12 dgitos. CI o NIT del cliente: Dato numrico de 12 dgitos. Fecha de la transaccin: Dato numrico de 8 dgitos, en el formato AAAAMMDD. Monto total de la transaccin: Importe de la factura sujeto a dbito fiscal. Solo para efectos del Cdigo de Control, este monto deber expresarse sin centavos, redondeado al inmediato superior a partir de los 50 centavos (Segn Art. 11 de la RA N 05-0048-99). En el caso de Notas de Crdito Dbito, el monto a utilizarse ser el de Monto Efectivo delPg.2
Crdito Dbito. Llave de Dosificacin Llave asignada por el SIN a la dosificacin solicitada por el contribuyente. Constituye la llave privada utilizada por el algoritmo de criptografa. Dato alfanumrico de hasta 256 caracteres generado a partir del siguiente diccionario:A, T, m, 5, [, B, U, n, 6, ], C, V, o, 7, {, D, W, p, 8, }, E, X, q, 9, %, F, Y, r, =, $ G, Z, s, #, H, a, t, &, I, b, u, (, J, c, v, ), K, d, w, *, L, e, x, +, M, f, y, -, N, g, z, _, O, h, 0, /, P, i, 1, \, Q, j, 2, , S, l, 4, @,
El Cdigo de Control generado a partir de los algoritmos mencionados, ser un dato alfanumrico de hasta 10 caracteres, representado en grupos de 2 separados por -. 4.3. Proceso de generacin del Cdigo de Control A continuacin se explican en detalle los pasos a seguir para obtener el Cdigo de Control:
Paso 1
Obtener los siguientes datos de la factura: Nmero de autorizacin. Nmero de factura. NIT o CI del cliente. Fecha de la transaccin. Monto total de la transaccin.
Obtener la llave de la dosificacinNmero de autorizacin: Nmero de factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Llave de la dosificacin:
2901091557 1503 3734314017 20070610 4968 SeSaMo
Paso 2
A cada uno de los datos obtenidos agregarle su dgito verificador Verhoeff.Nmero de autorizacin: Nmero de factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: 29010915579 15031 37343140179 200706101 49689
Paso 3
Obtener la suma aritmtica de las cifras obtenidas en el paso anterior.Nmero de autorizacin: Nmero de factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Suma Aritmtica: 29010915579 15031 37343140179 200706101 49689
66554826579
Pg.3
Paso 4 Paso 5 Paso 6
Hallar el Mdulo (645 -1) del resultado obtenido.66554826579 Mod (645
-1) = 1056575376
Convertir el resultado obtenido a base 64. ++W+G
Base64(1056575376) =
Usando el algoritmo Alleged RC4 y la llave asignada por el SIN (Ej. SeSaMo), encriptar la informacin obtenida en el paso anterior.AllegedRC4(++W+G, SeSaMo)
= C4 3B 93 A8 25
Paso 7
La informacin resultante del proceso de encriptacin, expresada en formato hexadecimal, se denominar Cdigo de Control y deber ser impresa en cada factura emitida. Cdigo de Control: C4-3B-93-A8-25
5. EJEMPLOS DE GENERACIN DEL CDIGO DE CONTROL Los siguientes son ejemplos de Cdigos de Control generados a partir de los datos propuestos:
Ej.1
Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Llave de la dosificacin:
3003001255 665 1016253021 20070108 905.23 AbCd3213003001255 665 1016253021 20070108 905
Paso 1
Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total:
Paso 2
Nmero de Autorizacin: 30030012557 Nmero de Factura: 6650 NIT / CI del cliente: 10162530216 Fecha de la transaccin: 200701084 Monto total: 9055 Nmero de Autorizacin: 30030012557 Nmero de Factura: 6650 NIT / CI del cliente: 10162530216 Fecha de la transaccin: 200701084 Monto total: 9055 Suma Aritmtica 403932595625
Paso 3
Paso 4 Paso 5
40393259562 Mod (64
-1) = 664812111
Base64(664812111) = de3fF
Pg.4
Paso 6 Paso 7
AllegedRC4(de3fF, AbCd321)
= F0 25 E0 8C F0
Cdigo de Control: F0-25-E0-8C-F0 1001031009 152 3335807012 20061225 54.70 Cat2007WP1001031009 152 3335807012 20061225 55 10010310090 1527 33358070126 200612252 551 10010310090 1527 33358070126 200612252 551 435689945465
Ej. 2
Nmero de autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Llave de la dosificacin:Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Suma Aritmtica
Paso 1
Paso 2
Paso 3
Paso 4 Paso 5 Paso 6 Paso 7
43568994546 Mod (64
-1) = 619321626
Base64(619321626) = awXaQ AllegedRC4(awXaQ, Cat2007WP) = 56 1E 2D FA 4A
Cdigo de Control: 56-1E-2D-FA-4A 7001042578 10015 532761011 20070523 2099.50 LlaveSIN7001042578 10015 532761011 20070523 2100 70010425785 100154 5327610111 200705230 21007
Ej. 3
Nmero de autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Llave de la dosificacin:Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total:
Paso 1
Paso 2
Pg.5
Paso 3
Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Suma Aritmtica
70010425785 100154 5327610111 200705230 21007 75538862287
Paso 4 Paso 5 Paso 6 Paso 7
75538862287 Mod (64
5
-1) = 376934677
Base64(376934677) = MTv4L AllegedRC4(MTv4L, LlaveSIN)
= 0E D2 43 53 F9
Cdigo de Control: 0E-D2-43-53-F9 8001051552 9901 2395639018 20081011 5620.49SinSinSinSinSinSinSinSinSinSin
Ej. 4
Nmero de autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Llave de la dosificacin:
Paso 1
Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Nmero de Autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Suma Aritmtica
8001051552 9901 2395639018 20081011 5620 80010515526 99017 23956390185 200810111 56204 80010515526 99017 23956390185 200810111 56204 104167871043
Paso 2
Paso 3
Paso 4 Paso 5 Paso 6 Paso 7
104167871043 Mod (64
5
-1) = 14914212
Base64(14914212) = uvAaAllegedRC4(uvAa,SinSinSinSinSinSinSinSinSinSin)
= 21 0D B0 6B
Cdigo de Control: 21-0D-B0-6B 790302998529 156214 125877021 20070521 123500 !@#$%&/()=?
Ej. 5
Nmero de autorizacin: Nmero de Factura: NIT / CI del cliente: Fecha de la transaccin: Monto total: Llave de la dosificacin:
Pg.6
Paso 1
Nmero de Autorizacin: 790302998529 Nmero de Factura: 156214 NIT / CI del cliente: 125877021 Fecha de la transaccin: 20070521 Monto total: 123500 Nmero de Autorizacin: 7903029985292 Nmero de Factura: 1562142 NIT / CI del cliente: 1258770215 Fecha de la transaccin: 200705211 Monto total: 1235008 Nmero de Autorizacin: 7903029985292 Nmero de Factura: 1562142 NIT / CI del cliente: 1258770215 Fecha de la transaccin: 200705211 Monto total: 1235008 Suma Aritmtica 79044922578685
Paso 2
Paso 3
Paso 4 Paso 5 Paso 6 Paso 7 6. OTRAS ADECUACIONES
7904492257868 Mod (64
-1) = 678698765
Base64(678698765) = eT1yD AllegedRC4(eT1yD, !@#$%&/()=?) = 16 9E 76 AD 38
Cdigo de Control: 16-9E-76-AD-38
Adems de la implementacin del Cdigo de Control, los contribuyentes debern tomar en cuenta las siguientes adecuaciones para sus Sistemas de Facturacin Computarizada: 6.1. Incorporacin y tratamiento del Nmero de Autorizacin y Fecha Lmite de Emisin, como nuevos datos que conforman la factura. 6.2. Eliminacin de los datos Nmero de Orden y Alfanumrico, dado que ya no se contemplan en la factura. 6.3. Tratamiento de los nuevos formatos, tamaos, colores y materiales para las facturas, establecidos en la RND N 10-0041-06. 6.4. Aplicacin de los nuevos formatos para el Libro de Compras y Ventas IVA, detallados en la RND N 10-0041-06. 6.5. Control de la Fecha Lmite de Emisin para la dosificacin de las facturas o notas fiscales, de manera que a partir de las dos semanas previas a esta fecha, alerte a los usuarios sobre la necesidad de solicitar una nueva dosificacin. 6.6. Pasado el plazo sealado por la Fecha Lmite de Emisin, el Sistema de Facturacin Computarizada no deber permitir la emisin de facturas. 6.7. Considerando la importancia y sensibilidad del proceso de configuracin de la dosificacin en el Sistema de Facturacin Computarizada, este deber contemplar la doble captura de los siguientes datos:
Pg.7
-
Nmero de autorizacin. Nmero inicial de la factura. Fecha lmite de emisin. Llave de dosificacin.
7. REFERENCIAS Alleged RC4: - Pseudocdigo Alleged RC4 - http://www.impuestos.gov.bo/Facturacion/EspAllegedRC4.pdf - RC4 Encryption - http://www.4guysfromrolla.com/webtech/010100-1.shtml - RC4 Test - http://www.4guysfromrolla.com/demos/rc4test.htm - Alleged RC4 - http://www.criptored.upm.es/software/sw_m117a.htm Verhoeff: - Pseudocdigo Verhoeff - http://www.impuestos.gov.bo/Facturacion/EspVERHOEFF.pdf - Check Digits - http://www.augustana.ab.ca/~mohrj/algorithms/checkdigit.html - Verhoeff algorithm - http://en.wikipedia.org/wiki/Verhoeff_algorithm Base 64: - Pseudocdigo Base 64 - http://www.impuestos.gov.bo/Facturacion/EspBASE64.pdf - Conversin de nmeros a palabras - http://mundocripto.com/mambo//content/view/78/43/ Casos de Prueba:http://www.impuestos.gov.bo/Facturacion/CasosPruebaCC.pdf
Novedades Versin 6.0:Aclara el dato de Monto Total de la Transaccin, el mismo que debe corresponder al importe de la factura sujeto a dbito fiscal. Incorpora un acpite relacionado a otras adecuaciones que al margen del Cdigo de Control debe tomar en cuenta el contribuyente.
Novedades Versin 5.0:Aclaracin del dato de Monto Total de la Transaccin que debe utilizarse en el caso de Notas de Crdito - Dbito.
Novedades Versin 4.0:Diccionario para generacin de la Llave de Dosificacin.
Novedades Versin 3.0:Tipos y longitudes de los datos requeridos para generar el Cdigo de Control. Aclaracin de la regla para el redondeo de los montos de las transacciones. Ms ejemplos. Ms referencias
Pg.8