Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

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
27.610 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
27.611 visualizaciones desde el 09 de Abril del 2002. Una media de 49 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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

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

14/04/2002Patricio
estrellaestrellaestrellaestrellaestrella
Puede servir para verificar el codigo del Rut de cada persona en un solo campo
15/04/2002Nelson
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

16/04/2002Jose Bascoy
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


04/07/2002Pablo
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
04/07/2002Pablo
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.
05/07/2002Jose Bascoy
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.
17/07/2002German Gonzalez
estrellaestrellaestrellaestrellaestrella
Muy bueno. Hacia rato que buscaba el algoritmo que utilizaban para verificar un CUIT válido. Gracias.
06/09/2002Lulu
estrellaestrellaestrellaestrellaestrella
Muy util
17/09/2002Aldo Guzmán Sáenz
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.
24/09/2002Jorge
estrellaestrellaestrellaestrellaestrella
Solucione el error de 11 y 10 con :"si resultado=11 resultado=0 si resultado=10 resultado=9
09/01/2004Elisabeth Crayon`s
estrellaestrellaestrellaestrellaestrella
Malo
12/03/2004juan carlos
estrellaestrellaestrellaestrellaestrella
es util, copie la funcion la adapte para que retorne un boolean y funciona bien
31/07/2004Lucho
estrellaestrellaestrellaestrellaestrella
Funciona pero no valida los cuit que comienzan con 24. ¿Hay solución?
07/01/2005Scorpiot
estrellaestrellaestrellaestrellaestrella
sadsad
15/07/2008Matías Freire
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!!!!!

30/07/2013Anonimo
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

Comentar la versión: Versión 1

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