martes, septiembre 01, 2009

Validar Cedula o RUC - Ecuador

Parte-1


Parte-2


VALIDACION DE CEDULA DE IDENTIDAD (PERSONA NATURAL)


El ruc de una persona natural será 13 dígitos, sin letras, sin caracteres especiales , únicamente números, de los cuales los 10 primeros será la cédula de identidad.
El tercer dígito es menor a 6 ( 0,1,2,3,4,5 ).
Los tres últimos dígitos son 001,002,003 etc., dependiendo el número de establecimientos adicionales.
La validación de la cédula de Identidad pasa un algoritmo “Módulo 10”. Al número se lo divide en 13 partes, las 9 primeras son el número mismo, la 10 es el dígito autoverificador, y las 3 restantes indican si es principal o establecimiento adicional.
Las 2 primeras posiciones corresponden a la provincia donde fue expedida, por lo cual los dos primeros números no será mayor a 22 ni menor a 1.
Los 3 últimos bytes no podrán ser 000, ya que siempre por lo menos tendrá una principal.
Los coeficientes usados para verificar el décimo dígito de la cédula, mediante el algoritmo “Módulo 10”

COEFICIENTES = 2.1.2.1.2.1.2.1.2 ( cuando el residuo es 0 el digito verificador es 0)


Ejemplo: cédula = 1710034065

2 1 2 1 2 1 2 1 2 (Coeficiente)
1 7 1 0 0 3 4 0 6 (Número de Cédula)
2 7 2 0 0 3 8 0 12 = 25 (Multiplicar cada dígito de la cédula por el
3 coeficiente, si es mayor a 10 sumo entre dígitos).

sumar las multiplicaciones

Del resultado de la suma
25/10= 2 Residuo 5 10-5 = 5 (dígito verificador)

Nota: Cuando el residuo es cero(0) el dígito verificador es 0.


VALIDACION DEL NUMERO DE RUC

El ruc será 13 dígitos, sin letras, sin caracteres especiales.
El tercer dígito será 6 ó 9 dependiendo el tipo de persona.
Los tres últimos dígitos son 001,002,003 etc., dependiendo el número de establecimientos adicionales.
La validación de la cédula de Identidad pasa un algoritmo “Módulo 11”. Al número se lo divide en 13 partes, las 9 primeras son el número mismo, la 10 es el dígito autoverificador para las personas jurídicas y la posición 9 es el dígito autoverificador para las Instituciones públicas, y las 3 restantes indican si es principal o establecimiento adicional.
Las 2 primeras posiciones corresponden a la provincia donde fue expedida, por lo cual los dos primeros números no será mayor a 22 ni menor a 1.
Los 3 últimos dígitos no podrán ser 000 para las personas jurídicas y los últimos dígitos no podrán ser 0000 para las Instituciones públicas, ya que siempre por lo menos tendrá una principal.
Los coeficientes usados para verificar el décimo dígito de la cédula, mediante el algoritmo “Módulo 11”

Cuando el tercer dígito es 9:

COEFICIENTES = 4.3.2.7.6.5.4.3.2

Cuando el tercer dígito es 6:
En este caso el dígito verificador está en la posición 9.

COEFICIENTES = 3.2.7.6.5.4.3.2


Nota: Cuando el residuo es cero(0) el dígito verificador es 0,

Ejemplo: TERCER DIGITO 9

Ruc = 1 7 9 0 0 8 5 7 8 3 0 0 1
Coeficiente = 4 3 2 7 6 5 4 3 2
Resultado = 4 21 18 0 0 40 20 21 16 = 140 140/11= 12 Residuo=8
Luego resto 11 – residuo  11 – 8 = 3 (Módulo – Residuo) = dígito verificador


Ejemplo: TERCER DIGITO 6

3 2 7 6 5 4 3 2
1 7 6 0 0 0 1 0 4 0 0 0 1
3 14 42 0 0 0 3 0 = 62 62/11= 5 Residuo 7 11-7 = 4


Excepciones
Si el residuo es 0 es digito verificador 0.


Número de RUC: 0801895186001

Estructura: El número del RUC es un número de 13 dígitos, sin letras ni caracteres especiales, de los cuales los 10 primeros dígitos corresponden a la cédula de identidad

08 Los dos primeros dígitos corresponden al código de provincia siempre está entre 01 al 22
0 El tercer dígito es siempre menor a 6: 0, 1, 2, 3, 4, 5.
189518 Del cuarto al noveno dígito es un número consecutivo de 6 dígitos
6 El décimo dígito es el dígito verificador
001 Del décimo primer dígito al décimo tercer dígito, identifican en forma consecutiva el número de establecimientos. Empieza siempre con el 001

El número de RUC es: 0801895186001 independientemente del número de establecimientos que tenga el contribuyente, no existe un número de RUC tal como 0801895186002

La validación de la cédula de Identidad pasa un algoritmo "Módulo 10". Al número se lo divide en 13 partes, las 9 primeras son el número mismo, la 10 es el dígito auto verificador, y las 3 restantes indican si es principal o establecimiento adicional. Los coeficientes usados para verificar el décimo dígito de la cédula, mediante el algoritmo "Módulo 10" son: 2.1.2.1.2.1.2.1.2.

Para realizar la validación solo tomamos los 9 primeros dígitos del RUC y procedemos a realizar la multiplicación de la siguiente manera:
0 8 0 1 8 9 5 1 8
2 1 2 1 2 1 2 1 2
0 8 0 1 16 9 10 1 16

El resultado de esta multiplicación sumamos por digito no por resultado:
0+ 8+ 0+ 1+ 1+6 +9+1+0 +1+ 1+6 = 34

El Resultado de ésta suma que es 34 restamos de la decena más próxima, o sea 40.

40 - 34 = 6

Si resultado que nos da en esta resta "6" es igual al décimo número del RUC, este esta correcto caso contrario incorrecto.

Si el resultado de la resta es 0, y el décimo número del RUC también es 0, este esta correcto caso contrario incorrecto.

17 comentarios:

Pepe Torres dijo...

je je je Facilito. Bueno el articulo. Gracias

ADLT dijo...

Excelente!!

Guerdy dijo...

Estoy haciendo una investigacion, las cedulas que inician con 20000 son ecuatorianos y de que provincia o son extranjeros y de que pais? Gracias

Guerdy dijo...

Las cedulas q inician con 20000 son ecuatorianas y de que provincia o son de extranjeros y de que pais? Gracias si me puede ayudar

Guerdy dijo...

Estoy haciendo una investigacion, las cedulas que inician con 20000 son ecuatorianos y de que provincia o son extranjeros y de que pais? Gracias

Guerdy dijo...

Estoy haciendo una investigacion, las cedulas que inician con 20000 son ecuatorianos y de que provincia o son extranjeros y de que pais? Gracias

kxr0! dijo...

me dejo con la boca abierta jejjej

dhinostroza dijo...

Esta es la fórmula en Excel. La columna A tiene el número de cédula con el dígito verificador, sin guión. La columna B almacena la fórmula. En A2 escribir el número de cédula que se quiere verificar y en B2:
=10-MOD(IF((MID(A2;1;1)*2)>9;(MID(A2;1;1)*2)-9;(MID(A2;1;1)*2))+(MID(A2;2;1))+IF((MID(A2;3;1)*2)>9;(MID(A2;3;1)*2)-9;(MID(A2;3;1)*2))+MID(A2;4;1)+IF((MID(A2;5;1)*2)>9;(MID(A2;5;1)*2)-9;(MID(A2;5;1)*2))+(MID(A2;6;1))+IF((MID(A2;7;1)*2)>9;(MID(A2;7;1)*2)-9;(MID(A2;7;1)*2))+(MID(A2;8;1))+IF((MID(A2;9;1)*2)>9;(MID(A2;9;1)*2)-9;(MID(A2;9;1)*2));10)

Unknown dijo...

Estimada/o Guerdy, las cédulas que inician con 20000 son las de Galápagos provincia número 20, los dos primeros dígitos de toda cédula es equivalente a la provincia.

Saludos Cordiales

David dijo...

buenas amigo... estoy realizando un proyecto de progracion para lo cual dentro de mi programa tengo la opcion de generar una cedula valida, quisiera saber si es posible me ayude con el proceso por el cual se genera una cedula valida, y con base en que.. ?.. gracias

edgar.valarezo dijo...

Validación para Excel en donde el número de cédula está en la celda E12. Devuelve VERDADERO para validación exitosa, FALSO y #¡VALOR! para validación no exitosa:

=Y(LARGO(E12)=10;TEXTO(RESTO(10-RESTO(SI(MED(E12;1;1)*2<10;MED(E12;1;1)*2;MED(E12;1;1)*2-9)+MED(E12;2;1)+SI(MED(E12;3;1)*2<10;MED(E12;3;1)*2;MED(E12;3;1)*2-9)+MED(E12;4;1)+SI(MED(E12;5;1)*2<10;MED(E12;5;1)*2;MED(E12;5;1)*2-9)+MED(E12;6;1)+SI(MED(E12;7;1)*2<10;MED(E12;7;1)*2;MED(E12;7;1)*2-9)+MED(E12;8;1)+SI(MED(E12;9;1)*2<10;MED(E12;9;1)*2;MED(E12;9;1)*2-9);10);10);"0")=MED(E12;10;1))

edgar.valarezo dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Una consulta hace un tiempo cree un programa para validar las cédulas y esta explicación me sirvió de mucho, pero me encontré con un problema cual es el método para validar las cédulas de refugiados.. Una cedula q encontré es 807 por lo que recuerdo y en cédulas el tercer dígito no puede ser mayor a 6 y da error.. Si sabes cual es el método gracias....

Anónimo dijo...

Gracias por la ayuda.
Una consulta para Edgar Valarezo, sabes que utilice la fórmula con que nos ayudas pero tengo un problema que las que empiezan con 0 me arroja como resultado #¡VALOR!, en configuración de celda esta personalizado con 10 (ceros), ejm. 910571207 con la personalización ya aparece el número completo 0910571207; como hago para que ahí no me salga #¡VALOR!.

edgar.valarezo dijo...
Este comentario ha sido eliminado por el autor.
edgar.valarezo dijo...

Jenny, la fórmula solo valida cédulas válidas, por lo que en 910571207 no te debe validar puesto que solo tiene nueve dígitos.

Para que el cero no se pierda al momento de digitar la cédula, se debe cambiar el formato de la celda a texto (clic derecho sobre la celda, clic en "Formato de celdas...", escoger formato "Texto"). Otra opción es agregar una comilla simple al inicio de la cédula con cero: '0910571207

edgar.valarezo dijo...

Muchas gracias por la información brindada en este artículo, me sirvió de base para una investigación más profunda del tema, que se la puede encontrar en http://jyba.ro/cedula

Dos correcciones y un misterio:

1. Las provincias ya no son hasta la 22, sino hasta 24.
2. Existen cédulas que empiezan con 30, para las generadas en el exterior: https://www.registrocivil.gob.ec/?p=4682
3. El número de cédula 0960075455 sale como válido en el Registro Civil, para una persona natural, a pesar que su tercer dígito es 6. Alguien sabe la razón?