Liigu sisu juurde

CNPJ generaator ja validaator - Brasiilia äriidentifikaatori tööriist

Genereeri kehtivaid CNPJ numbreid testimiseks või valideerige Brasiilia äriidentifikaatoreid koheselt. Tasuta tööriist kontrollnumbri kontrollimiseks arendajatele, kes töötavad Cadastro Nacional da Pessoa Jurídica süsteemis.

Brasiilia CNPJ generaator ja validaator

CNPJ generaator

Genereeri testimiseks kehtiv Brasiilia CNPJ number.

CNPJ validaator

Kontrolli, kas Brasiilia CNPJ number on kehtiv.

Laadimiskalkulaator...
📚

Dokumentatsioon

Brasiilia CNPJ numbrite mõistmine

CNPJ (Cadastro Nacional da Pessoa Jurídica) on Brasiilia versioon äriühingu maksutunnusest - 14-kohaline number, mis tuvastab iga juriidilise äriühingu riigis. Kui te loote tarkvara, mis käsitleb Brasiilia äriandmeid, puutute nende numbritega kiiresti kokku registreerimisvormides, arvetel ja API integratsioonides.

Siin on see, mis muudab selle tööriista praktiliseks: see genereerib matemaatiliselt kehtivad CNPJ-d testimiseks ilma tegelike ettevõtte identifikaatoriteta. Kui te loote testiandmebaasi 1000 kirjega või silusite valideerimisrutiini kell 2 öösel, vajate CNPJ-sid, mis läbivad algoritmilised kontrollid, kuid ei kattu juhuslikult tegelike ettevõtetega. Täpselt seda see genereeribki.

Siin loodud numbrid järgivad ametlikku Receita Federal (Brasiilia Föderaalse Maksuameti) valideerimisalgoritmi. Neil on õiged kontrollnumbrid ja korrektne vormindus - lihtsalt pole valitsuse andmebaasis registreeritud. Mõelge neist kui süntaktiliselt õigetest testandmetest, mis ei tekita vastavusprobleeme teie arenduskeskkonnas.

Mis on CNPJ ja miks see on oluline

CNPJ toimib Brasiilia äriühingute identifikaatorina - sarnaselt EIN-ile Ameerika Ühendriikides või äriregistri numbrile Ühendkuningriigis. Iga Brasiilias seaduslikult tegutsev äriüksus peab omama CNPJ-d, mille väljastab Receita Federal (Föderaalne Maksuamet).

Te puutute CNPJ-ga kokku järgmistes olukordades:

  • Maksete töötlemine: Brasiilia makseväravad nõuavad CNPJ valideerimist kaupmehekontodele
  • Maksukohustused: Iga Brasiilias väljastatud arve peab sisaldama kehtivat CNPJ-d
  • Äriregistreerimine: Valitsusasutused kasutavad CNPJ-sid õiguslike üksuste jälgimiseks erinevates süsteemides
  • Pangandustoimingud: Ärikontode avamine või rahvusvaheliste ülekannete töötlemine
  • Import/eksport: Tolliformaalsused nõuavad CNPJ kinnitamist
  • Riigihanked: Avalikud pakkumissüsteemid kontrollivad CNPJ-sid enne pakkumiste vastuvõtmist

Minu kogemusest Brasiilia e-kaubandusplatvormidega võin öelda, et üks levinumaid integratsioonipunkte on kassavoog, kus kasutajad sisestava oma CNPJ äriostude jaoks. Teie valideerimisloogika peab püüdma kinni vorminguvead enne maksete töötlejat - vastasel juhul näete nurjunud tehinguid, mida oleks saanud ära hoida.

CNPJ struktuur ja vorming

CNPJ koosneb 14 numbrist, mis on vormindatud järgmiselt: XX.XXX.XXX/YYYY-ZZ

Struktuuri lahtiselgitamine:

  1. Esimesed 8 numbrit (XX.XXX.XXX): Ettevõttele ainuomaselt määratud põhiregistreerimisnumber
  2. Järgmised 4 numbrit (/YYYY): Filiaali või asutuse identifikaator—/0001 tähistab peakontorit, samas /0002, /0003 tähistavad filiaalide asukohti
  3. Viimased 2 numbrit (-ZZ): Kontrollnumbrid, mis arvutatakse kaalutud algoritmi abil

Näide: 12.345.678/0001-95

Mis on huvitavat filiaali identifikaatori juures: kui ettevõte avab mitu asukohta, saavad need samad esimesed 8 numbrit, kuid erineva filiaali numbri. Seega kui jaekaubanduskett omab 50 poodi, neil on CNPJd, mis lõppevad /0001 kuni /0050, kõik jagades sama põhinumbrit. See muudab lihtsaks tuvastada, et mitu CNPJd kuuluvad samale emaorganisatsioonile.

Kontrollnumbrid ei ole juhuslikud—need arvutatakse modulus-11 algoritmi abil, kasutades kindlaid kaalutud järjestusi. See disainivalik, mis on levinud Brasiilia haldusdokumentides, muudab matemaatiliselt raskeks võltsida kehtivaid numbreid või kogemata luua kehtivaid numbreid trükivigade tõttu.

Kuidas CNPJ valideerimine tegelikult töötab

Valideerimisalgoritm kasutab kaalutud modulus-11 arvutust. Siin on selle loogika:

Esimese kontrollnumbri arvutamine

  1. Võta esimesed 12 numbrit ja korruta need kaaludega: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. Liida kõik tooted kokku
  3. Jaga summa 11-ga ja leia jääk
  4. Kui jääk < 2, on kontrollnumber 0; vastasel juhul on see 11 - jääk

Teise kontrollnumbri arvutamine

  1. Võta esimesed 13 numbrit (kaasa arvatud esimene kontrollnumber) ja korruta kaaludega: 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. Liida kõik tooted kokku
  3. Jaga 11-ga ja leia jääk
  4. Kui jääk < 2, on kontrollnumber 0; vastasel juhul on see 11 - jääk

Miks see lähenemine töötab: Kaalutud korrutamise süsteem loob ainulaadse seose kõigi 12 alusnumbri ja tulenevate kontrollnumbrite vahel. Isegi ühe numbri muutmine alusnumbris põhjustab erinevad kontrollnumbrid, mis püüab kinni tavalised ülekande vead nagu kahe numbri vahetamine (näiteks 12.345 asemel 12.354).

Praktiline märkus: CNPJd, millel on kõik numbrid ühesugused (nagu 11.111.111/1111-11), on automaatselt kehtetud, isegi kui nad läbivad matemaatilise kontrolli. Receita Federal välistab need mustrid selgesõnaliselt, et vältida triviaalseid juhtumeid.

Kuidas kasutada CNPJ generaatorit ja validaatorit

CNPJ-de genereerimine testimiseks

Vajad kehtivatCNPJ-sid oma testiandmebaasiks? Siin on juhend:

  1. Klõpsa "Genereeri CNPJ"
  2. Tööriist loob matemaatiliselt kehtiva numbri koheselt
  3. Klõpsa "Kopeeri", et see lõikelauale saada
  4. Aseta see oma testivormidesse, andmebaasi seemnetesse või ühikutestidesse

Iga genereeritud CNPJ läbib kõik algoritmilised valideerimiskontrollid, kuid pole registreeritud Receita Federalis. See tähendab, et saad neid vabalt arenduses kasutada ilma muretsemata, et ekslikult mõne tegeliku ettevõtte identifikaatorit kasutad.

CNPJ numbrite valideerimine

Sul on CNPJ, mida soovid kontrollida? Validaator tegeleb sellega:

  1. Aseta CNPJ sisestusväljale
  2. Ära muretse vormingu pärast—see töötab nii 12345678000195 kui ka 12.345.678/0001-95
  3. Klõpsa "Valideeri"
  4. Saa kohene tagasiside kontrollnumbrite õigsuse kohta

Mida validaator kontrollib: õige pikkus (14 numbrit), õiged kontrollnumbri arvutused ja kehtetute mustrite (nagu kõik samad numbrid) välistamine. Mida ta ei kontrolli: kas CNPJ on valitsuse andmebaasis registreeritud—selleks tuleb pöörduda otse Receita Federali poole.

Reaalsed kasutusjuhud CNPJ generaatori ja validaatori jaoks

Tarkvara arendus ja testimine

Andmebaasi täitmine: Kui seadistate testimiskeskkonda realistlike testandmetega, vajate kümneid või sadu kehtivaid CNPJ-sid. Nende käsitsi loomine on tülikas ning tegelike ettevõtte identifikaatorite kasutamine tekitab privaatsusprobleeme. Genereeritud CNPJ-d lahendavad mõlemad probleemid.

Üksustest testimise äärmised juhud: Teie valideerimisfunktsioon peaks tagasi lükkama 00.000.000/0000-00, kuid aktsepteerima 11.222.333/0001-81. Generaatori olemasolu võimaldab teil kiiresti luua nii kehtivaid kui ka tahtlikult kehtetuid testkasutusi, et kontrollida, kas teie loogika käsitleb piiritingimusi õigesti.

QA regressioonitestimine: Registreerimisvormide või B2B maksevoogude testimisel vajavad QA meeskonnad iga käivituse jaoks värskeid testandmeid. Levinud probleem, mida olen näinud: testikeskkonnad saavad täidetud samade 5-6 korduvalt kasutatavate CNPJ-dega, mis varjab vigu, mis ilmnevad ainult kindlate numbrimustrite puhul.

API integratsioonitestimine: Kui integreerite Brasiilia makseteenuse pakkujatega nagu PagSeguro või Mercado Pago, nõuavad nende liivakasti keskkonnad sageli kehtivat CNPJ vormingut. Matemaatika peab olema õige, isegi kui te ei puutu tootmisandmebaase.

Andmetöötlus ja valideerimine

Imporditud andmete puhastamine: Olete saanud CSV-faili 10 000 Brasiilia ettevõtte kirjega. Enne töötlemist peate tuvastama, millised CNPJ-d on vigased. Nende läbijooksmine validaatorist tuvastab kirjed trükivigadega, kärpimisega või valede kontrollnumbritega - säästes tunde hilisemat silumist.

Kliendipoolne vormi valideerimine: Vigaste CNPJ-de tuvastamine enne vormi esitamist parandab kasutajakogemust. Keegi ei taha täita 20-väljalist registreerimisvormi ainult selleks, et saada esitamisel viga, kuna kaks numbrit on omavahel vahetatud.

Andmete anonüümimine analüüsiks: Tootmisandmete ettevalmistamisel jagamiseks analüüsimeeskondadele või välistele partneritele peate asendama tegelikud CNPJ-d kehtivate, kuid võltsitud CNPJ-dega. See säilitab andmekogumi viiteühtsuse, kaitstes samal ajal tegelikke äriidentiteete.

Rahvusvahelised ärioperatsioonid

Brasiilia nõuete mõistmine: Kui laienete Brasiilia turule, puutute lepingutes, arvetel ja saatmisdokumentides kokku CNPJ nõuetega. Tööriista olemasolu vormi eksperimenteerimiseks aitab teil mõista, mida teie süsteemid peavad käsitlema.

Kolmanda osapoole integratsioonispetsifikatsioonid: Brasiilia SaaS-pakkujate API dokumentatsiooni ülevaatamisel näete sageli CNPJ-välju last näidetes. Kehtivate testiväärtuste genereerimise võime aitab teil kiiremini prototüüpe luua.

Alternatiivsed CNPJ valideerimise lähenemisviisid

Programmeerimise teegid

Kui vajate CNPJ valideerimist oma rakenduse loogikasse, rakendavad need teegid kontrollnumbri algoritmi:

Need teegid tavaliselt tegelevad vormindamise, parsimise ja valideerimisega mitme Brasiilia dokumenditüübi jaoks (CPF, CNPJ jne).

Ametlikud verifitseerimise API-d

Tootmissüsteemidele, mis vajavad tegelikku äriregistreeringut:

  • Receita Federal avalik teenus: Consulta CNPJ API võimaldab kontrolli ametliku andmebaasi vastu (nõuab õiget autoriseerimist ja piiranguid)
  • Kolmanda osapoole andmepakkujad: Teenused nagu Serasa Experian ja Boa Vista SCPC pakuvad ärilisi API-sid, mis tagastavad ettevõtte üksikasjad, registreerimise staatuse ja krediidiinformatsiooni

Märkus: Need teenused kontrollivad tegelikku registreerimist, mitte ainult matemaatilist kehtivust. Vajate õiget autoriseerimist ja peate arvestama API kuludega tootmiskasutuse korral.

Millal kasutada iga lähenemisviisi

Kasutage seda brauseriteenust, kui: vajate kiiret valideerimist ilma sõltuvusi paigaldamata, genereerite testandmeid demoks või õpite CNPJ valideerimist.

Kasutage teeki, kui: ehitate rakendust, mis vajab kliendipoolset või serveri poolset valideerimist vormitöötluse osana.

Kasutage ametlikku API-t, kui: vajate kinnitust, et CNPJ vastab tegelikule, aktiivsele äriühingule kehtiva registreerimise staatusega.

Tehnilised rakendusüksikasjad

See tööriist töötab täielikult teie brauseris JavaScripti abil — ilma serveri päringuteta, ilma andmete masinast väljumiseta. Siin on algoritmi tööpõhimõtted, mida saate kohandada oma projektides:

CNPJ genereerimise algoritm

1function generateCNPJ() {
2  // Genereeri esimesed 12 numbrit juhuslikult
3  const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4  
5  // Arvuta esimene kontrollnumber
6  const firstCheckDigit = calculateCheckDigit(digits);
7  digits.push(firstCheckDigit);
8  
9  // Arvuta teine kontrollnumber
10  const secondCheckDigit = calculateCheckDigit(digits);
11  digits.push(secondCheckDigit);
12  
13  // Vorminda CNPJ
14  return formatCNPJ(digits.join(''));
15}
16
17function calculateCheckDigit(digits) {
18  const weights = digits.length < 13 
19    ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] 
20    : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
21  
22  const sum = digits.reduce((acc, digit, index) => {
23    return acc + digit * weights[index];
24  }, 0);
25  
26  const remainder = sum % 11;
27  return remainder < 2 ? 0 : 11 - remainder;
28}
29

CNPJ valideerimise algoritm

1function validateCNPJ(cnpj) {
2  // Eemalda mittenuumerlised märgid
3  const cleanCNPJ = cnpj.replace(/\D/g, '');
4  
5  // Kontrolli õiget pikkust
6  if (cleanCNPJ.length !== 14) return false;
7  
8  // Kontrolli teadaolevaid kehtetuid mustreid (kõik samad numbrid)
9  if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10  
11  // Teisenda numbrite massiviks
12  const digits = cleanCNPJ.split('').map(Number);
13  
14  // Kontrolli esimest kontrollnumbrit
15  const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16  if (digits[12] !== expectedFirstDigit) return false;
17  
18  // Kontrolli teist kontrollnumbrit
19  const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20  if (digits[13] !== expectedSecondDigit) return false;
21  
22  return true;
23}
24

CNPJ vormindamise funktsioon

1function formatCNPJ(cnpj) {
2  // Eemalda mittenuumerlised märgid
3  const cleanCNPJ = cnpj.replace(/\D/g, '');
4  
5  // Vorminda pikkuse järgi
6  if (cleanCNPJ.length <= 2) {
7    return cleanCNPJ;
8  } else if (cleanCNPJ.length <= 5) {
9    return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2)}`;
10  } else if (cleanCNPJ.length <= 8) {
11    return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5)}`;
12  } else if (cleanCNPJ.length <= 12) {
13    return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8)}`;
14  } else {
15    return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8, 12)}-${cleanCNPJ.slice(12, 14)}`;
16  }
17}
18

Neid põhifunktsioone saab rakendada teistes programmeerimiskeeltes, järgides sama loogikat. Siin on näited Pythonis ja Javas:

Python'i rakendus

1import random
2
3def calculate_check_digit(digits):
4    weights = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] if len(digits) < 13 else [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
5    
6    total = 0
7    for i in range(len(digits)):
8        total += digits[i] * weights[i]
9    
10    remainder = total % 11
11    return 0 if remainder < 2 else 11 - remainder
12
13def generate_cnpj():
14    # Genereeri esimesed 12 numbrit juhuslikult
15    digits = [random.randint(0, 9) for _ in range(12)]
16    
17    # Arvuta esimene kontrollnumber
18    first_check = calculate_check_digit(digits)
19    digits.append(first_check)
20    
21    # Arvuta teine kontrollnumber
22    second_check = calculate_check_digit(digits)
23    digits.append(second_check)
24    
25    # Vorminda CNPJ
26    cnpj = ''.join(map(str, digits))
27    return f"{cnpj[:2]}.{cnpj[2:5]}.{cnpj[5:8]}/{cnpj[8:12]}-{cnpj[12:]}"
28
29def validate_cnpj(cnpj):
30    # Eemalda mittenuumerlised märgid
31    cnpj = ''.join(filter(str.isdigit, cnpj))
32    
33    # Kontrolli pikkust
34    if len(cnpj) != 14:
35        return False
36    
37    # Kontrolli, kas kõik numbrid on samad
38    if len(set(cnpj)) == 1:
39        return False
40    
41    # Teisenda täisarvude loendiks
42    digits = [int(d) for d in cnpj]
43    
44    # Valideerida esimene kontrollnumber
45    first_check = calculate_check_digit(digits[:12])
46    if digits[12] != first_check:
47        return False
48    
49    # Valideerida teine kontrollnumber
50    second_check = calculate_check_digit(digits[:13])
51    if digits[13] != second_check:
52        return False
53    
54    return True
55

Java rakendus

1import java.util.Random;
2
3public class CNPJUtils {
4    
5    public static String generateCNPJ() {
6        Random random = new Random();
7        int[] digits = new int[14];
8        
9        // Genereeri esimesed 12 numbrit juhuslikult
10        for (int i = 0; i < 12; i++) {
11            digits[i] = random.nextInt(10);
12        }
13        
14        // Arvuta esimene kontrollnumber
15        digits[12] = calculateCheckDigit(digits, 12);
16        
17        // Arvuta teine kontrollnumber
18        digits[13] = calculateCheckDigit(digits, 13);
19        
20        // Vorminda CNPJ
21        return String.format("%02d.%03d.%03d/%04d-%02d",
22                digits[0] * 10 + digits[1],
23                digits[2] * 100 + digits[3] * 10 + digits[4],
24                digits[5] * 100 + digits[6] * 10 + digits[7],
25                digits[8] * 1000 + digits[9] * 100 + digits[10] * 10 + digits[11],
26                digits[12] * 10 + digits[13]);
27    }
28    
29    private static int calculateCheckDigit(int[] digits, int length) {
30        int[] weights = length < 13 
31            ? new int[]{5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2}
32            : new int[]{6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2};
33        
34        int sum = 0;
35        for (int i = 0; i < length; i++) {
36            sum += digits[i] * weights[i];
37        }
38        
39        int remainder = sum % 11;
40        return remainder < 2 ? 0 : 11 - remainder;
41    }
42    
43    public static boolean validateCNPJ(String cnpj) {
44        // Eemalda mittenuumerlised märgid
45        cnpj = cnpj.replaceAll("\\D", "");
46        
47        // Kontrolli pikkust
48        if (cnpj.length() != 14) {
49            return false;
50        }
51        
52        // Kontrolli, kas kõik numbrid on samad
53        boolean allDigitsSame = true;
54        for (int i = 1; i < cnpj.length(); i++) {
55            if (cnpj.charAt(i) != cnpj.charAt(0)) {
56                allDigitsSame = false;
57                break;
58            }
59        }
60        if (allDigitsSame) {
61            return false;
62        }
63        
64        // Teisenda täisarvude massiviks
65        int[] digits = new int[14];
66        for (int i = 0; i < 14; i++) {
67            digits[i] = Character.getNumericValue(cnpj.charAt(i));
68        }
69        
70        // Valideerida esimene kontrollnumber
71        int firstCheck = calculateCheckDigit(digits, 12);
72        if (digits[12] != firstCheck) {
73            return false;
74        }
75        
76        // Valideerida teine kontrollnumber
77        int secondCheck = calculateCheckDigit(digits, 13);
78        if (digits[13] != secondCheck) {
79            return false;
80        }
81        
82        return true;
83    }
84}
85

Olulised piirangud ja kaalutlused

Mida see tööriist suudab ja ei suuda teha

Mida see valideerib: Matemaatilist korrektsust - kas kontrollnumbrid vastavad algoritmi arvutusele.

Mida see ei valideeri: Kas CNPJ on registreeritud Receita Federalis, kas see kuulub aktiivsele ettevõttele või kas see on seotud ettevõtte nimega, mida te eeldate.

Mõelge sellest nagu õigekirja kontrollimisest versus faktide kontrollimisest. See tööriist ütleb teile, kas CNPJ on "õigesti kirjutatud" vastavalt matemaatilistele reeglitele, kuid see ei saa öelda, kas number vastab tegelikule, aktiivsele äriühingule.

Seaduslik ja eetiline kasutamine

Genereeritud CNPJd on mõeldud ainult testimiseks ja arendamiseks. Need on matemaatiliselt kehtivad, kuid mitte registreeritud Brasiilia ametivõimude juures, mis tähendab:

  • Ohutu kasutada: Testimise andmebaaside täitmiseks, ühikute testimise valideerimisloogikaks, QA keskkondadeks, koodinäideteks dokumentatsioonis
  • Mitte kunagi kasutada: Maksude maksmisel, ettevõtte registreerimisel, lepingute allkirjastamisel, tegelike tehingute töötlemisel või ettevõtte identiteedi vääresitamisel

Võltsitud CNPJ kasutamine ametlikel eesmärkidel ei ole mitte ainult ebaeetiline - see on Brasiilia seaduse kohaselt ebaseaduslik ja võib kaasa tuua pettuse süüdistused.

Teadaolevad tehnilised piirangud

Juhusliku genereerimise tagajärjed: Tööriist genereerib esimesed 12 numbrit juhuslikult. Tegelikud CNPJd, mille on väljastanud Receita Federal, järgivad sisemisi mustreid, mis on seotud registreerimise kuupäeva, piirkondliku kontori ja ettevõtte tüübiga. Genereeritud numbrid ei vasta nendele mustritele, mida keerukad valideerimissüsteemid võivad märgata.

Semantiline valideerimine puudub: Kehtiv CNPJ vorming ei tähenda veel kehtivat ärikonteksti. Näiteks on valitsusasutustel spetsiifilised CNPJ vahemikud - see generaator võib juhuslikult luua ühe, kuid see ei oleks sisukas.

Vormingu käsitlemine: Validator aktsepteerib erinevaid sisendvorminguid (12345678000195, 12.345.678/0001-95), kuid mõned vanemad süsteemid eeldavad täpset vormingut. Alati testige oma konkreetsete integratsiooninõuetega.

Privaatsus ja turvalisus

Kogu töötlemine toimub kliendipoolselt teie brauseris. Ühtegi genereeritud või valideeritud CNPJd ei saadeta serveritesse, ei logita ega salvestata. Tööriist ei küsi, käsitle ega tötle mingeid isikuandmeid.

Korduma Kippuvad Küsimused CNPJ Valideerimise Kohta

Mis on erinevus CNPJ valideerimise ja kontrollimise vahel?

Valideerimine kontrollib, kas number on matemaatiliselt õige - õige vorming, õiged kontrollnumbrid, puuduvad kehtetud mustrid. See tööriist teeb valideerimist.

Kontrollimine kontrollib, kas CNPJ on registreeritud tegeliku ettevõttega Receita Federali andmebaasis. Kontrollimine nõuab päringu tegemist valitsuse andmebaasi ja seda see tööriist ei tee.

Teil võib olla täiesti kehtiv CNPJ, mis pole kontrollitud (nagu selle tööriista genereeritud testnumbrid), või kehtetu CNPJ, mis kuulub päris ettevõttele (kuna keegi sisestas selle valesti).

Kas ma saan genereeritud CNPJsid tootmistestimiseks kasutada?

See sõltub sellest, mida te mõtlete "tootmistestimise" all. Need sobivad lavastuskeskkondadeks, koormustestimiseks ja enne käivitamist testimiseks. Aga kui "tootmistestimine" tähendab testimist tegelike tehingute, tegelike valitsuse API-de või tegelike finantssüsteemidega - siis ei, te vajate tegelikke registreeritud CNPJsid.

Turvalisem lähenemine: kasutage genereeritud CNPJsid isoleeritud testimiskeskkondades, seejärel vahetage väike komplekt tegelike testetteõtete CNPJdega (mida te kontrollite), kui testitakse tootmisintegreerimisi.

Miks lükkas validaator tagasi 11.111.111/1111-11?

Kuigi CNPJ kõigi ühesuguste numbritega võib matemaatiliselt toota kehtivad kontrollnumbrid, jätab Receita Federal need mustrid selgelt välja. See on ärireegli, mitte matemaatiline reegel. Sama kehtib järjestikuste mustrite kohta mõnes valideerimissüsteemis.

See on sarnane sellega, kuidas paljud süsteemid lükkavad tagasi paroolid nagu "password123" isegi siis, kui need vastavad pikkuse nõuetele - need on tehniliselt kehtivad, aga praktiliselt vastuvõetamatud.

Kuidas käsitleda CNPJ valideerimist erinevates lokaliteetides?

Brasiilia ettevõtted, kes teevad rahvusvahelist äri, jätavad vahel vormindamise märgid ära välismaa süsteemidesse sisestamisel. Teie valideerimisloogika peaks eemaldama mittenuumerlised märgid enne kontrollimist:

1const cleanCNPJ = input.replace(/\D/g, ''); // Eemalda kõik peale numbrite
2

Aktsepteerige 12.345.678/0001-95, 12345678000195 ja 12 345 678 0001 95 võrdsetena.

Mis puutub CNPJ vs CPF valideerimisse?

CPF (Cadastro de Pessoas Físicas) on Brasiilia füüsilise isiku maksukood, CNPJ on ettevõtetele. Neil on erinevad kontrollnumbrite algoritmid ja pikkused (CPF-l on 11 numbrit, CNPJ-l 14). Kui te ehitate Brasiilia rakendust, mis käsitleb mõlemaid, vajate eraldi valideerimisfunktsioone - kuigi paljud teegid toetavad mõlemat vormingut.

Levinud muster: laske kasutajatel sisestada kas CPF või CNPJ samasse väljale, seejärel tuvastage tüüp pikkuse järgi pärast vormindamise märkide eemaldamist.

Kas see töötab välismaiste ettevõtete puhul, kes tegutsevad Brasiilias?

Välismaised ettevõtted, kes tegutsevad Brasiilias, peavad samuti saama CNPJd Receita Federalilt. Nende CNPJd järgivad sama vormingut ja valideerimisreegleid nagu kohalikud ettevõtted. Puudub spetsiaalne "välismaise ettevõtte" CNPJ vorming.

Siiski võivad välismaised ettevõtted vajada täiendavaid dokumentatsiooninõudeid ja erinevaid registreerimisprotsesse - konsulteerige Brasiilia äriadvokaaadiga täpsustamiseks.

Kas ma saan pärida valitsuse andmebaasi CNPJ registreerimise kontrollimiseks?

Jah, Receita Federal pakub avalikku juurdepääsu põhilise CNPJ teabe kontrollimiseks läbi nende Avaliku CNPJ Päringu teenuse. Saate käsitsi CNPJsid otsida või õige volitusega kasutada nende API-sid programmiliseks juurdepääsuks.

Pange tähele, et intensiivne kasutamine nõuab registreerimist ja on olemas piirangud kuritarvitamise vältimiseks.

Kui sageli CNPJd muutuvad?

CNPJd on püsivad identifikaatorid, mis ei muutu, kui ettevõte muudab oma nime, aadressi või omandistruktuuri. Siiski, kui ettevõte sulgeb ja hiljem taasregistreerib, võib ta saada uue CNPJ. Filiaalinumbreid (osa /XXXX) võib lisada, kui ettevõtted avavad uusi asukohti, kuid baas 8-numbriline number jääb muutumatuks.

Viited ja lisaressursid

Ametlikud valitsuslikud allikad

  1. Receita Federal do Brasil - Ametlik portaal - Brasiilia Föderaalse Maksuameti ametlik veebileht CNPJ registreerimise ja kontrollimise teenustega
  2. Consulta Pública CNPJ - Avalik CNPJ otsing - Ametlik valitsuslik teenus CNPJ registreerimise staatuse kontrollimiseks
  3. Normatiivne juhend RFB nr 1863/2018 - Õiguslikud regulatsioonid CNPJ registreerimiseks ja kasutamiseks Brasiilias

Tehnilised standardid ja dokumentatsioon

  1. Modulaarse aritmeetika algoritmid - Kontrollnumbri arvutamine kasutab modulo 11 aritmeetikat, standardset lähenemist valideerimise numbrite jaoks
  2. ISO/IEC 7064 - Rahvusvaheline standard kontrollnumbri süsteemidele, mis mõjutas Brasiilia dokumendi valideerimise disaini
  3. Brasiilia tsiviilseadustik (Seadus nr 10.406/2002) - Õiguslik raamistik, mis määratleb äriühingu klassifikatsioonid, mis nõuavad CNPJ registreerimist

Arendajate ressursid

  1. NPM paketi register - npmjs.com - Hoidla JavaScript teekidele, sealhulgas Brasiilia dokumendi validaatoritele
  2. PyPI (Python paketi register) - pypi.org - Python teegid CNPJ valideerimiseks ja Brasiilia dokumentide töötlemiseks
  3. GitHub - Avatud lähtekoodiga CNPJ valideerimise rakendused mitmes programmeerimiskeeles

Alusta CNPJde genereerimist ja valideerimist

Kas ehitate Brasiilia e-kaubanduse platvormi, testite maksete integreerimist Mercado Pagoga või lihtsalt soovite mõista, kuidas CNPJ valideerimine töötab, see tööriist annab teile kohese juurdepääsu nii genereerimis- kui ka valideerimisfunktsioonidele.

Mingit installeerimist, API võtmeid ega keerulist seadistamist pole vaja. Lihtsalt avage oma brauser ja hakake tööle kehtivate Brasiilia äriidentifikaatoritega.