# Número de identificación fiscal

El Número de Identificación Fiscal (NIF) es la manera de identificación tributaria utilizada en España para las personas físicas (con documento nacional de identidad (DNI) o número de identificación de extranjero (NIE) asignados por el Ministerio del Interior) y las personas jurídicas. El antecedente del NIF es el CIF, utilizado en personas jurídicas. El Real Decreto 338/1990, de 9 de marzo, regula la composición y la forma de uso del NIF, hasta la entrada en vigor en enero de 2008 del Real Decreto 1065/2007, de 27 de julio.

## Formato del NIF

Dependiendo de si se trata de una persona física o jurídica se tiene:

### NIF de personas físicas

El formato del NIF consiste básicamente en ocho números más un código de control (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:
| Tipo | Formato | Comentario |
| DNI | 8 números + letra de control | Nacionales con documento nacional de identidad (DNI) asignado por el Ministerio del Interior |
| NIF K | K + 7 números + letra de control | Nacionales menores de 14 años que carezcan de DNI. Anterior a la entrada en vigor de la Orden EHA/451/2008 el 1 de julio de 2008 también se incluían los extranjeros menores de 18 años que carecían de NIE (para los menores de la edad indicada no es obligatorio que tengan documentación de identidad, pero pueden solicitar un NIF si lo necesitan), esta Orden separa las claves de españoles y extranjeros, de forma que los extranjeros sin NIE transitoria o definitivamente pueden solicitar un NIF M. |
| NIF L | L + 7 números + letra de control | Nacionales mayores de 14 años residentes en el extranjero y que no tengan DNI que se trasladan a España por un tiempo inferior a seis meses. |
| NIF M | M + 7 números + letra de control | Extranjeros sin NIE, de forma transitoria por estar obligados a tenerlo o bien de forma definitiva al no estar obligados a ello. Anterior a la entrada en vigor de la Orden EHA/451/2008 el 1 de julio de 2008 solo se incluían los extranjeros sin NIE miembros de embajadas, consulados u organismos internacionales y que estuvieran acreditados en España (no están obligados a disponer de NIE). |
| NIE X | X + 7 números + letra de control | Extranjeros residentes en España e identificados por la Policía con un número de identidad de extranjero (NIE), asignado hasta el 15 de julio de 2008. Los NIE, según la Orden de 7 de febrero de 1997, inicialmente constaban de X + 8 números + dígito de control, la Orden INT/2058/2008 redujo de 8 a 7 los números para que tuvieran la misma longitud que los NIF y CIF, y añadió las claves Y y Z antes de que se asignaran 9999999 NIE X y desbordara la capacidad de los 7 dígitos, pero esta Orden mantiene la validez de los NIE X de 8 dígitos anteriores ya asignados. |
| NIE Y | Y + 7 números + letra de control | Extranjeros residentes en España e identificados por la Policía con un NIE, asignado desde el 16 de julio de 2008 (Orden INT/2058/2008, BOE del 15 de julio). |
| NIE Z | Z + 7 números + letra de control | Letra reservada para extranjeros identificados por la Policía, para cuando se agoten los 'NIE Y'. |

### NIF de Personas jurídicas y entidades en general

El formato consiste en una letra según la naturaleza jurídica de la entidad, 7 números y un código de control, que según la naturaleza jurídica de la entidad es un número o una letra. La letra inicial según la naturaleza jurídica es:
    LetraNaturaleza jurídicaCódigo de control ASociedades anónimasNúmero BSociedades de responsabilidad limitadaNúmero CSociedades colectivasNúmero DSociedades comanditariasNúmero EComunidades de bienesNúmero FSociedades cooperativasNúmero GAsociaciones y FundacionesNúmero HComunidades de propietarios en régimen de propiedad horizontalNúmero JSociedades civiles, con o sin personalidad jurídicaNúmero NEntidades extranjerasLetra PCorporaciones LocalesLetra QOrganismos públicosLetra RCongregaciones e instituciones religiosasLetra SÓrganos de la Administración General del Estado y de las comunidades autónomasLetra UUniones Temporales de EmpresasNúmero VOtros tipos no definidos en el resto de clavesNúmero WEstablecimientos permanentes de entidades no residentes en EspañaLetra
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, anteriormente 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.

## Características

El código de control del NIF, sirve como código de garantía de seguridad. Su fundamento es el siguiente: de acuerdo al número de identificación, puede establecerse un modo por el cual saber si este número es correcto, o se trata de una falsificación.
Para saber si el número es correcto, el último carácter del NIF es un código de control que se obtiene a partir de los caracteres anteriores. En caso de que el código de control especificado 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 será distinto y no coincidirá. Esto sirve para verificar que el número introducido es correcto.

### Código de control para números de DNI o NIE

El código de control se obtiene a partir del número completo del DNI (8 cifras) o el NIE (letra X, Y o Z seguido de 7 cifras) y dividiéndolo entre 23. En el caso del NIE se sustituye 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 según la equivalencia siguiente:
| resto de la división -> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| código de control -> | T | R | W | A | G | M | Y | F | P | D | X | B | N | J | Z | S | Q | V | H | L | C | K | E |
No se utilizan las letras: I, Ñ, O, U. 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

### Código de control para otros NIF

En el caso de NIF que no son obtenidos a partir del DNI o NIE, el código de control se obtiene utilizando el número de 7 cifras, excluyendo la letra inicial y la letra o cifra final, puesto que es la que vamos a validar.
Procedimiento:
* Se suman las posiciones pares de los 7 dígitos centrales, es decir, no se tiene en cuenta la letra inicial ni el código de control. (Suma = A)
* Por cada uno de los dígitos de las posiciones impares, se multiplica el dígito por 2 y se suman las cifras del resultado, pero si el resultado tiene un solo dígito simplemente esta cifra se suma. (p.e. si el dígito es 6, el resultado sería 6 x 2 = 12 -> 1 + 2 = 3, más si el dígito es 2, el resultado sería 2 x 2 = 4). (Suma = B)
* Sumar el resultado de los 2 pasos anteriores. (A + B = C)
* El último dígito de la suma anterior (C) se lo restamos a 10, cuyo resultado sería el código de control (p.e. si C = 14, el último dígito es 4, por lo que tendríamos 10 - 4 = 6). Si el último dígito de la suma del paso anterior es 0 (p.e. C = 30), no se realiza resta y se toma el 0 como código de control.
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 siguiente relación:
| número obtenido -> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
| código de control -> | A | B | C | D | E | F | G | H | I | J |