El Número de Identificación Fiscal (NIF) es la forma de usada en para las (con documento nacional de identidad () o número de identificación de extranjero () asignados por el ) y las .[] El antecedente del NIF es el , usado 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 mes de enero de 2008 del R. D. 1065/2007, de 27 de julio.
Dependiendo de si se trata de una persona física o jurídica tenemos:
El formato del NIF consiste esencialmente en 8 números más un (letra) para españoles con DNI, o en una letra, 7 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, siete números y un , que conforme la naturaleza jurídica de la entidad es un número o bien una letra. La letra inicial conforme 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 al paso que las entidades españolas lo tenían con número. Solo las claves P, Q, R y S han mantenido desde el momento en 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: de acuerdo al número de identificación, puede establecerse un modo por el que 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 obtiene a partir de los caracteres precedentes. En caso de que el código de control detallado no coincida con el que se obtiene de los caracteres anteriores, 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 va a ser diferente y no va a coincidir. Esto sirve para verificar que el número introducido es adecuado.
El código de control se obtiene desde el número completo del DNI (ocho cifras) o el NIE (letra X, Y o Z seguido de siete cifras) y dividiéndolo entre 23. En el caso del NIE se reemplaza la primera letra por un 0, un 1 o un 2, conforme sea X, Y o bien Z respectivamente. Al resto resultante de dicha división, que habrá de estar comprendido entre 0 y 22, se le asigna la letra de control conforme la equivalencia siguiente:
No se emplean las letras: I, Ñ, O bien, U. La I y la O bien se descartan para eludir 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 a partir del documento de identidad o NIE, el código de control se obtiene utilizando el número de 7 cifras, excluyendo la letra inicial y la letra o bien 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 emplearía la próxima relación: