- Rol Único Tributario
-
El Rol Único Tributario, conocido también por el acrónimo RUT, es un número único chileno, que fue establecido como identificación tributaria por el Decreto con Fuerza de Ley N° 3 del 29 de enero de 1969.[1] La identificación tributaria anterior era el Rol General de Contribuyentes (1959-1969).
La asignación del Rol respectivo está a cargo de dos organismos estatales, según la naturaleza del asignatario:
- Todas las personas naturales, nacionales o extranjeras, reciben un Rol Único Nacional (RUN) otorgado por el Servicio de Registro Civil e Identificación, este mismo número también servirá de identificador ante el Servicio de Impuestos Internos y ante todo otro organismo del Estado;
- Las personas jurídicas, en cambio, deben efectuar el trámite de Inicio de Actividades ante el Servicio de Impuestos Internos, mediante el cual éste asignará un RUT, este mismo número servirá como identificador de la entidad ante todos los organismos del Estado;
El formato del RUT es igual al del RUN, por lo tanto, obedece a la forma XX.XXX.XXX - Y.
Tanto el RUT como el RUN son personalísimos e intransferibles, por lo tanto:
- Un mismo Rol solamente será asignado a una persona determinada, sea natural o jurídica;
- Un titular de RUN o RUT mantendrá el mismo Rol durante toda su existencia legal,
- Terminada la existencia legal del titular de RUN o RUT, nunca es vuelto a asignar.
Contenido
Algoritmo
El algoritmo para obtener el dígito verificador corresponde al método para validar el RUN o RUT. El Rol Único Nacional (RUN) y el Rol Único Tributario (RUT) chilenos (ambos coinciden en el RUN si se trata de personas naturales) poseen un dígito verificador que evita engaños y suplantaciones de identidad.
El dígito verificador se obtiene a partir de un algoritmo conocido como Módulo 11. Existen otras maneras de obtener el dígito verificador de los números de identificación del mundo, pero en Chile se aplica exclusivamente el Módulo 11. El Módulo 11 consiste en la aplicación de operaciones aritméticas a cada dígito del número del RUT.
Procedimiento para obtener el dígito verificador
El RUT consta de dos partes, el número y el dígito verificador separados por un guion. En el siguiente ejemplo se toma como RUT el número 30.686.957-X, donde 30.686.957 es el número del RUT y X es el dígito verificador que no conocemos o que queremos verificar:
- Se procede a tomar el número de RUT 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:
7 × 2 = 14,
5 × 3 = 15,
9 × 4 = 36,
6 × 5 = 30,
8 × 6 = 48,
6 × 7 = 42,
0 × 2 = 0,
3 × 3 = 9, entonces la suma de los productos es: 14+15+36+30+48+42+0+9 = 194
- 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:
194: 11 = 17
Resto: 7
Ahora a 11 se le resta el resto:
En el ejemplo:
11 - 7 = 4
- Si el resultado es 11, el dígito verificador será 0.
- Si el resultado es 10, el dígito verificador será K.
- En otro caso el resultado será el dígito verificador.
Como en el ejemplo el resultado de la resta es 4, el dígito verificador es 4.
Por ende, el RUT del ejemplo es el 30.686.957-4.
Ejemplos
Public Function RutDigito(ByVal Rut As Long) As String Dim Digito As Integer Dim Contador As Integer Dim Multiplo As Integer Dim Acumulador As Integer Contador = 2 Acumulador = 0 While Rut <> 0 Multiplo = (Rut Mod 10) * Contador Acumulador = Acumulador + Multiplo Rut = Rut \ 10 Contador = Contador + 1 If Contador > 7 Then Contador = 2 End If Wend Digito = 11 - (Acumulador Mod 11) RutDigito = CStr(Digito) If Digito = 10 Then RutDigito = "K" If Digito = 11 Then RutDigito = "0" End Function
NOTA: Este mismo código sin ninguna modificación también funciona en Openoffice.org
private string digitoVerificador(int rut) { int Digito; int Contador; int Multiplo; int Acumulador; string RutDigito; Contador = 2; Acumulador = 0; while (rut != 0) { Multiplo = (rut % 10) * Contador; Acumulador = Acumulador + Multiplo; rut = rut/10; Contador = Contador + 1; if (Contador == 8) { Contador = 2; } } Digito = 11 - (Acumulador % 11); RutDigito = Digito.ToString().Trim(); if (Digito == 10 ) { RutDigito = "K"; } if (Digito == 11) { RutDigito = "0"; } return (RutDigito); } } }
#!/usr/bin/perl6 my ($RUT, @RUT, $digito); $RUT = @*ARGS; # leemos el argumento pasado al programa @RUT = $RUT.split('').reverse; # lo pasamos a array y le damos la vuelta $digito = [+](@RUT <<*>> (2..7)); # cálculo del dígito verificador $digito = 11 - $digito % 11; $digito = ( 0 .. 9, 'K', 0 )[$digito]; say "$RUT-$digito"; # salida
dv = function(T) {var M=0,S=1;for(;T;T=Math.floor(T/10))S=(S+T%10*(9-M++%6))%11;return S?S-1:'K';} alert('El digito verificador del rut ingresado es '+dv(prompt('Ingrese rut para mostrar su digito verificador:')));
NOTA: Este mismo código sin ninguna modificación también funciona en Openoffice.org
function dv($r){$s=1;for($m=0;$r!=0;$r/=10)$s=($s+$r%10*(9-$m++%6))%11;echo 'El digito verificador del rut ingresado es ',chr($s?$s+47:75);}
Referencias
Categorías:- Derecho tributario de Chile
- Impuestos de Chile
- Identificadores
Wikimedia foundation. 2010.