0% encontró este documento útil (0 votos)
272 vistas3 páginas

Sobre El Cálculo Del Dígito de Control Del NIF: Formatos Válidos

Este documento describe los algoritmos utilizados para calcular el dígito de control en los números de identificación fiscal (NIF) en España. Explica que el dígito de control para personas físicas se calcula tomando el resto de dividir el valor numérico del NIF entre 23, y asignando una letra correspondiente. Para personas jurídicas, el cálculo implica multiplicar, sumar y restar las cifras del NIF. El documento también valida los algoritmos implementándolos y comparando los resultados con los de la Agencia Tributaria Española.

Cargado por

rxvt.unicode
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
272 vistas3 páginas

Sobre El Cálculo Del Dígito de Control Del NIF: Formatos Válidos

Este documento describe los algoritmos utilizados para calcular el dígito de control en los números de identificación fiscal (NIF) en España. Explica que el dígito de control para personas físicas se calcula tomando el resto de dividir el valor numérico del NIF entre 23, y asignando una letra correspondiente. Para personas jurídicas, el cálculo implica multiplicar, sumar y restar las cifras del NIF. El documento también valida los algoritmos implementándolos y comparando los resultados con los de la Agencia Tributaria Española.

Cargado por

rxvt.unicode
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

MIGOIA – Sobre el cálculo del dígito de control del NIF 1

Sobre el cálculo del dígito de control del NIFi


Buscando en distintas fuentes no he encontrado ninguna referencia “oficial” que precise
el algoritmo para el cálculo del dígito de control.
La AEAT dispone de una librería en java para la validación del NIF ValNif08201.zip, de la
que se puede inferir el método de cálculo del dígito de control.

Formatos válidos
Se admiten como NIF válidos el DNI, el NIE, unos NIF específicos para personas físicas
que no disponen de DNI o NIE y el CIF para personas jurídicas. El tipo de NIF se establece
por el carácter inicial de este.
El DNI y el NIE lo asigna el Ministerio del Interior y el resto de NIFs la Administración
Tributaria.
En los NIF de personas jurídicas el carácter de control se calcula mediante un algoritmo
basado en el resto de 23 y en los NIF de personas jurídicas (CIF) el algoritmo se basa en
una suma ponderada de las cifras que lo componen. En el primer caso, este siempre es
una letra y en el segundo puede ser una letra o un número. Existiendo CIF que,
dependiendo de la letra por la que empiecen, admiten tanto un dígito como una letra 1.

Comienza Tipo Control Destinatario


0..9 DNI L Españoles
A CIF DoL Sociedades anónimas
B CIF DoL Sociedades de responsabilidad limitada
C CIF DoL Sociedades colectivas
D CIF DoL Sociedades comanditarias
E CIF DoL Comunidades de bienes y herencias yacentes
F CIF DoL Sociedades cooperativas
G CIF DoL Asociaciones
H CIF D Comunidades de propietarios en régimen de propiedad horizontal
I - -
J CIF D Sociedades civiles, con o sin personalidad jurídica
K NIF L Españoles menores de 14 y residentes en España, sin DNI
L NIF L Españoles residentes en el extranjero, sin DNI
M NIF L Extranjeros que no dispongan de NIE, transitoria o definitivamente
N CIF L Personas jurídicas y entidades sin personalidad jurídica que carezcan de la
nacionalidad española
O - -
P CIF L Corporaciones Locales
Q CIF L Organismos públicos
R CIF L Congregaciones e instituciones religiosas
S CIF L Órganos de la Administración del Estado y de las Comunidades Autónomas
T - -

1 Por el valor retornado por la rutina de la AEAT se infiere que se refieren a dos CIF distintos, por
ejemplo para A2134871I retorna el valor 21 que corresponde a la constante CIF_OK y para A21348719
retorna 20 que corresponde a la constante CIF_EXTRANJERO_OK.

V2 2015.08.23
MIGOIA – Sobre el cálculo del dígito de control del NIF 2

U CIF D Uniones Temporales de Empresas


V CIF D Otros tipos no definidos en el resto de claves
W CIF L Establecimientos permanentes de entidad no residente en España
X NIE L Extranjeros, anteriores a 15/07/2008
Y NIE L Extranjeros, desde 16/07/2008
Z NIE L Extranjeros, ampliación cuando finalice la Y

Algoritmo para NIF de personas físicas (no CIF)


Se asigna una letra al resto que resulta de dividir el valor numérico del NIF entre 23,
según la tabla siguiente:
Resto 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Letra T R W A G M Y F P D X B N J Z S Q V H L C K E
En el caso del NIE antes de realizar el cálculo hay que transformar la letra inicial X, Y y Z
por 0, 1 y 2.
En el caso de los NIF K, L y M no se realiza esa transformación y los dos primeros dígitos
se limita de 01 a 56 ambos incluidos.
Se dan como no válidos los DNI 00000000T, 00000001R y 99999999R y el NIE X0000000T.

Algoritmo para NIF de personas jurídicas (CIF)


El algoritmo se realiza sobre las siete cifras centrales desechando la letra inicial y el
último carácter que es el de control aunque sea un número. Como ejemplo se utiliza el
CIF A2134871I ó A21348719.
1. Cada cifra en posición impar se multiplica por dos ( 2 x 2 = 4, 3 x 2 = 6, 8 x 2 = 16, 1
x 2 = 2), se suman para cada uno de ellos las cifras resultantes (4, 6, 1 + 6 = 7, 2) y
finalmente se suman entre ellas (4 + 6 + 7 + 2 = 19).
2. Se suma el valor de las cifras en las posiciones pares (1 + 4 + 7 = 12).
3. Se suman ambos resultados (19 + 12 = 31), se resta a 10 la última cifra (10 – 1 = 9)
excepto si esta es cero en cuyo caso se toma el 0 como resultado.
4. Si el CIF admite como código de control letra se asigna la letra correspondiente al
número calculado (9 → I), si admite dígitos el código de control es el resultado
obtenido en el paso anterior (9).
Resultado 0 1 2 3 4 5 6 7 8 9
Letra J A B C D E F G H I

Pruebas realizadas
Para comprobar lo anterior se ha implementado una rutina con los algoritmos indicados.
Para todas las cadenas de nueve caracteres con el patrón CDDDDDDDC donde C es un
carácter del 0 al 9 o de la A a la Z y D es un dígito, respondería a la expresión regular [0-
9A-Z]\d{7}[0-9A-Z], se ha ejecutado la validación con ambas rutinas, se comparan los
resultados y estos coinciden , exceptuando los DNIs y NIE expresamente excluidos en la
rutina de la AEAT (00000000T, 00000001R, 99999999R y X0000000T), con lo que se da
por válido el método utilizado.

V2 2015.08.23
iLa información contenida en este artículo se proporciona COMO ESTÁ, sin garantías de ninguna clase, y no otorga
derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo explicado, recomendado o
sugerido en el presente artículo.

También podría gustarte