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

Verificar el CUIT/CUIL (Argentina)

Titulo:.zip

Verificar el CUIT/CUIL (Argentina)

Autor:Jose Bascoy (gesem@yahoo.com)
Lenguaje:Visual Basic
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.

Comentarios (16)Votos positivos 94%Votos negativos 6%

14/04/2002Patriciook
Puede servir para verificar el codigo del Rut de cada persona en un solo campo
15/04/2002Nelsonok
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 Bascoyok
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/2002Pablook
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/2002Pablook
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 Bascoyok
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 Gonzalezok
Muy bueno. Hacia rato que buscaba el algoritmo que utilizaban para verificar un CUIT válido. Gracias.
06/09/2002Luluok
Muy util
17/09/2002Aldo Guzmán Sáenzok
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/2002Jorgeok
Solucione el error de 11 y 10 con :"si resultado=11 resultado=0 si resultado=10 resultado=9
09/01/2004Elisabeth Crayon`sko
Malo
12/03/2004juan carlosok
es util, copie la funcion la adapte para que retorne un boolean y funciona bien
31/07/2004Luchook
Funciona pero no valida los cuit que comienzan con 24. ¿Hay solución?
07/01/2005Scorpiotok
sadsad
15/07/2008Matías Freireok
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/2013Anonimook
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

Comenta este código fuente

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