Código de Visual Basic - Verificar el CUIT/CUIL (Argentina)

Verificar el CUIT/CUIL (Argentina)gráfica de visualizaciones


Visual Basic

estrellaestrellaestrellaestrellaestrella(16)
Publicado el 09 de Abril del 2002 por Jose Antonio
32.330 visualizaciones desde el 09 de Abril del 2002. Una media de 49 por semana
Este es el codigo para el digito verificado, para chequear el CUIT/CUIL en Argentina. Tiene la rutina en el Módulo DigitoVerificador para poderlo agregar en cualquier programa. Permite ingresar los datos en formato "99-99999999-9" (13 digitos) o" 99999999999" (11 digitos). Devuelve el CUIT/CUIL con guioines.

Versión 1
estrellaestrellaestrellaestrellaestrella(16)

Publicado el 09 de Abril del 2002gráfica de visualizaciones de la versión: Versión 1
32.331 visualizaciones desde el 09 de Abril del 2002. Una media de 49 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

  • Archivo para descargar
  • vb_cuit.zip(2,1 KB)gráfica de descargas27.594 descargas

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios sobre la versión: Versión 1 (16)

Patricio
14 de Abril del 2002
estrellaestrellaestrellaestrellaestrella
Puede servir para verificar el codigo del Rut de cada persona en un solo campo
Responder
Nelson
15 de Abril del 2002
estrellaestrellaestrellaestrellaestrella
Al algoritmo hay que corregirlo!!!
donde dice:
resultado = sumador Mod 11
resultado = 11 - resultado 'saco el digito verificador

DEBE DECIR:
resultado = sumador Mod 11
If resultado <> 0 Then
resultado = 11 - resultado 'saco el digito verificador
End If

Responder
Jose Bascoy
16 de Abril del 2002
estrellaestrellaestrellaestrellaestrella
Aclaración del algoritmo para Nelson npacheco@mail.com !!!!!!

No se puede obviar el modulo con un if cuando es cero, porque si da 11 entonces el CUIT/Cuil no res correcto.
La AFIP usa al comienzo de la clave:

20 unipersonal hombre
27 unipersonal mujer
30 empresas (de hecho,S.R.L.,S.A. etc.

Cuando se asigna el CUIL/CUIL y el digito verificador da 10 o mas se reemplaza el comienzo de la clave por:

23 unipersonal hombre
28 unipersonal mujer
33 empresas (de hecho,S.R.L.,S.A. etc.

Ejemplo:

Documento unipersonal hombre
21886766

CUIT: 20-21886766-X

Si uso 20 de identificacion me da a dar un digito verificador mayor o igual a 10 (en este caso el resultado del digito verificador seria 10 y NO SIRVE)

Se reemplaza el 20 por 23 y da

CUIT 23-21886766-9 (da digito verificador 9)

Espero que sirve de ejemplo y no estropees el codigo porque va a salir cuaquier verdura.

Jose Bascoy


Responder
Pablo
04 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
Es la validacion clasica, pero hay excepciones como
27-22297864-0 de Patricia Cona que no supera la validacion
habra que conseguir mas datos de como calcular o salvar los CUIT o CUIL comenzados en 27 o 33
Responder
Pablo
04 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
este si funciona !!

VERIFICACION DE CUIT/CUIL (genérico)
El CUIL consta de 11 números. Los 10 primeros (2 + 8)
constituyen el código de identificación y el último, el
dígito de verificación. Para obtener esta verificación se
procede de la siguiente forma: A cada dígito del código, se
lo multiplica por los siguientes números (respectivamente)
5, 4, 3, 2, 7, 6, 5, 4, 3, 2 y cada valor obtenido, se suma
para obtener una expresión (que llamaremos "valor 1". A
este "valor 1", se le saca el resto de la división
entera a 11. Se obtiene de esta forma un número (del 0 al
10) (que llamamos "valor 2"). Sacamos la diferencia entre
11 y el "valor 2", y obtenemos un valor comprendido entre 1
y 11 (llamémosle "valor 3"). Si "valor 3"=11, el código
verificador es cero. Si "valor 3"=10, el código verificador
es 9. En cualquier otro caso, el código verificador es
"valor 3".
Ejemplo numérico con un número de CUIT, que es 20-17254359-7.
2 0 1 7 2 5 4 3 5 9
x
5 4 3 2 7 6 5 4 3 2
------------------------------------------------
10 + 00 + 03 + 14 + 14 + 30 + 20 + 12 + 15 + 18 = 136
v1 = 136
136 mod 11 = 4
v2 = 4
11 - 4 = 7
v3 = 7 => Código de verificación es siete.
Responder
Jose Bascoy
05 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
Aclaración:
El digito verificador debe ser exacto ( de 0 a 9) no se puede reemplazar cuando da 10 por 9 porque no es valido. En el caso del comentario de Pablo con el cuit o cuil comenzando en 27, hay que reemplazarlo por 28, porque asi lo determina la DGI. Para todo cuit o cuil que no de el digito verificador hay un reemplazo (comentario que lo explica mas abajo). El 33 es reemplazo del 30.
Responder
German Gonzalez
17 de Julio del 2002
estrellaestrellaestrellaestrellaestrella
Muy bueno. Hacia rato que buscaba el algoritmo que utilizaban para verificar un CUIT válido. Gracias.
Responder
Lulu
06 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
Muy util
Responder
Aldo Guzmán Sáenz
17 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
Aunque no entendí bien el algoritmo de decisión para el CUIT, aprendí un poco de sintaxis y de estructura de datos de VB.

PD. No sabía nada de VB, je je je .

Gracias.
Responder
Jorge
24 de Septiembre del 2002
estrellaestrellaestrellaestrellaestrella
Solucione el error de 11 y 10 con :"si resultado=11 resultado=0 si resultado=10 resultado=9
Responder
Elisabeth Crayon`s
09 de Enero del 2004
estrellaestrellaestrellaestrellaestrella
Malo
Responder
juan carlos
12 de Marzo del 2004
estrellaestrellaestrellaestrellaestrella
es util, copie la funcion la adapte para que retorne un boolean y funciona bien
Responder
Lucho
31 de Julio del 2004
estrellaestrellaestrellaestrellaestrella
Funciona pero no valida los cuit que comienzan con 24. ¿Hay solución?
Responder
Scorpiot
07 de Enero del 2005
estrellaestrellaestrellaestrellaestrella
sadsad
Responder
Matías Freire
15 de Julio del 2008
estrellaestrellaestrellaestrellaestrella
Gente...

La rutina está bien, excepto por un pequeño error en el cálculo de digito verificador.

donde dice:

resultado = 11 - resultado 'saco el digito verificador

corrijanlo por:

resultado = (11 - resultado) Mod 11


y listo.... el muchacho se olvidó de hacer un último Mod.... a cualquiera le podría pasar che!!!!!

Responder
Anonimo
30 de Julio del 2013
estrellaestrellaestrellaestrellaestrella
Que pasa cuando con el 20 da 11 el dígito verificador? y si lo cambio por 23 da 10... se pone 27 aunque sea hombre o como se hace?
con 27 si da un numero de un solo digito.

Saludos
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s160