lunes, 24 de septiembre de 2012

Como validar el RUT en Libre Office - Chile


Que es...?

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. 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.

Al Grano:
1. Lo primero es abrir nuestro LibreOffice Calc e ir a Herramientas -> Organizar Macros -> LibreOffice Basic.


2. Seleccionamos Macros de LibreOffice y posteriormente el nombre de nuestro documento y agregamos uno nuevo y le ponemos un nombre para identificar la macros.


3. Ahora en la ventana que nos aparece pegamos el siguiente código:

Public Function dvrut(rut)
' Por Jose Ossa Monge 2006'
 rut = Replace("0000" & rut, ".", "", 1)
 If InStr(1, rut, "-") > 0 Then rut = Left(rut, InStr(1, rut, "-") - 1)
 rut = Right(rut, 8)
 suma = 0
 For i = 1 To 8
 suma = suma + Val(Mid(rut, i, 1)) * Val(Mid("32765432", i, 1))
 Next i
 dv = 11 - (suma Mod 11)
 If dv = 10 Then dv = "k"
 If dv = 11 Then dv = 0
 dvrut = dv
 End Function

4. Cerramos y queda guardada la Función

5. Descarga el Ejemplo desde acá:
https://docs.google.com/file/d/0B3VJeanW10_vNmZveThha09PR28/edit

2 comentarios:

  1. Estimado:

    Podrias por favor ser más especifico...el codigo va dentro de sub main(), no aparece en tu ejemplo :(

    saludos

    ResponderEliminar
  2. Debe borrar todo lo que la ventana tiene y luego insertar este código.
    Gracias amigo,
    Está muy bién

    ResponderEliminar

Gracias por tus comentarios...!