from web site
El Número de Identificación Fiscal (NIF) es la manera de empleada en para las (con documento de identidad () o bien número de identificación de extranjero () asignados por el ) y las .[] El antecedente del NIF es el , utilizado en personas jurídicas. El 338/1990, de 9 de marzo, regula la composición y la manera de uso del NIF, hasta la entrada en vigor en el primer mes del año de dos mil ocho del R. D. 1065/2007, de veintisiete de julio.
Dependiendo de si se trata de una persona física o bien jurídica tenemos:
El formato del NIF consiste esencialmente en 8 números más un (letra) para españoles con DNI, o bien en una letra, siete números y un código de control (letra) para el resto de personas físicas:
El formato consiste en una letra según la naturaleza jurídica de la entidad, 7 números y un , que conforme la naturaleza jurídica de la entidad es un número o bien una letra. La letra inicial según la naturaleza jurídica es:
Desde la Orden EHA/451/2008, los NIF de las personas jurídicas y entidades extranjeras (claves N y W) tienen claves separadas de las españolas, previamente había claves compartidas y las entidades extranjeras se distinguían por tener el código de control con letra mientras que las entidades españolas lo tenían con número. Solo las claves P, Q, R y S han mantenido desde que se crearon el código de control con letra, a pesar de corresponder a organismos públicos españoles.
El del NIF, sirve como código de garantía de . Su fundamento es el siguiente: conforme al número de identificación, puede establecerse un modo por el cual saber si este es correcto, o bien se trata de una .
Para saber si el número es adecuado, el último carácter del NIF es un que se consigue a partir de los caracteres anteriores. En el caso de que el código de control detallado no coincida con el que se consigue de los caracteres precedentes, se trataría de un número no válido.
Si por error se introduce mal uno de los caracteres del NIF, el resultado del código de control será distinto y no va a coincidir. Esto sirve para verificar que el número introducido es correcto.
El código de control se obtiene a partir del número completo del documento nacional de identidad (ocho cifras) o bien el NIE (letra X, Y o Z seguido de 7 cifras) y dividiéndolo entre 23. En el caso del NIE se reemplaza la primera letra por un 0, un 1 o un 2, según sea X, Y o Z respectivamente. Al resto resultante de dicha división, que deberá estar comprendido entre 0 y 22, se le asigna la letra de control conforme la equivalencia siguiente:
No se utilizan las letras: I, Ñ, O bien, O bien. La I y la O se descartan para evitar confusiones con otros caracteres, como 1, l o 0. La Ñ se descarta para evitar confusiones con la N.
Algoritmo de ejemplo (Java):
Algoritmo PHP:
Algoritmo javaScript
Algoritmo Python3
Algoritmo C
En el caso de NIF que no son obtenidos desde el DNI o bien NIE, el código de control se consigue usando el número de 7 cifras, excluyendo la letra inicial y la letra o cifra final, pues es la que vamos a validar.
Procedimiento:
Si el código de control es un número, este sería el resultado de la última operación. Si se trata de una letra, se utilizaría la próxima relación: