MANUAL ALGORITMO DE VERIFICACION.DOC AREA DE CONVENIOS SITEMA DE RECAUDOS DESCRIPCION ALGORITMOS DE DIGITO DE CHEQUEO El dígito de chequeo es un valor utilizado para controlar la numeración de la facturación, detectar que cliente cancela y también como seguridad del proceso. A continuación se describen los algoritmos que son utilizados en el Banco para establecer el dígito de chequeo, algunos de éstos poseen varias versiones que se anexan a la explicación de cada uno de ellos. La verdadera importancia del dígito de chequeo radica en que para la empresa el control sobre el cliente que le hace la consignación lo realiza sobre el número de la factura. Esto es: la única identificación que llega a BANCOLOMBIA del cliente es el número de factura del recibo (El cliente no requiere poseer cuenta en el Banco) Por lo tanto, si se tiene un buen control sobre dicho número se evitaran errores o inconsistencias al realizar la transacción. En muchas ocasiones al cliente se le olvida el número de su obligación o factura y coloca cualquiera en un comprobante de consignación, esto dificultara la búsqueda de información en la empresa respectiva. Muchas empresas poseen facturas prediseñadas con el número de la cuenta BANCOLOMBIA. La empresa es identificada por el número de la cuenta Recaudo. Los procesos del Banco generan la información agrupándola por cuenta y ordenándola por el número de factura, obligación, suscripción o el nombre con el que se identifica la empresa. Por lo cual se recomienda que toda empresa que se afilie a este servicio posea un dígito de control o chequeo. Nota: Él numero de factura es de máximo once (11) dígitos incluyendo el dígito de chequeo, al entrar a éste sistema se ajusta a la derecha y se complementa de ceros (0), estos ceros no cuentan en el cálculo del dígito. ALGORITMO 1 Se tiene un arreglo con los números primos: 31. 29. 23. 19. 17. 13. 7. 5. 3. 2. En este orden, la primera posición la ocupa el número 31, la segunda el 29 y así sucesivamente. El número máximo de dígitos que se admiten es once (11) para la factura, donde el último es el dígito de chequeo. Se ajusta el número a la derecha y se complementa con ceros (0), ejemplo: 1081258 - 0001081258. Se procede así: 1. Se multiplica cada dígito por el respectivo número primo. 2. Se realiza una sumatoria con cada producto anterior. 3. La sumatoria se divide por once (11), se toma el residuo y: Residuo Dígito de chequeo A CERO (0) CERO (0) B Diez (10) Uno (1) C Uno (1) CERO (0) D Si es diferente a estos tres casos Es el resultado de la resta de once (11) Menos el residuo Ejemplos: 328448058-3 31 29 23 19 17 13 7 5 3 2 Primos 0 3 2 8 4 4 8 0 5 8 - 3 0 87 46 152 68 52 56 0 15 16 = 492 Residuo 492 11 052 44 Dígito chequeo = por condición 4,11-8 = 3 08 30758057-3 31 29 23 19 17 13 7 5 3 2 Primos 0 0 3 0 7 5 8 0 5 7 - 3 0 0 69 0 119 65 56 0 15 14 = 338 Residuo 338 11 008 30 Dígito chequeo = por condición 4,11-8 = 3 08 329117055-0 31 29 23 19 17 13 7 5 3 2 Primos 0 3 2 9 1 1 7 0 5 5 - 0 0 87 46 171 17 13 49 0 15 10 = 408 Residuo 408 11 078 37 Dígito chequeo = por condición 3 es igual 0 01 100190001-1 31 29 23 19 17 13 7 5 3 2 Primos 0 1 0 0 1 9 0 0 0 1 - 1 0 29 0 0 17 117 0 0 0 2 = 165 Residuo 165 11 055 15 Dígito chequeo = por condición 3 es igual 0 00 El dígito de chequeo de la factura no corresponde al calculado. ALGORITMO 2 Con este algoritmo se obtiene dos dígitos de chequeo. 1. Los dígitos de las posiciones impares se duplican y los pares se multiplican por uno (1), dependiendo del número de dígitos de la factura, observar nota. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 7x2=14 1+4=5. 2. Se suman los anteriores productos. 3. Se toma el resultado de la suma y se extrae el dígito de la derecha (el menos significativo) el cual será el primer dígito de chequeo (el dígito de chequeo más significativo) Ejemplo: Suma = 35 1er dígito de chequeo = 5. 4. Luego los dígitos de las posiciones pares se triplican y las impares se multiplican por uno (1), dependiendo del número de dígitos de la factura. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 9x3 = 27 2 + 7 = 9) 5. Se suman los anteriores productos. 6. Se toma el resultado de la suma y se extrae el dígito de la derecha ( el menos significativo) el cual será el segundo dígito de chequeo (el menos significativo). Ej. : suma =20 2do dígito de chequeo = 0. Por lo tanto, los dígitos de chequeo son: 50. Nota: Las posiciones pares o impares dependen del número de la facturan no del número máximo de dígitos que se pueden capturar. Esto es: 8421, cuatro dígitos, 8 en la posición 1, 4 en la posición 2, ... 842 tres dígitos, 8 en la posición 1, 4 en la posición 2.. Ejemplos: 752256-35 2 1 2 1 2 1 Factor 7 5 2 2 5 6 3 1+4 5 4 2 1+0 6 = 23 Resultado =23 Primer dígito de chequeo = 3 1 3 1 3 1 3 Factor 7 5 2 2 5 6 5 7 1+5 2 6 5 1+8 = 35 Resultado = 35 Segundo dígito de chequeo = 5 Número de chequeo 35 753447-56 2 1 2 1 2 1 Factor 7 5 3 4 4 7 5 1+4 5 6 4 8 7 = 35 Resultado =35 Primer dígito de chequeo = 5 1 3 1 3 1 3 Factor 7 5 3 4 4 7 5 7 1+5 3 1+2 4 2+1 = 26 Resultado = 26 Segundo dígito de chequeo = 6 Número de chequeo 56 50112-81 2 1 2 1 2 Factor 5 0 1 1 2 8 1+0 0 2 1 4 = 8 Resultado =8 Primer dígito de chequeo = 8 1 3 1 3 1 Factor 5 0 1 1 2 6 5 0 1 3 2 = 11 Resultado = 11 Segundo dígito de chequeo = 1 Número de chequeo 81 3764210-50 2 1 2 1 2 1 2 Factor 3 7 6 4 2 1 0 5 6 7 1+2 4 4 1 0 = 25 Resultado =25 Primer dígito de chequeo = 5 1 3 1 3 1 3 1 Factor 3 7 6 4 2 1 0 0 3 2+1 6 1+2 2 3 0 = 20 Resultado = 20 Segundo dígito de chequeo = 0 Número de chequeo 50 ALGORITMO 3 Con este algoritmo también se obtiene dos dígitos de chequeo. Es igual al anterior pero se debe tener en cuenta el número máximo de dígitos aceptados once (11); la factura se ajusta a la derecha y se complementa de ceros. Ejemplos 752256-28 2 1 2 1 2 1 2 1 2 Factor 0 0 0 7 5 2 2 5 6 2 0 0 0 7 1+0 2 4 5 1+2 =22 Resultado =21 Primer dígito de chequeo = 2 1 3 1 3 1 3 1 3 1 Factor 0 0 0 7 5 2 2 5 6 8 0 0 0 2+1 5 6 2 1+5 6 = 28 Resultado = 28 Segundo dígito de chequeo = 8 Número de chequeo 28 850112-67 2 1 2 1 2 1 2 1 2 Factor 0 0 0 8 5 0 1 1 2 6 0 0 0 8 1+0 0 2 1 4 = 16 Resultado =16 Primer dígito de chequeo = 6 1 3 1 3 1 3 1 3 1 Factor 0 0 0 8 5 0 1 1 2 7 0 0 0 2+4 5 0 1 3 2 = 17 Resultado = 17 Segundo dígito de chequeo = 7 Número de chequeo 67 3764210-50 2 1 2 1 2 1 2 1 2 Factor 0 0 3 7 6 4 2 1 0 5 0 0 6 7 1+2 4 4 1 0 = 25 Resultado =25 Primer dígito de chequeo = 5 1 3 1 3 1 3 1 3 1 Factor 0 0 3 7 6 4 2 1 0 0 0 0 3 2+1 6 1+2 2 3 0 = 20 Resultado = 20 Segundo dígito de chequeo = 0 Número de chequeo 20 ALGORITMO 4 Conocido como algoritmo Módulo 10. Existen varias versiones. 1. Los dígitos de chequeo de las posiciones pares se duplican, dependiendo del número de dígitos de la factura, ejemplo: 24563, 2 primera posición, 4 segunda posición: 121236, 1 primera posición, 2 segunda posición. Si este valor es mayor que nueve se deben sumar sus dígitos (Ej.: 7x2=14 1+ 4=5) Las posiciones impares se multiplican por uno(1) 2. Se suman los anteriores productos. 3. Se resta la anterior suma del próximo valor múltiplo de diez (10), Ejemplo: Suma = 19 próximo valor 20 20-19=1: suma =30 próximo valor 30 30-30=0. 4. El resultado de ésta resta es el dígito de chequeo. Ejemplo: 10008885-5 1 2 1 2 1 2 1 2 Factor 1 0 0 0 8 8 8 5 5 1 0 0 0 8 1+6 8 1+0 = 25 Múltiplos de 10 más próximos a 25 = 30 Dígito de chequeo 30-25 = 5 2004340-9 1 2 1 2 1 2 1 Factor 2 0 0 4 3 4 0 9 2 0 0 8 3 8 0 = 21 Múltiplos de 10 más próximos a 21 = 30 Dígito de chequeo 30-21 = 9 20004108-5 1 2 1 2 1 2 1 2 Factor 2 0 0 0 4 1 0 8 5 2 0 0 0 4 2 0 1+6 = 15 Múltiplos de 10 más próximos a 15 = 20 Dígito de chequeo 20-15 = 5 ALGORITMO 5 Similar al anterior. 1. Los dígitos de las posiciones impares se duplican, dependiente del número de dígitos de la factura, ejemplo: 24563, 2 primera posición. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 7x2=14 1+4=5). Las posiciones pares se multiplican por uno(1). 2. Se suman los anteriores productos. 3. Se resta la anterior suma del próximo valor múltiplo de diez (10). Ejemplo: suma 19 próximo valor 20 20-19=1; suma = 30 próximo valor 30 30-30=0. 4. El resultado es el dígito de chequeo. jemplos: 10008885-1 2 1 2 1 2 1 2 1 Factor 1 0 0 0 8 8 8 5 1 2 0 0 0 1+6 8 1+6 5 =29 Múltiplos de 10 más próximos a 29 = 30 Dígito de chequeo 30-29 = 1 20004340-7 2 1 2 1 2 1 2 1 Factor 2 0 0 0 4 3 4 0 7 4 0 0 0 8 3 8 0 =23 Múltiplos de 10 más próximos a 23 = 30 Dígito de chequeo 30-23 = 7 2004108-3 2 1 2 1 2 1 2 Factor 2 0 0 4 1 0 8 3 4 0 0 4 1 0 1+6 =17 Múltiplos de 10 más próximos a 17 = 20 Dígito de chequeo 20-17 = 3 ALGORITMO 6 1. Los dígitos las posiciones impares se duplican, teniendo en cuenta el número total de dígitos aceptados diez(10), sin dígito de chequeo. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej.: 7x2=14 1+4 = 5). Las posiciones pares se multiplican por uno (1). 2. Se suman los anteriores productos. 3. Se resta la anterior suma del próximo valor múltiplo de diez (10). Ejemplo: suma =29 próximo valor 30 30-29=1; suma =30 próximo valor 30 30-30=0. 4. El resultado de ésta operación es el dígito de chequeo. Ejemplos 20004545-0 2 1 2 1 2 1 2 1 2 1 Factor 0 0 2 0 0 0 4 5 4 5 0 0 0 4 0 0 0 8 5 8 5 =30 Múltiplos de 10 más próximos a 30 = 30 Dígito de chequeo 30-30 = 0 120034709-2 2 1 2 1 2 1 2 1 2 1 Factor 0 1 2 0 0 3 4 7 0 9 2 0 1 4 1 0 3 8 7 0 9 =32 Múltiplos de 10 más próximos a 32 = 40 Dígito de chequeo 40-32 = 8 7841-8 2 1 2 1 2 1 2 1 2 1 Factor 0 0 0 0 0 0 7 8 4 1 0 0 0 0 0 0 0 1+4 8 8 1 =22 Múltiplos de 10 más próximos a 22 = 30 Dígito de chequeo 30-22 = 8 ALGORITMO 7 1. Los dígitos de las posiciones pares se duplican, teniendo en cuenta el número total de dígitos aceptados diez (10), sin dígito de chequeo. Si este valor es mayor que nueve se deben sumar sus dígitos (Ej.: 8x2=16 1+6=7) las posiciones impares se multiplican por uno (1). 2. Se suman los anteriores productos. 3. De la anterior suma se toma el dígito de las unidades, el menos significativo, como el dígito de chequeo. Ejemplos: 20004545-2 1 2 1 2 1 2 1 2 1 2 Factor 0 0 2 0 0 0 4 5 4 5 2 0 0 2 0 0 0 4 1+0 4 5 =12 Dígito de chequeo 12 = 2 120034709-8 1 2 1 2 1 2 1 2 1 2 Factor 0 1 2 0 0 3 4 7 0 9 8 0 2 1 0 0 6 4 1+4 0 1+8 =28 Dígito de chequeo 18 = 8 7841-0 1 2 1 2 1 2 1 2 1 2 Factor 0 0 0 0 0 0 7 8 4 1 0 0 0 0 0 0 0 7 1+6 4 2 =20 Dígito de chequeo 20 = 0 ALGORITMO 8 Algoritmo conocido como Módulo 11, Hay otras versiones. Se toma la siguiente secuencia que afectara al número de factura, exceptuando al dígito de chequeo: 5,4,3,2,7,6,5,4,3,2 teniendo en cuenta el número total de dígitos aceptados (10). Osea, si el número de dígitos de la factura es seis se ajusta a la derecha y se complementa con ceros. 1. Se multiplica cada dígito de la factura por su correspondiente de la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por once(11). 4. Dependiendo del residuo se procede así: Residuo Dígito de chequeo A CERO(0) CERO(0) B uno(1) Uno(1) D Si es diferente a de uno o cero Es el resultado de la resta de once(11) menos el residuo Ejemplos: 12346128-2 5 4 3 2 7 6 5 4 3 2 Secuencia 1 2 3 4 6 1 2 8 -2 0 0 3 4 21 24 30 4 6 16 = 108 Residuo 108 11 09 9 Dígito chequeo = por condición C,11-9 = 2 9333253501-1 5 4 3 2 7 6 5 4 3 2 Secuencia 9 3 3 3 2 5 3 5 0 1 -1 45 12 9 6 14 30 15 20 0 2 =153 Residuo 153 11 043 13 Dígito chequeo = por condición C,11-10 = 1 10 ALGORITMO 9 Similar al algoritmo 14 Se emplea la siguiente secuencia que afectara al número de factura, exceptuando al dígito de chequeo: 3,5,7,9,3,5,7,9,3,5 dependiendo del número de dígitos de la factura. La secuencia se aplica de derecha a izquierda, observar ejemplos. Procedimiento: 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia de derecha a izquierda. 2. Se realiza una sumatoría con cada producto anterior 3. El resultado de la sumatoria se divide por once (11). 4. Dependiendo del residuo se procede así: Residuo Dígito de chequeo A CERO(0) CERO(0) B uno(1) Uno(1) D Si es diferente a de uno o cero Es el resultado de la resta de once(11) menos el residuo Ejemplos: 12346128-9 5 3 9 7 5 3 9 7 5 3 Secuencia 1 2 3 4 6 1 2 8 -9 9 14 15 12 54 7 10 24 =145 Residuo 145 11 035 13 Dígito chequeo = por condición C,11-2 = 9 002 9333253501-6 5 3 9 7 5 3 9 7 5 3 Secuencia 9 3 3 3 2 5 3 5 0 1 -9 45 9 27 21 10 15 27 35 0 3 =192 Residuo 192 11 082 17 Dígito chequeo = por condición C,11-5 = 6 005 ALGORITMO 10 Otro algoritmo que emplea secuencia de números es el siguiente: Se toma la siguiente secuencia que afectara al número de factura, exceptuando al dígito de chequeo:2,3,4,5,6,7,2,3,4,5 dependiendo del número de dígitos de la factura. 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia. 2. Se toma de cada las unidades (el dígito menos significativo)y se realiza una sumatoria con estos (6x7=42, se toma el 2). 3. De dicha suma se toma únicamente la cifra que corresponde a las unidades (dígito menos significativo), el cual será el dígito de control. Ejemplos: 12346128-1 2 3 4 5 6 7 2 3 Secuencia 1 2 3 4 6 1 2 8 -1 2 6 12 20 36 7 4 24 2 6 2 0 6 7 4 4 = 31 Dígito de chequeo = 1 9333253501-7 2 3 4 5 6 7 2 3 4 5 Secuencia 9 3 3 3 2 5 3 5 0 1 -7 18 9 12 15 12 35 6 15 0 5 8 9 2 5 2 5 6 5 0 5 = 47 Dígito de chequeo = 7 ALGORITMO 11 El siguiente algoritmo emplea solo sumas: 1. Se suman todos los dígitos del número de la factura, exceptuando al dígito de chequeo (los diez primeros dígitos). 2. Si esta sumatoria es menor que diez (10), es este el dígito de chequeo. 3. De lo contrario se suman las cifras de la sumatoria hasta que la nueva suma sea menor que diez (10), de donde se obtiene el dígito de control. Ejemplo: 12346128-9 0 0 1 2 3 4 6 1 2 8 = 27 27 2+7=9 Dígito de chequeo: 9 9333253501-7 9 3 3 3 2 5 3 5 0 1 = 34 34 3+4=7 Dígito de chequeo: 7 120015-9 0 0 0 0 1 2 0 0 1 5 = 9 Dígito de chequeo: 9 ALGORITMO 12 Se toma la siguiente secuencia que afectara al número de factura, exceptuando al dígito de chequeo: 5,4,3,2,7,6,5,4,3,2 teniendo en cuenta el número total de dígitos aceptados (10). O sea si el número de dígitos de la factura es seis se ajusta a la derecha y se completa con ceros. 1. Se multiplica cada dígito de la factura por su correspondiente de la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por diez (10). 4. Dependiendo del residuo se procede así: Residuo Dígito de chequeo A CERO(0) CERO(0) B Si es diferente a cero(0) Es el resultado de la resta de diez(10) menos el residuo. Ejemplo: 12346128-2 5 4 3 2 7 6 5 4 3 2 Secuencia 0 0 1 2 3 4 6 1 2 8 -2 0 0 3 4 21 24 30 4 6 16 = 108 Residuo 108 10 08 8 Dígito chequeo = por condición B,10-8 = 2 9333253501-7 5 4 3 2 7 6 5 4 3 2 Secuencia 9 3 3 3 2 5 3 5 0 1 -7 45 12 9 6 14 30 15 20 0 2 =153 Residuo 153 10 053 15 Dígito chequeo = por condición B, 10-3 = 7 03 9333253501-7 5 4 3 2 7 6 5 4 3 2 Secuencia 9 3 3 3 2 5 3 5 0 1 -7 45 12 9 6 14 30 15 20 0 2 =153 Residuo 153 10 053 15 Dígito chequeo = por condición B, 10-3 = 7 03 ALGORITMO 13 Otra versión del Algoritmo Módulo 10. 1. Los dígitos de las posiciones pares se duplican, teniendo en cuenta el numero total de dígitos aceptados diez (10), sin dígito de chequeo. Si este valor es mayor que nueve se deben sumar sus dígitos(Ej. 8x2=16 1+6 = 7) Las posiciones impares se multiplican por uno (1). 2. Se suman los anteriores productos. 3. Se resta la anterior suma del próximo valor múltiplo de diez(10). Ejemplo: Suma = 32 próximo Valor 40 40-32=8; Suma = 20 próximo valor 20 20-20=0. 4. El resultado de esta resta es el dígito de chequeo. Ejemplos: 10008885-5 1 2 1 2 1 2 1 2 1 2 Factor 0 0 1 0 0 0 8 8 8 5 5 0 0 1 0 0 0 8 1+6 8 1+0 =25 Múltiplo de 10 más próximo a 25 =30. Dígito de chequeo 30-25=5 2004340-2 1 2 1 2 1 2 1 2 1 2 Factor 0 0 0 2 0 0 4 3 4 0 2 0 0 0 4 0 0 4 6 4 0 =18 Múltiplo de 10 más próximo a 18 =20. Dígito de chequeo 20-18=2 20004108-5 1 2 1 2 1 2 1 2 1 2 Factor 0 0 2 0 0 0 4 1 0 8 5 0 0 2 0 0 0 4 2 0 1+6 =15 Múltiplo de 10 más próximo a 15 =20. Dígito de chequeo 20-15=5 ALGORITMO 14 Se emplea la siguiente secuencia que afectara al número de factura, exceptuando al dígito de chequeo: 3,5,7,9,3,5,7,9,3,5 dependiendo del número de dígitos de la factura. La secuencia se aplica de derecha a izquierda, observar los ejemplos. 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia, de derecha a izquierda. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por once (11). 4. A once (11) se le resta el residuo. Dependiendo de este residuo se procede así: Resultado Dígito de chequeo A. Sí es mayor que nueve (9) Cero(0) B. Menor o igual a nueve(9) Es el dígito de chequeo. Ejemplo: 12346128-9 9 7 5 3 9 7 5 3 Secuencia 1 2 3 4 6 1 2 8 9 9 14 15 12 54 7 10 24 =145 Residuo 145 11 35 13 Dígito chequeo = por condición B, 11-2=9 02 9333253501-6 5 3 9 7 5 3 9 7 5 3 Secuencia 9 3 3 3 2 5 3 5 0 1 6 35 9 27 21 10 15 27 35 0 3 =192 Residuo 192 11 82 17 Dígito chequeo = por condición B, 11-5=6 05 9333253410-0 5 3 9 7 5 3 9 7 5 3 Secuencia 9 3 3 3 2 5 3 4 1 0 0 45 9 27 21 10 15 27 28 5 0 =187 Residuo 187 11 11-0=11 77 17 Dígito chequeo = por condición A, = 0 00 ALGORITMO 15 1. Se tiene el número de factura, de máximo 7 dígitos exceptuando el dígito de chequeo. Se multiplica cada dígito por el número de su posición, esto es: el primero por uno (1), el segundo por dos (2) y así sucesivamente. Si el número de dígitos de la factura es inferior a siete se ajusta a la derecha y se complementa con ceros (0). 2. Se realiza una sumatoria con cada uno de los productos calculados. 3. El resultado de la sumatoria se divide por trece (13). 4. Dependiendo del valor del residuo se procede así: Resultado Dígito de chequeo A. Sí es mayor que nueve (9) La diferencia entre el residuo y diez (10) B. Menor o igual a nueve (9) Es el dígito de chequeo. Ejemplo: 9612065-2 1 2 3 4 5 6 7 Secuencia 9 6 1 2 9 6 5 -2 9 12 3 8 0 36 35 =103 Residuo 103 13 12-10=2 12 7 Dígito chequeo = por condición A, = 2 0120012-2 1 2 3 4 5 6 7 Secuencia 0 1 2 0 0 1 2 -9 0 2 6 0 0 6 14 =28 Residuo 28 13 02 2 Dígito chequeo = por condición B, = 2 0009000-0 1 2 3 4 5 6 7 Secuencia 0 0 0 9 0 0 0 -0 0 0 0 36 0 0 0 =36 Residuo 36 13 00 2 Dígito chequeo = por condición B, = 0 ALGORITMO 16 Se emplea la siguiente secuencia que afectara al número de factura, exceptuando el dígito de chequeo: 5,4,3,2,7,6,5,4,3,2 dependiendo del numero total de dígitos aceptados diez (10). 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por once(11). Y se toma el residuo. 4. Dependiendo del residuo se procede así: Residuo Dígito de chequeo A. Sí es cero (0) o Uno (1) El residuo es el dígito de chequeo. B. Sí es diferente a cero o a uno Es la diferencia entre once (11) y el residuo. Ejemplo: 12346128-2 5 4 3 2 7 6 5 4 3 2 Secuencia 0 0 1 2 3 4 6 1 2 8 -2 0 0 3 4 21 24 30 4 6 16 =108 Residuo 108 11 11-9=2 09 9 Dígito chequeo = por condición B,= 2 20015-8 5 4 3 2 7 6 5 4 3 2 Secuencia 0 0 0 0 0 2 0 0 1 5 -8 0 0 0 0 0 12 0 0 3 10 =25 Residuo 25 11 11-3=8 03 2 Dígito chequeo = por condición B, = 2 1060-1 5 4 3 2 7 6 5 4 3 2 Secuencia 0 0 0 0 0 0 1 0 6 0 -1 0 0 0 0 0 0 5 0 18 0 =23 Residuo 23 11 01 2 Dígito chequeo = por condición A, = 1 ALGORITMO 17 Algoritmo conocido como Módulo 11 otra versión. Similar al 16 Se emplea la siguiente secuencia que afectara al número de factura, exceptuando al dígito de chequeo: 5,4,3,2,7,6,5,4,3,2 dependiendo del numero total de dígitos aceptados diez (10). 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por once(11). Y se toma el residuo. 5. A once (11) se le resta el residuo. Dependiendo de este resultado se procede así: Resultado Dígito de chequeo A. Sí es mayor que nueve(9) Es cero (0) B. Si es menor o igual que nueve (9) Es el dígito de chequeo Ejemplo: 12346128-2 5 4 3 2 7 6 5 4 3 2 Secuencia 0 0 1 2 3 4 6 1 2 8 -2 0 0 3 4 21 24 30 4 6 16 =108 Residuo 108 11 11-9=2 09 9 Dígito chequeo = por condición B = 2 9333253501-1 5 4 3 2 7 6 5 4 3 2 Secuencia 9 3 3 3 2 5 3 5 0 1 -1 45 12 9 6 14 30 15 20 0 2 =153 Residuo 153 11 11-10=1 043 13 Dígito chequeo = por condición B = 1 10 160-0 5 4 3 2 7 6 5 4 3 2 Secuencia 0 0 0 0 0 0 0 1 6 0 -0 0 0 0 0 0 0 0 4 18 0 =22 Residuo 22 11 11-0=11 00 2 Dígito chequeo = por condición A = 0 ALGORITMO 18 Calcula el dígito de chequeo del NIT. Se tiene un arreglo con los números primos: 43, 41, 37, 29, 23, 19, 17, 13, 7, 3. En este orden. La primera posición la ocupa el numero 43, la segunda el 41 y así sucesivamente. Esta secuencia afectara al número de factura, exceptuando al dígito de chequeo, dependiendo del número total de dígitos aceptados diez (10). 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por once (11). Y se toma el residuo. Resultado Dígito de chequeo A. Sí es cero (0) Es CERO (0) B. Si es Uno (1) Es CERO (0) C. Si es diferente a uno y cero Es la diferencia entre once (11) y el residuo. Ejemplo: 8448058-0 43 41 37 29 23 19 17 13 7 3 Secuencia 0 0 0 8 4 4 8 0 5 8 -0 0 0 0 232 92 76 136 0 35 24 =595 Residuo 595 11 045 54 Dígito chequeo = por condición B = 0 01 800155572-9 43 41 37 29 23 19 17 13 7 3 Secuencia 0 8 0 0 1 5 5 5 7 2 -9 0 328 0 0 23 95 85 65 49 6 =651 Residuo 651 11 101 59 Dígito chequeo = por condición C = 11-2 = 9 02 ALGORITMO 19 Se ajusta el número a la derecha y se complementa con ceros (0), Ejemplo: 1081258 0001081258. Y se procede así: 1. Se multiplica cada dígito. desde la posición 4. Por el respectivo número de la secuencia:9, 8, 7, 6, 5, 4, 3, 2. Se realiza una sumatoria con cada producto anterior. 3. La sumatoria se divide por once (11), se toma el residuo y se calcula el dígito de chequeo así: Resultado Dígito de chequeo A. Uno (1) CERO (0) B. CERO (0) Uno (1) C. Si es diferente de uno o cero Es el resultado de la resta de once (11) menos el residuo. Ejemplo: 8448058-7 0 0 0 9 8 7 6 5 4 3 Factor 0 0 0 8 4 4 8 0 5 8 -7 0 0 0 72 32 28 48 0 20 24 =224 224 11 Residuo 04 2 Dígito de chequeo = por condición C,=11-4 =7 810155572-1 0 0 0 9 8 7 6 5 4 3 Factor 0 8 1 0 1 5 5 5 7 2 -1 0 0 0 0 8 35 60 25 28 6 =132 132 11 Residuo 022 12 Dígito chequeo = por condición B = 1 00 ALGORITMO 20 Se ajusta el número a la derecha y se complementa con ceros (0), Ejemplo: 1081258 0001081258. Y se procede así: 1. Se multiplica cada dígito. desde la posición 4. Por el respectivo número de la secuencia: 5, 4, 3, 2, 7, 6, 5, 4, 3, 2. 2. Se realiza una sumatoria con cada producto anterior. 3. La sumatoria se divide por once (11), se toma el residuo y se calcula el dígito de chequeo así: Resultado Dígito de chequeo A. Uno (1) CERO (0) B. CERO (0) Uno (1) C. Si es diferente de uno o cero Es el resultado de la resta de once (11) menos el residuo. Ejemplo: 8448058-4 5 4 3 2 7 6 5 4 3 2 Factor 0 0 0 8 4 4 8 0 5 8 -4 0 0 0 16 28 24 40 0 15 16 =139 139 11 29 12 Dígito de chequeo = por condición C,=11-7 =4 Residuo 07 810155572-1 5 4 3 2 7 6 5 4 3 2 Factor 0 8 1 0 1 5 5 5 7 2 -1 0 32 3 0 7 30 25 20 21 4 =142 142 11 032 12 Dígito chequeo = por condición C, = 11-10=1 Residuo 10 ALGORITMO 21 Similar al algoritmo 11, solo sumas Se ajusta el número a la derecha y se complementa con ceros (0), Ejemplo: 1081258 0001081258. Y se procede así: 1. Se suman todos los dígitos del número de la factura, exceptuando el primer dígito diferente a cero. 2. Si esta sumatoria es menor que diez (10), este es el dígito de chequeo . 3. De lo contrario se suman las cifras de la sumatoria hasta que la nueva suma sea menor que diez (10), de donde se obtiene el dígito de control. Ejemplo: 12346128-9 0 0 0 2 3 4 6 1 2 8 =26 26 2+6=8 Dígito de chequeo: 8 9339253581-3 0 3 3 9 2 5 3 5 8 1 =39 39 3+9=12. 1+2=3. Dígito de chequeo: 3 920015-9 0 0 0 0 0 2 0 0 1 5 =8 Dígito de chequeo: 8 ALGORITMO 22 Igual al algoritmo número 2, pero con control sobre el total de dígitos de la factura, mínimo seis (6). ALGORITMO 23 Similar al algoritmo 11, solo sumas Emplea la secuencia 1, 0, 1, 2, 3, 4, 5, 6, 7, 2. La cual surge de restar 2 del dígito menos significativo de los números del uno (1) al diez (10), tomando el valor absoluto de esta resta. Ejemplo: 1 (menos significativo =1), 1-2 =-1 [-1] =1. 2 (menos significativo =2), 2-2=0 [0] = 0. 3 (menos significativo =3), 3-2 = -1 [-1] =1. 10 (menos significativo=0), 0-2=-2 [2]=2. El número de la factura se ajusta a la derecha y se completa con ceros. Procedimiento. 1. Se multiplica cada dígito de la factura por la cifra correspondiente de la secuencia. 2. Se realiza una sumatoria con el dígito de menos significativo de cada producto anterior. 3. El dígito de chequeo es el dígito menos significativo de la anterior sumatoria. Ejemplos: * 231-5 1 0 1 2 3 4 5 6 7 2 Sec. 0 0 0 0 0 0 0 2 3 1 -5 0 0 0 0 0 0 0 12 21 2 0 0 0 0 0 0 0 2 1 2 =5 5 Dígitos menos significativos. * 844805-8 1 0 1 2 3 4 5 6 7 2 Sec. 0 0 0 0 8 4 4 8 0 5 =-8 0 0 0 0 24 16 20 18 0 10 0 0 0 0 4 6 0 8 0 0 =18 8 Dígitos menos significativos. ALGORITMO 24 Se ajusta el número a la derecha y se complementa con ceros (0), Ejemplo: 1081258 0001081258. Se toma el cálculo en base a los nueve (9) primeros dígitos, el décimo es el dígito de chequeo. Y se procede así: 1. Se multiplica cada dígito, desde la primera posición, por el respectivo número de la secuencia: 4, 3, 2, 7, 6, 5, 4, 3, 2. 2. Se realiza una sumatoria con cada producto anterior. 3. La sumatoria se divide por once (11), se toma el residuo. 4. A once (11) se le resta el residuo, dependiendo del resultado se procede: Resultado Dígito de chequeo A. Sí es mayor a nueve (9) CERO (0) B. Si es menor que nueve (9) Es el dígito de chequeo. Ejemplo: 850012-9 00008500129 4 3 2 7 6 5 4 3 2 Factor 0 0 0 0 8 5 0 0 1 2 =-2 0 0 0 0 48 25 0 0 2 0 =75 75 11 09 6 =11-9 =2 Por condición B, = 2 Residuo 09 24328-5 00000243285 4 3 2 7 6 5 4 3 2 Factor 0 0 0 0 0 2 4 2 2 1 =-8 0 0 0 0 0 10 16 6 4 0 =36 36 11 03 3 =11-3 =8 Por condición B, = 8 Residuo 03 ALGORITMO 25 Otra versión del modulo 10. 1. Para el cálculo del dígito de chequeo se tiene en cuenta el número de dígitos de la factura, si es par el dígito de verificación es cero (0). Si es impar se realizan los paso que se describen posteriormente. Ejemplo: 2145 dígito de chequeo 0, 12855 (paso 2) 780096 dígito de chequeo 0. 2. Se procede igual al algoritmo 13. Se ajustan a la derecha y se complementa de ceros (0). Ejemplo: 24563 000024563. 3. Los dígitos de las posiciones impares se multiplican por uno (1) y los de las pares se duplican, ejemplo: 0890024563, 0x1. 8x2, 9x1, 0x2, 0x1, 2x2, 4x1, etc. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej.: 7x2 =14 1+4 =5). 4. Se realiza la sumatoria con los anteriores valores. 5. Se resta la suma del próximo valor múltiplo de diez (10). Ejemplo: Suma =19 próximo valor 20 20-19 =1, suma =30 próximo valor 30 30-30=0. 6. El resultado es dígito de chequeo. Ejemplos: * 12855-3 1 2 1 2 1 2 1 2 1 2 Factor 0 0 0 0 0 1 2 8 5 5 3 0 0 0 0 2 2 2 1+6 5 1+0 =17 Múltiplo de 10 más próximo a 17 =20 Dígito de chequeo 20-17= 3 * 1706008885-0 Números de dígitos par (10). Dígito de chequeo =0 * 7777777-9 1 2 1 2 1 2 1 2 1 2 Factor 0 0 0 7 7 7 7 7 7 7 9 0 0 0 1+4 7 1+4 7 1+4 7 1+4 = 41 Múltiplo de 10 más próximo a 41 =50 Dígito de chequeo 50-41= 9 ALGORITMO 26 Validar si la referencia recibida como parámetro, cumple con el dígito de chequeo, con este algoritmo se obtiene dos dígitos de chequeo. 1. La referencia debe ser leida de derecha a izquierda, sin los dígitos de chequeo 2. Los dígitos de las posiciones impares se duplican y los pares se multiplican por uno (1), dependiendo del número de dígitos de la factura. Si este valor es mayor que nueve se deben de sumar sus dígitos. Ejemplo: 7x2 = 14 1+4 = 5 3. Se suman los anteriores productos 4. Se toma el resultado de la suma y se extrae el dígito de la derecha (el menos significativo) el cual será el primer dígito de chequeo ( el dígito de chequeo más significativo). Ejemplo: Suma = 35 primer dígito de chequeo = 5 5. Luego, los dígitos de las posiciones pares, se triplican y las impares se multiplican por uno (1), dependiendo del número de dígitos de la factura. Si este valor es mayor que nueve se debe sumar sus dígitos: Ejemplo: 9x3 = 27 2+7 = 9 6. Se suman los anteriores productos 7. Se toma el resultado de la suma y se extrae el dígito de la derecha ( el menos significativo) el cual será el segundo dígito de chequeo (el menos significativo). Ejemplo: 20 el segundo dígito de chequeo = 0. Por lo tanto, los dígitos de chequeo son: 50. Nota: Las posiciones pares o impares dependen del número de la factura, no del numero máximo de dígitos que se pueden capturar. Esto es 8421, cuatro dígitos, 8 en posición 1, 4 en la posición 2 y así sucesivamente. Tres dígitos 842, 8 en la posición 1, 4 en la posición 2. Ejemplo: 752256-28 1 2 1 2 1 2 Factor 7 5 2 2 5 6 -35 7 1+0 2 4 5 1+2 =22 Resultado 22, primer dígito de chequeo = 2 3 1 3 1 3 1 Factor 7 5 2 2 5 6 -35 2+1 5 6 2 1+5 6 =28 Resultado 28,segundo dígito de chequeo = 8 Dígitos de chequeo = 28 ALGORITMO 27 Calcula el dígito de chequeo del NIT. El algoritmo 18 es muy similar a este. Se tiene un arreglo con los números primos: 43, 41, 37, 29, 23, 19, 17, 13, 7, 3. En este orden, la primera posición la ocupa el número 43,la segunda el 41 y así sucesivamente. Esta secuencia afectara al número de factura, exceptuando al dígito de chequeo, dependiendo del número total de dígitos aceptados diez (10). 1. Se multiplica cada dígito de la factura por la cifra correspondiente en la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. La sumatoria se divide por once (11) y se toma el residuo. Resultado Dígito de chequeo. A CERO (0) CERO (0) B Uno(1) Uno (1) C Si es diferente de uno y cero es la diferencia entre once y el residuo. Ejemplos: 8448058-1 43 41 37 29 23 19 17 13 7 3 Primos 0 0 0 8 4 4 8 0 5 8 -1 0 0 0 232 92 76 136 0 35 24 =595 Residuo 595 11 045 54 Dígito chequeo por condición B=1 800155572-9 43 41 37 29 23 19 17 13 7 3 Primos 0 8 0 0 1 5 5 5 7 2 -9 0 328 0 0 23 95 85 65 49 6 =651 Residuo 651 11 101 59 Dígito chequeo = por condición C, 11-2= 9 02 ALGORITMO 28 Otra versión del modulo 11. Se toma la siguiente secuencia que afecta al número de la factura:2,7,6,5,4,3,2,7,6,5, teniendo en cuenta el número total de dígitos de la Factura. 1. Se multiplica cada dígito de la factura por su correspondiente en la secuencia. 2. Se realiza una sumatoria con cada producto anterior. 3. El resultado de la sumatoria se divide por once (11). 4. Dependiendo del residuo se procede así: Residuo Dígito de chequeo. A CERO (0) CERO (0) B Uno(1) Uno (1) C Si es diferente de uno o cero El resultado es el dígito de la resta de once (11), Menos el residuo. Ejemplos: 12346128-2 0 0 2 7 6 5 4 3 2 7 Secuencia 0 0 1 2 3 4 6 1 2 8 -2 0 0 2 14 18 20 24 3 4 56 =141 Residuo 141 11 031 12 Dígito chequeo = por condición C,11-9 =2 09 22346128-0 0 0 2 7 6 5 4 3 2 7 Secuencia 0 0 2 2 3 4 6 1 2 8 -0 0 0 4 14 18 20 24 3 4 56 =143 Residuo 143 11 033 13 Dígito chequeo = por condición A= 0 00 ALGORITMO 40 Se tiene un arreglo con los siguientes números primos: 3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71. 1. El valor recibido por parámetro se le aplica un mascara de 15 ceros, de tal forma que él numero quede con una longitud de 15 caracteres. 2. Se toma él numero resultante de izquierda a derecha y el carácter mas a la izquierda se multiplica por él numero primo mas a la derecha que le corresponda, así: - El primer dígito de la cadena se multiplica por él ultimo de los números primos - El segundo dígito se multiplica por penúltimo numero primo. - El tercer dígito se multiplica por el antepenúltimo numero primo 3. Se realiza un sumatoria con cada producto anterior 4. La sumatoria se divide por once (11) y se toma el residuo. Resultado Dígito de chequeo. A CERO (0) CERO (0) B Uno(1) Uno (1) C Si es diferente de uno y cero es la diferencia entre once y el residuo. Ejemplos: 30510031-6 71 67 59 53 47 43 41 37 29 23 19 17 13 7 3 Factor 0 0 0 0 0 0 0 3 0 5 1 0 0 3 1 -6 0 0 0 0 0 0 0 111 0 115 19 0 0 21 3 = 269 Residuo 269 11 049 24 Dígito chequeo por condición C=11-5= 6 05 ALGORITMO 41 El siguiente algoritmo obtiene el dígito de chequeo así: 1. Al numero de referencia capturado se le quita el ultimo dígito. 2. Los dígitos restantes se leen de izquierda a derecha y según la posición par o impar que le corresponda a cada dígito se hace lo siguiente: Posición impar convierte según la tabla. Posición par queda igual. 3. La tabla de conversión es la siguiente: 0 = 0 1 = 2 2 = 4 3 = 6 4 = 8 5 = 1 6 = 3 7 = 5 8 = 7 9 = 9 4. Los valores resultantes se suman y se dividen por 10 y se obtiene el residuo. 5. El dígito de chequeo será entonces Resultado Dígito de chequeo. CERO (0) CERO (0) Si es diferente de Cero es la diferencia entre diez y el residuo. Ejemplos: 6048400006+7 Se aplica tabla de conversión a posiciones impares 6 0 4 8 4 0 0 0 0 6 Factor 3 0 8 8 8 0 0 0 0 6 -7 3 0 8 8 8 0 0 0 0 6 = 33 Se suman los valores convertidos. Residuo 33 10 03 3 Dígito chequeo por condición =10-3= 7 ALGORITMO 42 El siguiente algoritmo obtiene el dígito de chequeo así: 1. La referencia que se captura es de 5 dígitos, seguidos de la fecha y por ultimo los dígitos de control, así: 12345ddmmaaaa 2. Los dígitos con los que se obtienen los dígitos de control son los 5 primeros, la fecha es informativa. 3. Cada uno de los dígitos que componen la referencia al hasta 5, se multiplica por los factores primos 7, 23, 59, 31, 47 en ese orden. En caso de que alguno de estos dígitos sea 0, se deberá substituir por 11. 4. Se calcula la suma de todos estos productos. 5. Los dígitos verificadores o de control va a ser él modulo 100 del resultado. Ejemplo: 27354010115-95 7 23 59 31 47 Factor 2 7 3 5 4 14 161 177 155 188 = 695 Resultado = 695 Mod 100 = 95 Los dígitos de chequeo son 95. 81096010130-89 7 23 59 31 47 11 8 1 0 9 6 56 23 649 279 282 = 1289 Resultado = 1289 Mod 100 = 89 Los dígitos de chequeo son 89. ALGORITMO 43 Es igual al algoritmo 3, pero se debe tener en cuenta que no se le aplica mascara, adicionalmente se debe de modificar el campo referencia capturado quitándole los dos dígitos de control de tal manera que en la trama a host no viajen estos dos dígitos. Adicionalmente la longitud de la referencia es variable, no de 11 como en el algoritmo 3. 1. Los dígitos de las posiciones impares se duplican y los pares se multiplican por uno (1), dependiendo del numero de dígitos de la factura. Si este valor es mayor que nueve se deben de sumar sus dígitos. Ejemplo : 7x2 = 14 1+4 =5 2. Se suma los anteriores productos. 3. Se toma el resultado de la suma y se extrae el dígito de la derecha (menos significativo) el cual será el primer dígito de chequeo ( el dígito de chequeo más significativo). Ejemplo: Suma =35 primer dígito de chequeo 5. 4. Luego, los dígitos de las posiciones pares, se triplican y las impares se multiplican por uno (1), dependiendo del numero si este valor es mayor que nueve se deben sumar sus dígitos. Ejemplo: 9x3 = 27 2+7 = 9 5. Se suman los anteriores productos. 6. Se toma el resultado de la suma y se extrae el dígito de la derecha (el menos significativo) el cual será el segundo dígito chequeo ( el menos significativo ). Ejemplo: Suma = 20, segundo dígito de chequeo = 0. 7. Por lo tanto los dígitos de chequeo son: 50 Ejemplo: 0000258369000103-52 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 Factor 0 0 0 0 2 5 8 3 6 9 0 0 0 1 0 3 -5 0 0 0 0 4 5 1+6 3 1+2 9 0 0 0 1 0 3 = 35 Resultado =35 Primer dígito de chequeo = 5 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 Factor 0 0 0 0 2 5 8 3 6 9 0 0 0 1 0 3 -2 0 0 0 0 2 1+5 8 9 6 2+7 0 0 0 3 0 9 = 52 Resultado =52 Segundo dígito de chequeo = 2 Dígito de chequeo 52 ALGORITMO 44 Igual al algoritmo 2, pero se botan los dos últimos caracteres de la factura antes de enviar al Host, permite obtener dos dígitos de chequeo. 1. Los dígitos de las posiciones impares se duplican y los pares se multiplican por uno(1), dependiendo del número de dígitos de la factura, observar nota. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 7x2=14 1+4=5. 2. Se suman los anteriores productos. 3. Se toma el resultado de la suma y se extrae el dígito de la derecha (el menos significativo) el cual será el primer dígito de chequeo ( el dígito de chequeo más significativo) Ejemplo: Suma = 35 1er dígito de chequeo = 5. 4. Luego los dígitos de las posiciones pares se triplican y las impares se multiplican por uno(1), dependiendo del número de dígitos de la factura. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 9x3 = 27 2 + 7 = 9) 5. Se suman los anteriores productos. 6. Se toma el resultado de la suma y se extrae el dígito de la derecha ( el menos significativo) el cual será el segundo dígito de chequeo (el menos significativo). Ej. : suma =20 2do dígito de chequeo = 0. Por lo tanto, los dígitos de chequeo son: 50. Nota: Las posiciones pares o impares dependen del número de la facturan no del número máximo de dígitos que se pueden capturar. Esto es: 8421, cuatro dígitos, 8 en la posición 1, 4 en la posición 2, ... 842 tres dígitos, 8 en la posición 1, 4 en la posición 2.. Ejemplos: 752256-35 2 1 2 1 2 1 Factor 7 5 2 2 5 6 3 1+4 5 4 2 1+0 6 = 23 Resultado =23 Primer dígito de chequeo = 3 1 3 1 3 1 3 Factor 7 5 2 2 5 6 5 7 1+5 2 6 5 1+8 = 35 Resultado = 35 Segundo dígito de chequeo = 5 Número de chequeo 35 ALGORITMO 45 También permite obtener dos dígitos de chequeo. 1. Se aplican las validaciones sobre todo los campos de la referencia sin importar la longitud, excepto sobre los dígitos de chequeo. 2. Los dígitos de las posiciones Impares se multiplican por uno (1) y los pares de las posiciones pares se duplican ( se multiplican por dos 2 ), dependiendo del numero de dígitos de la factura. Si este valor es mayor que nueve se debe sumar sus dígitos ejemplo: 7x2 = 14 1+4 =5. 3. Se suman los anteriores productos. 4. Se toma el resultado de la suma y se extrae el dígito de la derecha el cual será el primer dígito de chequeo ( el dígito de chequeo más significativo) Ejemplo: Suma = 18 1er dígito de chequeo = 8 5. Luego los dígitos de las posiciones impares se multiplican por tres (3) y los de las pares por uno(1), dependiendo del número de dígitos de la factura. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 9x3 =27 2 + 7 = 9) 6. Se suman los anteriores productos. 7. Se toma el resultado de la suma y se extrae el dígito de la derecha el cual será el segundo dígito de chequeo. Ej.: suma =31 2do dígito de chequeo = 1. Por lo tanto, los dígitos de chequeo son: 81. Ejemplos: 961274-27 1. Calculo dígito 1: Se toma como referencia para la validación toda la referencia. 2. Se multiplica por los siguientes valores siguiendo el orden establecido 1 2 1 2 1 2, hasta completar todos los campos lo que equivale a: D1= ( (1*9) + (2*6) + (1*1) + (2*2) + (1*7) + (2*4) ) Los productos generan D1= ( 9+(1+2)+1+4+7+8) Los mayores de 9 se suman D1= ( 9+3+1+4+7+8 ) 3. Se suman los anteriores productos y él ultimo dígito de la derecha es el primer dígito de chequeo, D1= 32, el primer dígito de chequeo es D1= 2 4. se calcula el segundo dígito de chequeo que equivale a multiplicar él numero de la referencia por los siguientes valores 3 1 3 1 3. 5. Se multiplican los valores lo que equivale a: D2=( (3*9) + (1*6) + (3*1) + (1*2) + (3*7) + (1*4) ) Los productos generan D2= ( 27+6+3+2+21+4 ) Los mayores de 9 se suman D2= ( 9+6+3+2+3+4 ) 6. Se suman los anteriores productos y él ultimo dígito de la derecha es el segundo dígito de chequeo, D2= 27, el segundo dígito de chequeo es D2= 7 7. Los dígitos de chequeo son 27 ALGORITMO 46 Definicion de la estructura de la referencia para el calculo del digito de verificacion, con este algoritmo se obtienen dos digitos de verificacion 1. NIC: codigo de identificacion del contrato, es un numero consecutivo de 7 digitos. 2. Simbolo variable: Es un codigo que identifica una factura este codigo tiene 10 dígitos, los 7 primeros son el el NIC seguidos de un consecutivo de tres dígitos, el cual se incrementa en 1 con cada nueva facturacion que se emite. 3. ID de Cobro: Codigo para identificar la factura, esta compuesto por el simbolo variable seguido de dos dígitos de chequeo 4. Valor de la factura: Es el total a pagar por una factura emitida, sumariza todos los servicios facturados en la factura. Este valor tiene 13 enteros y dos decimales, para un total de 15 dígitos. El valor que se captura 5. Se suman los anteriores productos. 6. Se toma el resultado de la suma y se extrae el dígito de la derecha el cual será el primer dígito de chequeo ( el dígito de chequeo más significativo) Ejemplo: Suma = 18 1er dígito de chequeo = 8 7. Luego los dígitos de las posiciones impares se multiplican por tres (3) y los de las pares por uno(1), dependiendo del número de dígitos de la factura. Si este valor es mayor que nueve se deben de sumar sus dígitos (Ej. 9x3 =27 2 + 7 = 9) 8. Se suman los anteriores productos. 9. Se toma el resultado de la suma y se extrae el dígito de la derecha el cual será el segundo dígito de chequeo. Ej.: suma =31 2do dígito de chequeo = 1. Por lo tanto, los dígitos de chequeo son: 81. 10. Ejemplos: 11. 961274-27 12. Calculo dígito 1: Se toma como referencia para la validación toda la referencia. 13. Se multiplica por los siguientes valores siguiendo el orden establecido 1 2 1 2 1 2, hasta completar todos los campos lo que equivale a: 14. D1= ( (1*9) + (2*6) + (1*1) + (2*2) + (1*7) + (2*4) ) 15. Los productos generan 16. D1= ( 9+(1+2)+1+4+7+8) 17. Los mayores de 9 se suman 18. D1= ( 9+3+1+4+7+8 ) 19. Se suman los anteriores productos y él ultimo dígito de la derecha es el primer dígito de chequeo, D1= 32, el primer dígito de chequeo e 40