Generátor a validátor CNPJ pre Brazíliu na testovanie
Generujte platné čísla CNPJ v Brazílii a overte existujúce pomocou tohto jednoduchého nástroja navrhnutého pre vývojárov a testerov pracujúcich s identifikačnými číslami firiem v Brazílii.
Generátor a validátor CNPJ pre Brazíliu
Generátor CNPJ
Vygenerujte platné číslo CNPJ pre testovacie účely.
Validátor CNPJ
Skontrolujte, či je číslo CNPJ platné.
Dokumentácia
Generátor a validátor CNPJ v Brazílii
Úvod
Brazílsky CNPJ (Cadastro Nacional da Pessoa Jurídica) je jedinečné identifikačné číslo pridelené podnikateľom a právnickým osobám v Brazílii. Tento generátor a validátor CNPJ v Brazílii poskytuje jednoduchý a efektívny spôsob, ako generovať platné čísla CNPJ na testovacie účely a overiť existujúce čísla CNPJ podľa oficiálneho brazílskeho algoritmu. Či už ste vývojár testujúci aplikácie, ktoré spracovávajú údaje o brazílskych podnikoch, profesionál QA vytvárajúci testovacie prípady, alebo ktokoľvek pracujúci s informáciami o brazílskych spoločnostiach, tento nástroj zjednodušuje proces práce s číslami CNPJ.
Na rozdiel od skutočných čísel CNPJ, ktoré oficiálne vydáva Brazílska federálna daňová správa (Receita Federal), CNPJs generované týmto nástrojom sú matematicky platné, ale nie sú registrované na skutočné spoločnosti. To ich robí ideálnymi na testovacie scenáre, vzorové údaje a vývojové prostredia, kde potrebujete správne naformátované a platné čísla CNPJ bez použitia skutočných identifikátorov podnikov.
Čo je CNPJ?
CNPJ (Cadastro Nacional da Pessoa Jurídica) je 14-ciferné identifikačné číslo, ktoré prideľuje podnikateľom a právnickým osobám Brazílska federálna daňová správa. Slúži ako brazílsky ekvivalent registračného čísla spoločnosti alebo daňového identifikačného čísla. Každý podnik, ktorý legálne pôsobí v Brazílii, musí mať CNPJ, ktorý sa používa na:
- Daňové hlásenie a dodržiavanie predpisov
- Registráciu podnikov u vládnych agentúr
- Otvorenie bankových účtov
- Vydávanie faktúr a potvrdení
- Účasť na vládnych tendroch
- Dovoz a vývoz tovaru
CNPJ je základným identifikátorom v brazílskom podnikateľskom ekosystéme a objavuje sa na oficiálnych dokumentoch, zmluvách a finančných záznamoch.
Štruktúra a formát CNPJ
Brazílsky CNPJ pozostáva zo 14 číslic, zvyčajne formátovaných ako: XX.XXX.XXX/YYYY-ZZ
Štruktúra sa rozkladá nasledovne:
- Prvých 8 číslic (XX.XXX.XXX): Základné číslo pridelené spoločnosti
- 4 číslice po lomítku (YYYY): Identifikátor pobočky (0001 pre sídlo, iné čísla pre pobočky)
- Posledné 2 číslice (ZZ): Kontrolné číslice na overenie
Napríklad, správne naformátovaný CNPJ by mohol vyzerať takto: 12.345.678/0001-95
Kontrolné číslice (posledné dve číslice) sa vypočítavajú pomocou špecifického matematického algoritmu, ktorý overuje pravosť CNPJ. Tento algoritmus zabezpečuje, že náhodne generované čísla nemôžu prejsť validáciou bez dodržania správnej metódy výpočtu.
Ako funguje validácia CNPJ
Algoritmus validácie CNPJ používa vážené výpočty na určenie kontrolných číslic. Tu je, ako to funguje:
Výpočet prvej kontrolnej číslice
- Násobte každú z prvých 12 číslic váhovou sekvenciou: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
- Sčítajte výsledky týchto násobení
- Vypočítajte zvyšok tohto súčtu delením 11
- Ak je zvyšok menší ako 2, prvá kontrolná číslica je 0; inak je to 11 mínus zvyšok
Výpočet druhej kontrolnej číslice
- Násobte každú z prvých 13 číslic (vrátane prvej kontrolnej číslice) váhovou sekvenciou: 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
- Sčítajte výsledky týchto násobení
- Vypočítajte zvyšok tohto súčtu delením 11
- Ak je zvyšok menší ako 2, druhá kontrolná číslica je 0; inak je to 11 mínus zvyšok
Aby bol CNPJ platný, obe kontrolné číslice musia zodpovedať vypočítaným hodnotám.
Ako používať tento nástroj
Náš nástroj na generovanie a validáciu CNPJ v Brazílii ponúka dve hlavné funkcie: generovanie platných CNPJ a validáciu existujúcich čísel CNPJ.
Generovanie CNPJ
Ak chcete vygenerovať platný CNPJ na testovacie účely:
- Prejdite do sekcie "Generátor CNPJ" nástroja
- Kliknite na tlačidlo "Generovať CNPJ"
- Matematicky platný CNPJ sa objaví v naformátovanej zobrazení
- Použite tlačidlo "Kopírovať", aby ste skopírovali vygenerovaný CNPJ do schránky
Vygenerovaný CNPJ bude dodržiavať všetky matematické pravidlá validácie skutočného CNPJ, ale nie je registrovaný u Brazílskej federálnej daňovej správy.
Validácia CNPJ
Ak chcete skontrolovať, či je CNPJ matematicky platný:
- Prejdite do sekcie "Validátor CNPJ" nástroja
- Zadajte CNPJ, ktorý chcete overiť, do vstupného poľa
- Nástroj akceptuje CNPJs s alebo bez formátovania (bodky, lomítka a pomlčky)
- Kliknite na tlačidlo "Validovať"
- Nástroj zobrazí, či je CNPJ platný alebo neplatný na základe algoritmu kontrolnej číslice
Validátor kontroluje, či CNPJ dodržiava správny formát a či kontrolné číslice zodpovedajú očakávaným hodnotám podľa validačného algoritmu.
Prípadové štúdie
Tento generátor a validátor CNPJ v Brazílii je obzvlášť užitočný v nasledujúcich scenároch:
Vývoj softvéru a testovanie
- Vytváranie testovacích údajov: Generujte platné CNPJs na naplnenie testovacích databáz bez použitia skutočných identifikátorov podnikov
- Jednotkové testovanie: Overte funkcie spracovania CNPJ vo vašom kóde s poznanými platnými a neplatnými príkladmi
- QA testovanie: Vytvorte testovacie prípady pre formuláre a rozhrania, ktoré vyžadujú vstup CNPJ
- Integračné testovanie: Testujte systémy, ktoré vymieňajú údaje s brazílskymi vládnymi službami alebo finančnými inštitúciami
Vzdelávanie a školenie
- Učenie sa formátu CNPJ: Pochopte, ako sú štruktúrované brazílske identifikátory podnikov
- Štúdium algoritmu: Preskúmajte, ako funguje validácia kontrolnej číslice v praxi
- Techniky validácie údajov: Študujte reálne príklady požiadaviek na validáciu údajov
Spracovanie údajov
- Čistenie údajov: Overte CNPJs v existujúcich datasetoch, aby ste identifikovali potenciálne chyby
- Validácia formulárov: Implementujte validáciu na strane klienta alebo servera pre vstupy CNPJ
- Anonymizácia údajov: Nahrádzajte skutočné CNPJs platnými generovanými, keď pripravujete datasety na analýzu
Medzinárodný obchod
- Príprava na vstup na trh: Pochopte požiadavky na identifikáciu podnikov v Brazílii
- Príprava dokumentov: Zabezpečte správne formátovanie pri príprave obchodných dokumentov pre Brazíliu
- Kontrola súladu: Overte, či zhromaždené čísla CNPJ sú aspoň matematicky platné
Alternatívy
Aj keď náš nástroj poskytuje jednoduché, webové riešenie na generovanie a validáciu CNPJ, existuje niekoľko alternatív v závislosti od vašich konkrétnych potrieb:
Knižnice programovania
Pre vývojárov, ktorí integrujú validáciu CNPJ priamo do aplikácií, sú k dispozícii niektoré knižnice špecifické pre jazyk:
- JavaScript:
cpf_cnpj.js
,validator.js
- Python:
python-cnpj
,validate-docbr
- PHP:
brazilianutils
,respect/validation
- Java:
caelum-stella
,commons-validator
- Ruby:
cpf_cnpj
,brazilian-rails
Tieto knižnice často poskytujú ďalšiu funkcionalitu, ako je formátovanie, analýza a validácia iných brazílskych dokumentov.
API služby
Pre aplikácie, ktoré vyžadujú validáciu bez implementácie algoritmu:
- Brazílske vládne API (vyžaduje registráciu)
- Komerčné validačné API, ktoré zahŕňajú kontrolu CNPJ
- Služby informácií o podnikoch, ktoré overujú proti oficiálnej databáze
Ručný výpočet
Na vzdelávacie účely alebo jednorazové validácie môžete ručne aplikovať algoritmus:
- Extrahujte prvých 12 číslic CNPJ
- Vykonajte vážené výpočty, ako je popísané vyššie
- Porovnajte vypočítané kontrolné číslice so skutočnými kontrolnými číslicami
Avšak ručný výpočet je náchylný na chyby a neefektívny pre pravidelné použitie.
Technická implementácia
Generátor a validátor CNPJ v tomto nástroji sú implementované pomocou JavaScriptu, čo ho robí rýchlym a schopným fungovať úplne vo vašom prehliadači bez odosielania vašich údajov na server. Tu je, ako fungujú základné funkcie:
Algoritmus generovania CNPJ
1function generateCNPJ() {
2 // Generujte prvých 12 číslic náhodne
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // Vypočítajte prvú kontrolnú číslicu
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // Vypočítajte druhú kontrolnú číslicu
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // Naformátujte 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
Algoritmus validácie CNPJ
1function validateCNPJ(cnpj) {
2 // Odstráňte nečíselné znaky
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Skontrolujte, či má správnu dĺžku
6 if (cleanCNPJ.length !== 14) return false;
7
8 // Skontrolujte známe neplatné vzory (všetky rovnaké číslice)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // Preveďte na pole číslic
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // Skontrolujte prvú kontrolnú číslicu
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // Skontrolujte druhú kontrolnú číslicu
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24
Funkcia formátovania CNPJ
1function formatCNPJ(cnpj) {
2 // Odstráňte nečíselné znaky
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Formátujte na základe dĺžky
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
Tieto základné funkcie môžu byť implementované v iných programovacích jazykoch podľa rovnakého logiky. Tu sú príklady v Pythone a Jave:
Implementácia v Pythone
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 # Generujte prvých 12 číslic náhodne
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # Vypočítajte prvú kontrolnú číslicu
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # Vypočítajte druhú kontrolnú číslicu
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # Naformátujte 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 # Odstráňte nečíselné znaky
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # Skontrolujte dĺžku
34 if len(cnpj) != 14:
35 return False
36
37 # Skontrolujte, či sú všetky číslice rovnaké
38 if len(set(cnpj)) == 1:
39 return False
40
41 # Preveďte na pole číslic
42 digits = [int(d) for d in cnpj]
43
44 # Overte prvú kontrolnú číslicu
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # Overte druhú kontrolnú číslicu
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55
Implementácia v Jave
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 // Generujte prvých 12 číslic náhodne
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // Vypočítajte prvú kontrolnú číslicu
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // Vypočítajte druhú kontrolnú číslicu
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // Naformátujte 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 // Odstráňte nečíselné znaky
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // Skontrolujte dĺžku
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // Skontrolujte, či sú všetky číslice rovnaké
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 // Preveďte na pole číslic
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 // Overte prvú kontrolnú číslicu
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // Overte druhú kontrolnú číslicu
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85
Dôležité úvahy
Pri používaní tohto generátora a validátora CNPJ majte na pamäti nasledujúce úvahy:
Právne a etické úvahy
- Nie na podvod: Vygenerované CNPJs by sa nikdy nemali používať na podvodné účely alebo na nepravdivé predstavenie
- Iba na testovanie: Tieto CNPJs sú určené iba na testovacie a vývojové účely
- Nie sú registrované: Vygenerované CNPJs sú matematicky platné, ale nie sú registrované u brazílskych úradov
- Žiadna reálna platnosť: Nemôžu sa používať na skutočnú registráciu podnikov alebo daňové účely
Technické obmedzenia
- Žiadne obchodné informácie: Vygenerované CNPJs neobsahujú skutočné kódy sektora podnikov alebo informácie o lokalite
- Žiadna overovacia databáza: Validátor kontroluje iba matematickú platnosť, nie stav registrácie
- Variácie formátov: Hoci nástroj zvláda bežné variácie formátovania, niektoré systémy môžu vyžadovať špecifické formáty
Bezpečnostné úvahy
- Spracovanie na strane klienta: Všetko spracovanie prebieha vo vašom prehliadači; žiadne údaje nie sú odosielané na servery
- Žiadne ukladanie údajov: Vygenerované CNPJs nie sú uložené ani zaznamenané
- Žiadne osobné údaje: Nástroj nezohľadňuje ani nespracováva žiadne osobné informácie
Často kladené otázky
Na čo sa CNPJ používa v Brazílii?
CNPJ je národné registračné číslo pre podniky a právnické osoby v Brazílii. Používa sa na daňové účely, registráciu podnikov, otváranie bankových účtov a identifikáciu spoločností v oficiálnych transakciách.
Sú CNPJs generované týmto nástrojom skutočné?
Nie. CNPJs generované týmto nástrojom sú matematicky platné podľa algoritmu kontrolnej číslice, ale nie sú registrované u Brazílskej federálnej daňovej správy a nepatria skutočným spoločnostiam.
Môžem použiť vygenerované CNPJs pre moju firmu?
Nie. Na získanie legitímneho CNPJ pre podnik musíte registrovať u Brazílskej federálnej daňovej správy (Receita Federal) podľa oficiálneho postupu. Vygenerované CNPJs sú určené iba na testovacie účely.
Ako môžem zistiť, či CNPJ patrí skutočnej spoločnosti?
Aby ste overili, či je CNPJ registrované na skutočnú spoločnosť, musíte sa obrátiť na databázu Brazílskej federálnej daňovej správy. Náš nástroj kontroluje iba to, či je CNPJ matematicky platné, nie či je oficiálne registrované.
Prečo validátor odmieta CNPJ so všetkými rovnakými číslicami?
CNPJs so všetkými rovnakými číslicami (ako 11.111.111/1111-11) sú automaticky považované za neplatné, aj keď matematicky prejdú algoritmom kontrolnej číslice. Toto je pravidlo stanovené Brazílskou federálnou daňovou správou.
Ukladá nástroj CNPJs, ktoré generujem alebo validujem?
Nie. Všetko spracovanie prebieha vo vašom prehliadači a neukladáme ani neprenášame žiadne z CNPJ, ktoré generujete alebo validujete.
Môžem generovať viacero CNPJs naraz?
Aktuálna verzia nástroja generuje jeden CNPJ naraz. Pre hromadné generovanie by ste mali zvážiť použitie jednej z programovacích knižníc uvedených v sekcii Alternatívy.
Prečo je formát XX.XXX.XXX/XXXX-XX dôležitý?
Toto je oficiálny formát vyžadovaný brazílskymi úradmi. Špecifické skupiny pomáhajú identifikovať rôzne komponenty CNPJ, ako je základné číslo a identifikátor pobočky.
Ako môžem programovo overiť CNPJ?
Môžete implementovať algoritmus validácie vo vašom preferovanom programovacom jazyku pomocou kódových príkladov uvedených v sekcii Technická implementácia, alebo použiť jednu z knižníc uvedených v sekcii Alternatívy.
Existujú špeciálne CNPJs pre vládne subjekty?
Áno. Vládne subjekty v Brazílii majú špecifické vzory CNPJ. Napríklad, federálne vládne subjekty často začínajú špecifickými číslicami. Náš generátor vytvára náhodné CNPJs a nevytvára špecificky CNPJs vládnych subjektov.
Odkazy
- Brazílska federálna daňová správa (Receita Federal do Brasil) - Oficiálna stránka
- "CNPJ - Cadastro Nacional da Pessoa Jurídica" - Wikipedia
- Brazílsky občiansky zákonník (Zákon č. 10.406/2002) - Právny rámec pre podnikateľské subjekty v Brazílii
- Normatívna inštrukcia Brazílskej obchodnej registrácie (IN RFB č. 1863/2018) - Predpisy o registrácii CNPJ
Vyskúšajte to teraz
Náš nástroj na generovanie a validáciu CNPJ v Brazílii robí prácu s týmito identifikačnými číslami jednoduchou a efektívnou. Či už testujete aplikácie, pripravujete vzorové údaje alebo overujete existujúce CNPJs, tento nástroj poskytuje priamy a jednoduchý spôsob bez zložitosti integrácie API alebo pokročilých konfigurácií.
Vygenerujte svoj prvý platný CNPJ teraz alebo overte existujúci pomocou nášho jednoduchého rozhrania!
Spätná väzba
Kliknite na toast so spätnou väzbou, aby ste začali dávať spätnú väzbu o tomto nástroji
Súvisiace nástroje
Objavte ďalšie nástroje, ktoré by mohli byť užitočné pre váš pracovný tok