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ânga 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, Solidaritatii Sociale si 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ă in evidența organului fiscal ca plătitor de T.V.A.

Un CIF este alcătuit astfel :

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

Algoritmul de validare al unui cod CIF[modificare | modificare sursă]

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

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

Pas 2: Se ignoră prima cifra din codul CIF inversat (aceasta este cifra de control) și se înmulțește fiecare cifră cu cifra corespunzatoare 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 reprezită 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 codului CIF inițial.

Algoritmul de validare in 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;
}
?>