Código de identificación fiscal

De Wikipedia, la enciclopedia libre

El Código de identificación fiscal (CIF) ha sido hasta 2008 el nombre del sistema de identificación tributaria utilizada en España para las personas jurídicas o entidades en general según regula el Decreto 2423/1975, de 25 de septiembre. Este Decreto queda derogado con efectos desde el 1 de enero de 2008 por el Real Decreto 1065/2007, de 27 de julio que define el uso del Número de identificación fiscal. Los valores de las letras son ampliados la Orden EHA/451/2008, de 20 de febrero de 2008 (BOE núm 49), por la que se regula la composición del número de identificación fiscal de las personas jurídicas y entidades sin personalidad jurídica.

Contenido

[editar] Formato del código

El CIF se define originariamente en el Decreto 2423/1975 y es modificado en varias ocasiones. La última modificación, antes de su derogación con efectos desde el 1 de enero de 2008, corresponde a la Orden de 3 de julio de 1998 que regula el código de identificación de las personas jurídicas y entidades en general.

El CIF consta de 9 caracteres. El primero (posición 1) es una letra que sigue los siguientes criterios:

  • A. Sociedades anónimas.
  • B. Sociedades de responsabilidad limitada.
  • C. Sociedades colectivas.
  • D. Sociedades comanditarias.
  • E. Comunidades de bienes.
  • F. Sociedades cooperativas.
  • G. Asociaciones y otros tipos de sociedades civiles.
  • H. Comunidades de propietarios en régimen de propiedad horizontal.
  • J. Sociedades civiles, con o sin personalidad jurídica.
  • K. Formato antiguo.
  • L. Formato antiguo.
  • M. Formato antiguo.
  • N. Entidades no residentes.
  • P. Corporaciones locales.
  • R. Congregaciones e instituciones religiosas.
  • Q. Organismos autónomos, estatales o no, y asimilados, y congregaciones e instituciones religiosas.
  • S. Órganos de la Administración del Estado y comunidades autónomas
  • U. Uniones Temporales de Empresas.
  • V. Otros tipos no definidos en el resto de claves.
  • W. Reservado a establecimientos permanentes de entidades no residentes en territorio español.

A continuación se insertan otros siete dígitos con las siguientes posiciones: las dos primeras indican la provincia, donde los identificadores o claves provinciales son:

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

Los cinco siguientes dígitos (posiciones 3 a 8) constituyen un número correlativo de inscripción de la organización en el registro provincial, y 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 NUMERO si la entidad es A, B, E ó H.
   * - Para otras claves de entidad: el dígito podrá ser tanto número como letra. 

Las operaciones para calcular el dígito de control se realizan sobre los siete dígitos centrales y son las siguientes:

- Sumar los dígitos de la posiciones pares. Suma = A

- Para cada uno de los dígitos de la posiciones impares, multiplicarlo por 2 y sumar los dígitos del resultado.

 Ej.: ( 8 * 2 = 16 --> 1 + 6 = 7 )

- Acumular el resultado. Suma = B

- Sumar A + B = C

- Tomar sólo el dígito de las unidades de C. Lo llamaremos dígito E.

- Si el dígito E es distinto de 0 lo restaremos a 10. D=10-E. Esta resta nos da D. Si no, si el dígito E es 0 y si el dígito de control ha de ser numérico entonces D=0 y no hacemos resta.


- A partir de D ya se obtiene el dígito de control.

 Si ha de ser numérico es directamente D y si se trata
 de una letra se corresponde con la relación:
 A = 1, B = 2, C= 3, D = 4, E = 5, F = 6, G = 7, H = 8, I = 9, J = 10

Ejemplo para el CIF: A58818501

- Utilizamos los siete dígitos centrales = 5881850

- Sumamos los dígitos pares: A = 8 + 1 + 5 = 14

- Posiciones impares:

   5 * 2 = 10 -> 1 + 0 = 1
   8 * 2 = 16 -> 1 + 6 = 7
   8 * 2 = 16 -> 1 + 6 = 7
   0 * 2 = 0 -> = 0
 Sumamos los resultados: B = 1 + 7 + 7 + 0 = 15

- Suma parcial: C = A + B = 14 + 15 = 29

- El dígito de las unidades de C es 9.

 Se lo restamos a 10 y nos da: D = 10 - 9 = 1

- Si el dígito de control ha de ser un número es 1

 y si ha de ser una letra es la "A"


Como esta parte de obtener el dígito de control puede parecer un poco más complicada, a continuación damos una inplementación en código VBA:


Public Function cifDigito(cif As String) As String

    Dim A As Integer    'Suma de impares
    Dim B As Integer    'Suma de digitos de doble de pares
    Dim C As Integer
    A = 0
    B = 0

    For i = 2 To 6 Step 2
        A = A + Mid(cif, i + 1, 1)   'Suma de posición impar
        C = 2 * Mid(cif, i, 1)       'Doble de posición par
        B = B + (C Mod 10) + Int(C / 10)   'Suma de digitos de doble de pares
    Next i
    B = B + ((2 * Mid(cif, 8, 1)) Mod 10) + Int((2 * Mid(cif, 8, 1)) / 10)
    C = (10 - ((A + B) Mod 10)) Mod 10
    
    Dim Digito As String
    Dim letras As Variant
    letras = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")
    Select Case (Left(cif, 1))
        Case "K", "P", "Q", "S": Digito = letras(C-1)
        Case "A", "B", "E", "H": Digito = C
        Case Else: Digito = C & " o " & letras(C-1)
    End Select
    cifDigito = Digito
    
End Function

Implementación en ActionScript:

// Validación de CIF de la nueva normativa de la Orden EHA/451/2008, en lenguaje ActionScript para las validaciones en los PDFs

var cif = event.value;
var par = 0;
var non = 0;
var letras = "ABCDEFGHJKLMNPRQSUVW";
var caracterControlLetra = "KPQS";
var caracterControlNum = "ABEH";
var i;
var parcial;
var control;
var controlLetra = "JABCDEFGHIJ";
var letraIni = cif.charAt(0);

if (cif.length!=9) {
    app.alert("El Cif debe tener 9 dígitos",3);
    event.value="";
}
else
{
    if (letras.indexOf(letraIni.toUpperCase())==-1)
    {
        app.alert("La letra del CIF introducido no es correcta",3);
        event.value="";
    }
    for (i=2;i<8;i+=2) {
        par = par + parseInt(cif.charAt(i));
    }

    for (i=1;i<9;i+=2) {
        var nn = 2 * parseInt(cif.charAt(i));
        if (nn > 9) nn = 1 + (nn-10);
        non = non + nn;
    }

    parcial = par + non;

    control = (10 - ( parcial % 10));


    if (caracterControlLetra.indexOf(letraIni.toUpperCase()) != -1)
    {
        // El caracter de control deberá ser una letra

        if (controlLetra.charAt(control) != cif.charAt(8).toUpperCase())
        {
            app.alert("El Cif no es válido",3);
            event.value ="";
        }
    }
    if (caracterControlNum.indexOf(letraIni.toUpperCase()) != -1)
    {
        // El caracter de control deberá ser un número

        if (control == 10) control = 0;

        if (control != cif.charAt(8))
        {
            app.alert("El Cif no es válido",3);
            event.value ="";
        }
    }
    if ((caracterControlLetra.indexOf(letraIni.toUpperCase()) == -1) && (caracterControlNum.indexOf(letraIni.toUpperCase()) == -1))
    {
        // En este caso el carácter de control puede ser una letra o un número

        if (control == 10)
        {
            control = 0;
        }
        if ((controlLetra.charAt(control) != cif.charAt(8).toUpperCase()) && (control != cif.charAt(8)))
        {
            app.alert("El Cif no es válido",3);
            event.value ="";
        }
    }
}

El CIF debe coincidir con la abreviación final del nombre de la empresa según la siguiente relación: ( listado parcial de Sociedades Civiles y Mercantiles en España )

 SL.... Sociedad Limitada
 SLU... Sdad Limitada Unipersonal
 SLL... Sociedad Limitada Laboral
 SLNE.. Sdad Limitada Nueva Empresa
 SA.... Sociedad Anónima
 SAL... Sociedad Anónima Laboral
 SAU... Sociedad Anónima Unipersonal
 SAE... Sociedad Anónima Española
 CB.... Comunidad de Bienes
 SC.... Sociedad Civil
 SRL... Sdad de Responsabi. Limitada
 SCP... Sdad Civil Particular/Priva.
 UTE... Unión Temporal de Empresas
 COOP.. Sociedad Cooperativa
 SCA... Sociedad Cooperativa Andaluza
 AEIE.. Agrup. Eur. de Interés Econ.
 SCI... Sdad Cooperativa Industrial
 AIE... Agrupa. de Interés Económico
 SCL... Sdad Cooperativa Limitada
 SGR... Sdad de Garantía Recíproca
 SAT... Sdad Agraria de Transformac.
 SI.... Sociedad Irregular
 SAD... Sociedad Anónima Deportiva
 SRC... Sociedad Regular Colectiva
 SEE... Sucursal en España
 SENC.. Sociedad en Comandita

Para el código de países extranjeros se usan, a partir del 1 de enero de 1981, los códigos de la Orden de 4 de agosto de 1980, así como sus diferentes correcciones (BOE NUM. 272, de 12 de noviembre de 1980, BOE núm. 298, de 12 de diciembre de 1980, Circular 860/1981, de 30 de junio).

[editar] Véase también

[editar] Enlaces externos

[editar] Cálculo del CIF

Herramientas personales
Crear un libro