Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El Código Único de Identificación Tributaria (CUIT) es una clave que se utiliza en el sistema tributario de la República Argentina
para poder identificar inequívocamente a las personas físicas o jurídicas autónomas, susceptibles de tributar. Las claves son asignadas
por la Administración Federal de Ingresos Públicos (AFIP), para poder confeccionar el registro o censo de las mismas, para efectos
administrativos y tributarios.
Índice
Composición
Otros nombres
La CUIT como dato personal de carácter público
Procedimiento para obtener la CUIT
Procedimiento para obtener el dígito verificador
Ejemplo Macro en Visual Basic MS Excel
Código Bash
Código Java
Código Javascript
Código Python
Código PHP
Código PL/SQL
Código T-SQL
Código Visual FoxPro
Código Go
Referencias
Enlaces externos
Composición
Consta de un total de once (11) cifras: dos dígitos iniciales que indican el tipo global, seguido por ocho dígitos que corresponden, en
el caso de personas físicas, al número de Documento Nacional de Identidad, y en el caso de empresas a un número de sociedad
asignado por la AFIP, y finalmente un dígito verificador.
Otros nombres
Para quienes trabajan en relación de dependencia, el mismo código toma el nombre de Código Único de Identificación Laboral
(CUIL).
Quienes necesitan realizar operaciones que implican el pago de tributos (tal como varios tipos de compraventas registradas), pero que
no clasifican como empleados o trabajadores autónomos, también pueden obtener de la misma agencia una "Clave de Identificación"
(CDI).
el tipo,
el número y
el dígito verificador.
En el siguiente ejemplo se toma como CUIT el número ##-12345678-X, donde ## es el tipo, 12345678 es el número de DNI o
número de sociedad yX es el dígito verificador.
Tipos:
Se procede a tomar el número de 10 dígitos compuesto por los 2 primeros mas los 8 dígitos siguientes, de derecha
a izquierda, multiplicando cada dígito por los números que componen la serie numérica 2,3,4,5,6,7; y sumando el
resultado de estos productos, como se muestra a continuación (si se ha aplicado la serie hasta el 7 y quedan dígitos
por multiplicar, se comienza la serie nuevamente):
En el ejemplo:
8 × 2 = 16
7 × 3 = 21
6 × 4 = 24
5 × 5 = 25
4 × 6 = 24
3 × 7 = 21
2 × 2 = 4
1 × 3 = 3
0 × 4 = 0
2 × 5 = 10
16+21+24+25+24+21+4+3+0+10 = SUMA_P
Al número obtenido por la suma del producto de cada dígito por la serie ya mencionada, se le aplica módulo 11, o
sea, se divide por 11 y se determina el resto de la división.
En el ejemplo:
ONCEMENOS = 11 - SUMA_MOD11
Si el resultado es 10, no existe, es un error. Se debe cambiar el tipo a 23 o 33 y recalcular. Algunos algoritmos
verifican erróneamente con 9 sin cambiar el tipo, lo cual es unafalla de implementación.
Ponderador = 2
Acumulado = 0
Código Bash
#!/bin/bash
acumulado =0
for i in `seq 0 9`
do
acumulado =$((acumulado + digitos [9 - i] * (2 + (i % 6))))
done
verif=$((acumulado % 11))
if [ "$verif " = 11 ]; then verif=0; fi
exit 0
Código Java
Código Javascript
if(cuit.length != 11) {
return false;
}
var acumulado = 0;
var digitos = cuit.split("");
var digito = digitos .pop();
Código Python
Código PHP
$acumulado = 0;
$digitos = str_split ($cuit); // Convertir en un array
$digito = array_pop ($digitos ); // Extraer último elemento del array
$contador = count($digitos );
Código PL/SQL
Código T-SQL
/*
Codigo Valor
0 Error
1 OK
*/
set @ResultVar =0
if len(@Cuitl )>13
begin
set @ResultVar =0
end
else
begin
if len(substring (@Cuitl ,1,CHARINDEX ('-',@Cuitl )-1))>2
begin
set @ResultVar =0
end
else
begin
if len(substring (reverse (@Cuitl ),1,CHARINDEX ('-',reverse (@Cuitl ))-1))>1
begin
set @ResultVar =0
end
else
begin
set @TempCuitl =reverse (substring (reverse (substring (reverse (@Cuitl ), charindex ('-
',REVERSE (@Cuitl ))+1,50)),1,CHARINDEX ('-',reverse (substring (reverse (@Cuitl ), charindex ('-
',REVERSE (@Cuitl ))+1,50)))-1)+ substring (reverse (substring (reverse (@Cuitl ), charindex ('-
',REVERSE (@Cuitl ))+1,50)),charindex ('-',reverse (substring (reverse (@Cuitl ), charindex ('-
',REVERSE (@Cuitl ))+1,50)))+1,50))
set @i=1
set @j=1
set @suma =0
while @i<=len (@TempCuitl )
begin
set @suma =@suma+ Cast((substring (@TempCuitl ,@i,1)) as int)
*Cast((substring (@factmult ,@j,1)) as int)
set @i=@i+1
set @j=@j+1
if @j>6
set @j=1
end
end
end
end
if Cast(substring (reverse (@Cuitl ),1,CHARINDEX ('-',reverse (@Cuitl ))-1) as int) =11-(@suma % 11)
set @ResultVar =1
RETURN @ResultVar
--by CLF_GT
END
FUNCTION ValidarCUIT(tcCUIT)
LOCAL lnSuma, llRet
IF EMPTY(tcCuit)
llRet = .T.
ELSE
IF TYPE('tcCuit' ) = 'C' AND LEN(tcCuit) = 11
lnSuma = VAL(SUBS(tcCUIT,10,1)) * 2 + ;
VAL(SUBS(tcCUIT,9,1)) * 3 + ;
VAL(SUBS(tcCUIT,8,1)) * 4 + ;
VAL(SUBS(tcCUIT,7,1)) * 5 + ;
VAL(SUBS(tcCUIT,6,1)) * 6 + ;
VAL(SUBS(tcCUIT,5,1)) * 7 + ;
VAL(SUBS(tcCUIT,4,1)) * 2 + ;
VAL(SUBS(tcCUIT,3,1)) * 3 + ;
VAL(SUBS(tcCUIT,2,1)) * 4 + ;
VAL(SUBS(tcCUIT,1,1)) * 5
llRet = VAL(SUBS(tcCUIT,11,1)) = ;
IIF(MOD(lnSuma,11) = 0, 0, 11- MOD(lnSuma,11))
ELSE
*-- No es Char o no tiene el largo correcto
llRet = .F.
ENDIF
ENDIF
RETURN llRet
ENDFUNC
Código Go
Referencias
1. «Art. 5, Ley 25.326 de Protección de Datos Personales» (http://www.infoleg.gov.ar/infolegInternet/anexos/60000-649
99/64790/texact.htm). Consultado el 11 de septiembre de 2012.
2. Administración Federal de Ingresos Públicos.«Guía de Trámites de la Administración Federal de Ingresos Públicos»
(http://www.afip.gob.ar/genericos/guiaDeTramites/categoria_list_detail.aspx?id_padre=118) . Consultado el 11 de
septiembre de 2012.
Enlaces externos
Administración Federal de Ingresos Públicos
Obtenido de «https://es.wikipedia.org/w/index.php?title=Clave_Única_de_Identificación_T
ributaria&oldid=113737860»
Esta página se editó por última vez el 4 feb 2019 a las 14:49.
El texto está disponible bajo laLicencia Creative Commons Atribución Compartir Igual 3.0 ; pueden aplicarse cláusulas
adicionales. Al usar este sitio, usted acepta nuestrostérminos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de laFundación Wikimedia, Inc., una organización sin ánimo de lucro.