Hola Mario: Esta es una función para verificar si el CUIT/CUIL es válido.

 

Pero ¡OJO con el cálculo automático!  Normalmente el CUIT/CUIL responde a
ciertas reglas, pero en algunos casos excepcionales cambian el prefijo sin
que ese cambio responda a datos verificables

 

Cuando el resultado del cálculo inicial da 10, el dígito verificador pasa a
ser 9 y el prefijo de las Sociedades pasa a ser 33, el de los hombres a
23.En el caso de las mujeres el prefijo pasa a 23 y el digito verificador
pasa a ser 4. Si el numero de documento estuviera duplicado (cosa que
sucede) el prefijo cambia a 34 en Sociedades y a 24 en las personas físicas

 

Los prefijos aceptados son

20: Masculino

27: Femenino

23: Masculino/Femenino

24: Masculino/Femenino (Cuando hay repetición de Nº de documento, increíble
pero real y no detectable)

30: Sociedades

33: Sociedades

34: Sociedades (Cuando hay repetición de Nº de la sociedad, increíble pero
real y no detectable)

 

Para obtener el CUIT/CUIL, lo más seguro es consultar la página del ANSES.
En el caso de CUIT, se puede descargar un archivo texto que luego se puede
pasar a dbf y consultar la existencia del CUIT.

 

En el caso de CUIL no sé si existe algún archivo a descargar con los CUILes
generados.

 

function VerifCuit

parameters FCuit

private Secuencia, I, ProDesc, DigVer

 

if lastkey() # 27

                Secuencia= '54-32765432'

                ProDesc= 0

                for I= 1 to 11

                                if i # 3

                                                ProDesc= ProDesc + (val
(substr (FCuit,i,1)) * val (substr (Secuencia,i,1)))

                                endif

                endfor

                DigVer= 11 - mod (ProDesc, 11)

                if DigVer= 10

                                wait window nowait 'El Prefijo debe
cambiarse'

                                return .F.

                endif

                if alltrim (str (DigVer))= right (FCuit, 1)

                                return .T.

                else

                                wait window nowait 'El dígito verificador no
coincide'

                                return .F.

                endif

else

                return .T.

endif

 

 

Saludos

Fabricio A. Bridera

 

De: [email protected] [mailto:[email protected]] En nombre de Mario Andrés Ageno
Enviado el: Viernes, 19 de Octubre de 2012 12:00
Para: GUFA List Member
Asunto: [GUFA] Generara CUIT automatico

 

Buenos Días

 

Alguien tiene cual es la formula para generar los CUIT o CUIL de personas
físicas o jurídicas, en base a su sexo y numero de documento.

 

tengo que incorporar el cuit a una base de datos donde tengo estos datos,
sexo, documento, personaría jurídica 

 

gracias


------
Mario Andrés Ageno
Analista de Sistemas
de Computación
Italia 2317 - 3040 San Justo (SF)
mail: [email protected]
web: www.maasoft.com.ar
msn: [email protected]

Responder a