Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Calcular CUIT/CUIL

549 views
Skip to first unread message

Rodrigo Juarez

unread,
Jul 11, 2002, 8:22:12 AM7/11/02
to
Hola a todos!!!

Quisiera saber si alguien tiene una rutina para calcular el n° de CUIT
o CUIL a partir del n° de documento.
Desde ya muchas gracias.

Rodrigo Juarez
Mendoza, Argentina.

Daniel Salazar

unread,
Jul 9, 2002, 7:50:07 PM7/9/02
to
Rodrigo te paso un PRG en donde hago el control del numero de
CUIL/CUIT el unico problema que tiene es que esta hecho en
FOXPRO para DOS pero no vas a tener problemas en adaptarlo a
VFOXPRO


Daniel Salazar
General Guemes - Salta - Argentina


*/***********************************************************************
PARAMETER wcuil,vCondicion
* wcuil es el nro. de cuit/cuil en formato 99-999999999-9
* vCondicion es la condicion fiscal RI ,RNI,CF ,EX ,MON
* Dialog es una rutina que utilizo para mostrar una ventana
* con un mensaje y uno/dos botones muy similar al comando
* messagebox de windows

IF LASTKEY()=4+1 OR LASTKEY()=14+1 OR LASTKEY()=18+1
RETURN
ENDI

IF vCondicion = "CF "
RETURN
ENDI

wcuil1 = SUBSTR(wcuil,1,2)
wcuil2 = SUBSTR(wcuil,4,8)
wcuil3 = SUBSTR(wcuil,12+1,1)
vPondera = "5432765432"
vModulo = 11

RELEASE vFactor
DIMENSION vFactor(10)

FOR x = 1 TO 10
vFactor(x) = VAL(SUBSTR(vPondera,x,1))
NEXT

cuil = wcuil1 + wcuil2

vSuma = 0
FOR x = 1 to 10
valor = VAL(SUBSTR(cuil,x,1)) * vFactor(x)
vSuma = vSuma + valor
next

da = int(vSuma / vModulo)
dife = vSuma - (da * vModulo)

if dife <> 0
digito = vModulo - dife
else
digito = dife
endi

xopc=.t.

IF digito < 10
IF wCuil3 <> STR(digito,1)
xopc=dialog(" CUIT no valido, Continuar ? ",3,1,"")
IF xopc=2
_CUROBJ = _CUROBJ + 1
xopc=.t.
ENDI
ENDI
ELSE
xopc=dialog(" CUIT no valido, Continuar ? ",3,1,"")
IF xopc = 2
_CUROBJ = _CUROBJ + 1
xopc = .t.
ENDI
ENDI

RELEASE vFactor

RETURN xopc


Esparta Palma

unread,
Jul 11, 2002, 2:08:56 PM7/11/02
to

Como cultura general, que es el CUIT/CUIL?.

--

¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º
Espartaco Palma Martínez
Administrador de Base de Datos
Subdirección de Sistemas
Dirección de Catastro e Impuesto Predial
H. Ayuntamiento Municipal, Acapulco, Gro., México.
(744)434-00-00 y 01 Ext. 4248

Emiliano

unread,
Jul 11, 2002, 2:33:44 PM7/11/02
to
CUIL: Clave Unica de Identificacion Laboral
CUIT: Clave unica de identificacion Tributaria
Bye..
--
--
Saludos, Emiliano
ICQ:34013175
Rosario-Santa Fe
Argentina.


Eduardo Piován

unread,
Jul 11, 2002, 2:48:34 PM7/11/02
to
CUIT: Clave Unica de Identificacion Tributaria

CUIL: Clave Unica de Identificacion Laboral

Ambas basadas en el numero de documento de las personas mas un agregado
anterior de 2 dígitos y uno posterior de 1 dígito.

CUIT: 30-12345678-9
CUIL: 20-12345678-2

Solo para Argentina.
---------------------------------------------
Eduardo Piován
e_pi...@co19set.com.ar
San Jenaro Norte
Santa Fe - Argentina


Esparta Palma

unread,
Jul 11, 2002, 3:01:24 PM7/11/02
to

Gracias Eduardo Piován y Emiliano

--

Rodrigo Juarez

unread,
Jul 11, 2002, 4:41:22 PM7/11/02
to
Hola, si no entendi mal, el programa determina si un n° de CUIT es
válido, lo que yo quiero es desde el n° de documento, que me diga cual
es el cuit.
Por ejemplo
DNI 24559700 cual es el n° de CUIT/CUIL correspondiente segun el tipo
de responsable.

Saludos!!!

Luis María Guayán

unread,
Jul 11, 2002, 5:29:52 PM7/11/02
to
Rodrigo, primero mira si esto te sirve:
Validar el número de CUIT o CUIL
http://www.portalfox.com/article.php?sid=234

2° La generación de CUIT o CUIL la realizan unicamente el ANSSES, DGI, AFIP
y no se si algún otro organismo.

Yo hice alguna vez una rutina para generar el CUIT, pero hay ciertos casos
que el número generado, no es el mismo que el de los organismos oficiales.
De todos modos te adjunto la rutina y tu la pruebas y ves si puedes
corregirla.

*--------------------------------------------------------------------------
* FUNCTION GenCUIT
*--------------------------------------------------------------------------
* Genera número de CUIT o CUIL
* USO: GenCUIT(<Caracter o Numerico>, <Tipo>)
* RETORNA: Caracter "99-99999999-9"
* PARAMETROS: tNro = Número para generar CUIT
* tcTipo = "S"ociedad, "H"ombre, "M"ujer
* AUTOR: LMG
*--------------------------------------------------------------------------
FUNCTION GenCUIT(tNro, tcTipo)

LOCAL lcPrefijo, lcCUIT, lnI, lcNro, lnDigito

IF EMPTY(tcTipo)
tcTipo = "@"
ENDIF

IF TYPE("tNro") = "C"
tNro = ALLTRIM(tNro)
ENDIF

lcNro=PADL(tNro,8,"0")

DO CASE
CASE tcTipo="S"
lcPrefijo="3033"
CASE tcTipo="H"
lcPrefijo="2023"
CASE tcTipo="M"
lcPrefijo="2723"
OTHER
lcPrefijo="909192"
ENDCASE
lnI=1
DO WHILE lnI < 10
lcCUIT = SUBS(lcPrefijo,lnI,2) + "-" + lcNro
lnSuma = VAL(SUBS(lcCUIT,11,1))*2 + VAL(SUBS(lcCUIT,10,1))*3 + ;
VAL(SUBS(lcCUIT,9,1))*4 + VAL(SUBS(lcCUIT,8,1))*5 + ;
VAL(SUBS(lcCUIT,7,1))*6 + VAL(SUBS(lcCUIT,6,1))*7 + ;
VAL(SUBS(lcCUIT,5,1))*2 + VAL(SUBS(lcCUIT,4,1))*3 + ;
VAL(SUBS(lcCUIT,2,1))*4 + VAL(SUBS(lcCUIT,1,1))*5
lnDigito = IIF(MOD(lnSuma,11)=0 ,0 , 11-MOD(lnSuma,11))
IF lnDigito < 10
lcCUIT = lcCuit + "-" + STR(lnDigito,1)
EXIT
ENDIF
lnI = lnI + 2
ENDDO
RETURN lcCUIT

ENDFUNC

*--------------------------------------------------------------------------

--
Luis María Guayán
Vicente Trapani S.A.
Tucumán, Argentina
_____________________________________________
Microsoft Visual FoxPro MVP
SysOp de PortalFox - http://www.portalfox.com
_____________________________________________


"Rodrigo Juarez" <rodr...@azinformatica.com.ar> escribió en el mensaje
news:estqiuk2mscc48p1q...@4ax.com...

ovau...@gmail.com

unread,
Jul 8, 2020, 11:55:24 AM7/8/20
to
El CUIT es un número que emite la Organización de AFIP para identificar a todo individuo que declara impuestos.

El CUIL en cambio es un número que lo emite el ANSES que funciona con la misma finalidad pero para identificar a la gente que trabaja en relación de dependencia.

Los dos números se calculan haciendo la misma ecuación. Si queres generar tu cuit/cuil podes hacerlo desde esta web https://micuitonline.com.ar/
0 new messages