En qué consiste el CIF (Código de Identificación Fiscal). Indicamos su estructura, lo que significa cada número y cada letra, cómo calcular el dígito de control y cómo saber a qué comunidad pertenece una empresa sabiendo su CIF. También podremos saber el tipo de empresa (sociedad anónima, sociedad limitada, comunidades de bienes, etc). Mostramos el código fuente en C Sharp (C#) para verificar un CIF.

Definición CIF

El Código de identificación fiscal (CIF) es el sistema de identificación tributaria utilizada en España para las personas jurídicas o entidades en general. Este código debe ser único para cada entidad (empresa), por ello, para que una factura tenga validez legal debe aparecer el CIF del cliente facturado y el CIF de la empresa que factura.

Estructura del CIF

X-XX-XXXXX-X
1 2 3 4 5 6 7 8 9

El CIF está compuesto de de 9 caracteres. El primero de ellos (posición 1) es una letra que define el tipo de entidad, con la siguiente correspondencia:

ASociedades anónimas
BSociedades de responsabilidad limitada
CSociedades colectivas
DSociedades comanditarias
EComunidades de bienes
FSociedades cooperativas
GAsociaciones y otros tipos de sociedades civiles
HComunidades de propietarios en régimen de propiedad horizontal
NEntidades no residentes
PCorporaciones locales
QOrganismos autónomos, estatales o no, y asimilados, y congregaciones e instituciones religiosas
SÓrganos de la Administración del Estado y comunidades autónomas

Los dos siguientes dígitos numéricos (posición 2, 3) identifican la provincia a la que pertenece la entidad, con la siguiente correspondencia:

01Álava
02Albacete
03, 53, 54Alicante
04Almería
05Ávila
06Badajoz
07, 57Islas Baleares
08, 58, 59, 60, 61, 62, 63, 64Barcelona
09Burgos
10Cáceres
11, 72Cádiz
12Castellón
13Ciudad Real
14, 56Córdoba
15, 70A Coruña
16Cuenca
17, 55Girona
18Granada
19Guadalajara
20, 71Guipúzcoa
21Huelva
22Huesca
23Jaén
24León
25Lleida
26La Rioja
27Lugo
28, 78, 79, 80, 81, 82, 83, 84, 85Madrid
29, 92, 93Málaga
30, 73Murcia
31Navarra
32Ourense
33, 74Oviedo
34Palencia
35, 76Las Palmas
36, 94Pontevedra
37Salamanca
38, 75Santa Cruz de Tenerife
39Cantabria
40Segovia
41, 91Sevilla
42Soria
43, 77Tarragona
44Teruel
45Toledo
46, 96, 97, 98Valencia
47Valladolid
48, 95Vizcaya
49Zamora
50, 99Zaragoza
51Ceuta
52Melilla

Los cinco siguientes dígitos (posición 4 a 8) constituyen un número correlativo de inscripción de la organización en el registro provincial.

El último dígito (posición 9) es un código de control que puede ser un número o una letra:

  • Será una letra si la clave de entidad es K, P, Q ó S.
  • Será un número si la clave de entidad es A, B, E ó H.

El resto de las claves de entidad: C, D, F, G, N el dígito podrá ser tanto número como letra.aa

Cálculo del dígito de control del CIF

Las operaciones para calcular el dígito de control se realizan sobre los siete dígitos centrales (posición 2 a 8) y son las siguientes:

X-X-X-X-X-X-X
1 -2 -3 -4 -5 -6 -7

  1. Sumar los dígitos de la posiciones pares de los siete dígitos del cálculo (posición 2, 4 y 6). Suponemos que la suma de estos números equivale a «A».
  2. Multiplicamos por 2 los dígitos de la posiciones impares (posición 1, 3, 5 y 7) y sumamos los dígitos del resultado de la multiplicación. Suponemos que la multiplicación equivale a «B». Por ejemplo, si la multiplicación por 2 da 18, el resultado de este dígito sería 1 + 8 = 9.
  3. Sumamos el resultado de las dos operaciones anteriores: A + B. Suponemos que este valor es «C».
  4. Tomar sólo el dígito de las unidades de C y restárselo a 10. Suponemos que este valor es D.
  5. A partir de este último resultado, D, se obtiene el dígito de control. Si ha de ser numérico es directamente el valor de D y si se trata
    de una letra se hace una correspondencia con la siguiente relación: A = 1, B = 2, C= 3, D = 4, E = 5, F = 6, G = 7, H = 8, I = 9, J = 10.

A continuación mostramos un ejemplo para el CIF: E73467433

1. Utilizaremos los siete dígitos centrales: 7346743

2. Sumamos los dígitos pares: A = 3 + 6 + 4 = 13

3. Multiplicamos por 2 los impares:

7 * 2 = 14, sumamos 1 + 4 = 5

4 * 2 = 8, sumamos 8 + 0 = 8

7 * 2 = 14, sumamos 1 + 4 = 5

3 * 2 = 6, sumamos 6 + 0 = 6

Sumamos los resultados: B = 5 + 8 + 5 + 6 = 24

4. Sumamos A + B: C = A + B = 14 + 15 = 29

5. Para obtener D cogemos el «9» de C y a 10 le restamos este valor: D = 10 – 9 = 1

6. Con el último valor (D) ya podemos obtener el dígito de control, primero tendremos que saber si es una letra o un número, si es un número ya lo tenemos, será el 1 (el valor de D), si es una letra, teniendo en cuenta la relación: A = 1, B = 2, C= 3, D = 4, E = 5, F = 6, G = 7, H = 8, I = 9, J = 10, será una A.

Ejemplo de verificación de CIF con C#

Ejemplo de cálculo del CIF con Visual Basic