Вы находитесь на странице: 1из 6

RFC y CURP en Java

Escrito por Gabriel Rojas on 28 Marzo 2012. Posted in Java

joomla
RFC El Registro Federal de Contribuyentes (o RFC) se refiere a una clave que tiene, toda persona fsica en Mxico para realizar alguna actividad licita que este obligada a pagar impuestos a toda persona moral con algunas excepciones. A estas personas se les llama contribuyentes. Esta clave debe llevar datos personales del contribuyente o persona fsica como su nombre y fecha de nacimiento; o nombre y fecha de origen de la persona moral. El registro se debe hacer en las oficinas del Servicio de Administracin Tributaria de la Secretaria de Hacienda y Crdito Publico, y es obligatorio para todos los que seale el Cdigo Fiscal de la Federacin. (http://es.wikipedia.org/wiki/Registro_Federal_de_Causantes_(M%C3%A9xico)) Como saber el RFC de una persona fisica?

Para la Persona fsica: HECU871219 XXX


o o o o o o

Las primeras dos letras (HE) son el apellido paterno ms la primera vocal interna del apellido paterno. El tercer dgito (C) es la inicial del apellido materno. De no existir un apellido materno se utiliza una (X). El cuarto dgito (U) es la inicial del primer nombre. Los primeros dos dgitos son el ao de nacimiento (87). Los segundos dgitos son el mes de nacimiento (12 o Diciembre). Los terceros dgitos son el da de nacimiento (19).

Los ltimos dgitos (XXX) se le conoce como homoclave, esta la designa el SAT, dependiendo de algunos factores que realiza el SAT por medio de sistemas numricos o alfanumricos.

Esta homoclave la designar el SAT, revisando la peticin a travs de papel oficial ya designado.

Cual es el RFC de una persona moral?

REN 550504 XXX Las primeras tres letras (REN) a veces son las iniciales de la empresa si se llega al caso o se hace una combinacin de stas. o Los primeros dos dgitos son el ao de fundacin de la empresa (55). o Los segundos dgitos son el mes de la creacin de la empresa (05 o mayo). o Los terceros dgitos son el da de la creacin de la empresa (04).
o

Los ltimos dgitos (XXX) son conocidos como homoclave, esta la designa el SAT, dependiendo de algunos factores que realiza el SAT por medio de sistemas numricos o alfanumricos.

(http://www.webadiccion.com/como-crear-mi-rfc/) El RFC Original lo puedes https://www.recaudanet.gob.mx/recaudanet/rfc.jsp obtener desde:

CURP La Clave nica de Registro de Poblacin (CURP) es un cdigo alfanumrico nico de identidad de 18 caracteres, tanto para residentes como para ciudadanos mexicanos. Con 18 elementos representados por letras y nmeros, que se generan a partir de los datos contenidos en tu documento probatorio de identidad (acta de nacimiento, carta de naturalizacin o documento migratorio), y que se refieren a:

Tu primer y segundo apellidos, as como tu nombre de pila. Tu fecha de nacimiento. Sexo. Entidad Federativa o lugar de nacimiento.

Los dos ltimos elementos de tu CURP te los asigna el Registro Nacional de Poblacin y evitan duplicaciones en la Clave, identifican el cambio de siglo y garantizan la correcta integracin. Ejemplo:

Los dos ltimos dgitos, garantizan que tu clave sea nica, esto es, que slo sea para una persona y se evite la duplicidad cuando haya dos nombres iguales en una misma entidad, porque es ms difcil que coincidan la homoclave y el elemento verificador.

Siglas para las entidades federativas de nacimiento:

ESTADO

CLAVE ESTADO MORELOS NAYARIT NUEVO LEON OAXACA PUEBLA

CLAVE MS NT NL OC PL

AGUASCALIENTES AS BAJA CALIFORNIA BC BAJA CALIFORNIA BS SUR CAMPECHE CHIAPAS CHIHUAHUA COAHUILA COLIMA CC CS CH CL CM

QUERETARO QT QUINTANA ROO QR

SAN LUIS SP POTOSI

DISTRITO FEDERAL DURANGO GUANAJUATO GUERRERO HIDALGO JALISCO MEXICO MICHOACAN

DF DG GT GR HG JC MC MN

SINALOA SONORA TABASCO

SL SR TC

TAMAULIPAS TS TLAXCALA VERACRUZ YUCATN TL VZ YN

ZACATECAS ZS

Notas: 1) Para adoptar las iniciales de los apellidos no se toman en cuenta las preposiciones De, Del, Y, Van, Von, Der, Mc, entre otras. 2) Para los mexicanos nacidos en el extranjero, as como para los extranjeros residentes en el pas, se utilizar como entidad de nacimiento la clave "NE"= nacido en el extranjero. (http://www.condusef.gob.mx/index.php/clave-unica-de-registro-de-poblacion-curp)

Para Obtener la CURP http://consultas.curp.gob.mx/CurpSP/

original

lo

puedes

hacer

desde:

Ahora que conocemos la definicin y cmo se obtiene el RFC y CURP les traigo un cdigo hecho en Java que obtiene ambos. Anexo tanto el proyecto hecho en NetBeans, cdigo fuente y JAR ejecutable para que puedan hacer uso de ste. Cabe resaltar que ste pequeo programa no siempre obtiene al 100% el RFC o CURP dado que el clculo de la Homoclave no siempre es correcto al no conocer algunos factores que son intuidos. Sin embargo, sirve como una pequea aplicacin para darnos una idea de cual sera el RFC y CURP.

Esper

Re: Algoritmo pra determinar RFC y CURP en Mxico


por SwordfishCerberos 07 Dic 2005 23:27 ********************CURP - HOMOCLAVE - DIGITO VERIFICADOR ******************** ********************CURP - HOMOCLAVE - DIGITO VERIFICADOR ******************** ********************CURP - HOMOCLAVE - DIGITO VERIFICADOR ********************

***** RUTINAS PARA CALCULAR HOMCLAVE Y DIGITO VERIFICADOR DE LA CURP (MEXICO). ****** La homoclave es el nico dgito que asigna la RENAPO, pero por lo general es \"0 al 9\" para nacidos antes del 2000 y \"A a Z\" para nacidos a partir del 2000, cuando la RENAPO encuentra que en los primeros 16 dgitos ya existe una clave igual en su base de datos, modifica este consecutivo para que sea diferente. Por lo tanto, aunque puedas generar la hmoclave con el un programa, de todas formas hay que verificar con la CURP oficial. ... y ahi va el cdigo (est en Visual Basic): \'HOMOCLAVE Function homoclave(ByVal ip_fechaNac As Date) As String If Year(ip_fechaNac) < 2000 Then Return \"0\" Else Return \"A\" End If End Function

\'CALCULA DIGITO VERIFICADOR Function verificadorCurp(ByVal ip_curp As String) As String Dim arreglo1 As String = \"0123456789ABCDEFGHIJKLMN-OPQRSTUVWXYZ*\" Dim arreglo2() As String = Split(\"00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, 27,28,29,30,31,32,33,34,35,36,37\", \",\") Dim l_car As String

Dim l_vals As String Dim l_acum As String Dim l_digito As String Dim l_posicion As Integer Dim l_residuo As Integer Dim l_valor As Integer Dim l_i As Integer If ip_curp.Length < 17 Then \'Error. Debe de recibir los primeros 17 dgitos de la curp. Return \"\" End If \' Ciclo para obtener los valores de CADA caracter de la Curp en \"arreglo2() \' y armar una cadena con estos valores For l_i = 1 To Len(ip_curp) l_car = Mid(ip_curp, l_i, 1) \'Caracter actual If l_car = \" \" Then l_car = \"*\" \'busca posicion del caracter dentro del \"arreglo1\" l_posicion = arreglo1.IndexOf(l_car) If l_posicion > -1 Then l_vals &= arreglo2(l_posicion) Else l_vals &= \"00\" End If Next \'Sumatoria de valores For l_i = 1 To 17 l_acum += Val(Mid(l_vals, l_i * 2 - 1, 2)) * (19 - l_i) Next l_residuo = l_acum Mod 10 If l_residuo = 0 Then l_digito = \"0\" Else l_valor = 10 - l_residuo l_digito = Microsoft.VisualBasic.Right(CStr(l_valor), 1) \'Toma solo el dgito de la derecha End If Return l_digito End Function

Вам также может понравиться