Cod de Identificare Fiscală

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

Codul de identificare fiscală – CIF este un cod numeric constituind codul unic de identificare a unui comerciant. Acesta se mai numește și cod fiscal sau cod unic de identificare. Până la 1 ianuarie 2007 s-a numit Cod Unic de Înregistrare (CUI).

Conform legii nr. 359 din 8 septembrie 2004 privind simplificarea formalităților la înregistrarea în Registrul Comerțului a persoanelor fizice, asociațiilor familiale și persoanelor juridice, înregistrarea fiscală a acestora, precum și la autorizarea funcționării persoanelor juridice:

Solicitarea înregistrării fiscale a unui comerciant se face prin depunerea cererii de înregistrare la biroul unic din cadrul oficiului registrului comerțului de pe lângă tribunal, iar atribuirea codului unic de înregistrare de către Ministerul Finanțelor Publice este condiționată de admiterea cererii de înregistrare în registrul comerțului de către judecătorul-delegat.

Pentru asociațiile familiale, precum și pentru persoanele juridice prevăzute la art. 2 structura codului unic de înregistrare se stabilește de Ministerul Finanțelor Publice, Ministerul Muncii, Solidarității Sociale și Familiei, Ministerul Sănătății, Ministerul Administrației și Internelor și Ministerul Justiției.

Atributul fiscal atașat codului unic de înregistrare este un cod alfanumeric având semnificația categoriei de plătitor de taxe și impozite la bugetul de stat. Dacă atributul fiscal are valoarea „RO”, acesta atestă că persoana juridică a fost luată în evidența organului fiscal ca plătitor de TVA.

Un CIF este alcătuit astfel :

[ |ZZZZZZZZZ| ] |C|
  |_________|   |_|
       :         :
       :          --> Cifra de control
       :
       --> Numărul de ordine (maxim 9 caractere)

Algoritmul de validare a unui cod de identificare fiscală (CIF)[modificare | modificare sursă]

Pas preliminar: Se testează dacă codul respectă formatul unui cod de identificare fiscală (CIF). Adică lungimea maximă să fie de 10 cifre și să conțină doar caractere numerice.

Pas 1: Se folosește cheia de testare "753217532". Se inversează ordinea cifrelor codului precum și a cheii de testare.

Pas 2: Se ignoră prima cifra din codul inversat (aceasta este cifra de control) și se înmulțește fiecare cifră cu cifra corespunzătoare din cheia de testare inversată.

Pas 3: Se adună toate produsele obținute. Suma rezultată se înmulțește cu 10 și produsul este împărțit la 11. Cifra obținută, în urma operației MODULO 11, reprezintă cifra de verificare. Dacă în urma împărțirii s-a obținut restul 10 atunci cifra de verificare va fi 0.

Pas 4: Pentru un CIF valid cifra de verificare va trebui să corespundă cu cifra de control a CIF inițial.

Algoritmul de validare în PHP[modificare | modificare sursă]

Această funcție testează validitatea sumei de control a părții numerice a codului de identificare fiscală (și elimină RO dacă apare în față).

<?php 
function validateCIF($cif){
        // Daca este string, elimina atributul fiscal si spatiile
        if(!is_int($cif)){
                $cif = strtoupper($cif);
                if(strpos($cif, 'RO') === 0){
                        $cif = substr($cif, 2);
                }
                $cif = (int) trim($cif);
        }
        
        // daca are mai mult de 10 cifre sau mai putin de 6, nu-i valid
        if(strlen($cif) > 10 || strlen($cif) < 6){
                return false;
        }
        // numarul de control
        $v = 753217532;
        
        // extrage cifra de control
        $c1 = $cif % 10;
        $cif = (int) ($cif / 10);
        
        // executa operatiile pe cifre
        $t = 0;
        while($cif > 0){
                $t += ($cif % 10) * ($v % 10);
                $cif = (int) ($cif / 10);
                $v = (int) ($v / 10);
        }
        
        // aplica inmultirea cu 10 si afla modulo 11
        $c2 = $t * 10 % 11;
        
        // daca modulo 11 este 10, atunci cifra de control este 0
        if($c2 == 10){
                $c2 = 0;
        }
        return $c1 === $c2;
}
?>