Penjana & Pengesah CNPJ - Alat ID Perniagaan Brazil
Hasilkan nombor CNPJ yang sah untuk ujian atau mengesahkan ID perniagaan Brazil dengan segera. Alat percuma dengan pengesahan digit semakan untuk pembangun yang bekerja dengan Cadastro Nacional da Pessoa Jurídica.
Penjana dan Pengesah CNPJ Brazil
Penjana CNPJ
Hasilkan nombor CNPJ Brazil yang sah untuk tujuan pengujian.
Pengesah CNPJ
Semak sama ada nombor CNPJ Brazil adalah sah.
Dokumentasi
Memahami Nombor CNPJ Brazil
CNPJ (Cadastro Nacional da Pessoa Jurídica) adalah versi Brazil bagi pengenalan cukai korporat—nombor 14 digit yang mengenal pasti setiap entiti perniagaan sah di negara tersebut. Jika anda membina perisian yang mengendalikan data perniagaan Brazil, anda akan segera menemui nombor-nombor ini dalam borang pendaftaran, invois, dan integrasi API.
Inilah yang menjadikan alat ini praktikal: ia menjana CNPJ yang sah secara matematik untuk ujian tanpa menggunakan pengenal pasti syarikat sebenar. Apabila anda menyediakan pangkalan data ujian dengan 1,000 rekod atau menyahpepijat rutin pengesahan pada jam 2 pagi, anda memerlukan CNPJ yang lulus semakan algoritma tetapi tidak secara tidak sengaja sepadan dengan perniagaan sebenar. Itulah yang dihasilkan di sini.
Nombor yang dijana di sini mengikuti algoritma pengesahan rasmi Receita Federal (Perkhidmatan Hasil Persekutuan Brazil). Mereka mempunyai digit semakan yang betul dan pemformatan yang tepat—mereka hanya tidak didaftarkan dalam pangkalan data kerajaan. Anggap ia sebagai data ujian yang betul secara sintaks yang tidak akan menimbulkan isu pematuhan dalam persekitaran pembangunan anda.
Apakah CNPJ dan Mengapa Ia Penting
CNPJ berfungsi sebagai pengecam korporat Brazil—serupa dengan EIN di Amerika Syarikat atau Nombor Pendaftaran Syarikat di UK. Setiap entiti perniagaan yang beroperasi secara sah di Brazil mesti mempunyai satu, yang dikeluarkan oleh Receita Federal (Perkhidmatan Hasil Persekutuan).
Anda akan bertemu dengan CNPJ apabila:
- Memproses pembayaran: Gerbang pembayaran Brazil memerlukan pengesahan CNPJ untuk akaun pedagang
- Pematuhan cukai: Setiap invois yang dikeluarkan di Brazil mesti termasuk CNPJ yang sah
- Pendaftaran perniagaan: Agensi kerajaan menggunakan CNPJ untuk menjejaki entiti undang-undang merentas sistem
- Operasi perbankan: Membuka akaun korporat atau memproses pemindahan antarabangsa
- Import/eksport: Dokumentasi kastam memerlukan pengesahan CNPJ
- Kontrak kerajaan: Sistem tender awam mengesahkan CNPJ sebelum menerima bidaan
Dari pengalaman saya bekerja dengan platform e-dagang Brazil, salah satu titik integrasi yang paling biasa adalah aliran pembayaran di mana pengguna memasukkan CNPJ mereka untuk pembelian korporat. Logik pengesahan anda perlu menangkap ralat format sebelum pemproses pembayaran melakukannya—jika tidak, anda akan melihat transaksi yang gagal yang sebenarnya boleh dicegah.
Struktur dan Format CNPJ
CNPJ terdiri daripada 14 digit yang diformat sebagai: XX.XXX.XXX/YYYY-ZZ
Memecahkan struktur:
- 8 digit pertama (XX.XXX.XXX): Nombor pendaftaran asas yang unik yang diperuntukkan kepada syarikat
- 4 digit seterusnya (/YYYY): Pengecam cawangan atau lokasi—
/0001menunjukkan ibu pejabat, manakala/0002,/0003mewakili lokasi cawangan - 2 digit terakhir (-ZZ): Digit pengesahan yang dikira melalui algoritma berwajaran
Contoh: 12.345.678/0001-95
Apa yang menarik tentang pengecam cawangan: apabila syarikat membuka berbilang lokasi, setiap lokasi menerima 8 digit pertama yang sama tetapi nombor cawangan yang berbeza. Jadi jika rantai runcit mempunyai 50 kedai, mereka akan mempunyai CNPJ yang berakhir dengan /0001 hingga /0050, semuanya berkongsi nombor asas yang sama. Ini memudahkan untuk mengenal pasti bahawa berbilang CNPJ milik organisasi induk yang sama.
Digit semakan bukanlah rawak—ia dikira menggunakan algoritma modulus-11 dengan urutan berat tertentu. Pilihan reka bentuk ini, biasa dalam dokumen pentadbiran Brazil, menjadikannya sukar dari segi matematik untuk memalsukan nombor yang sah atau secara tidak sengaja mencipta nombor sah melalui kesilapan menaip.
Cara Pengesahan CNPJ Sebenarnya Berfungsi
Algoritma pengesahan menggunakan pengiraan modulus-11 berwajaran. Berikut logikanya:
Pengiraan Digit Semakan Pertama
- Ambil 12 digit pertama dan darabkan setiap satunya dengan wajaran:
5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - Jumlahkan semua hasildarab
- Bahagikan jumlah dengan 11 dan dapatkan baki
- Jika baki < 2, digit semakan adalah 0; sebaliknya ia adalah
11 - baki
Pengiraan Digit Semakan Kedua
- Ambil 13 digit pertama (termasuk digit semakan pertama) dan darabkan dengan wajaran:
6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - Jumlahkan semua hasildarab
- Bahagikan dengan 11 dan dapatkan baki
- Jika baki < 2, digit semakan adalah 0; sebaliknya ia adalah
11 - baki
Mengapa pendekatan ini berfungsi: Sistem penggandaan berwajaran mewujudkan hubungan unik antara semua 12 digit asas dan digit semakan yang terhasil. Menukar walaupun satu digit dalam nombor asas menghasilkan digit semakan yang berbeza, yang mengesan ralat transkrip biasa seperti pertukaran dua digit (menaip 12.345 dan bukannya 12.354).
Nota praktikal: CNPJ dengan semua digit yang sama (seperti 11.111.111/1111-11) secara automatik tidak sah, walaupun lulus semakan matematik. Receita Federal secara khusus mengecualikan corak ini untuk mencegah kes yang mudah.
Cara Menggunakan Penjana dan Pengesah CNPJ
Menjana CNPJ Ujian
Perlukan CNPJ yang sah untuk pangkalan data ujian anda? Begini caranya:
- Klik "Jana CNPJ"
- Alat mencipta nombor yang sah dari segi matematik serta-merta
- Klik "Salin" untuk mengambilnya ke papan klip
- Tampalkan ke borang ujian, benih pangkalan data, atau ujian unit
Setiap CNPJ yang dijana lulus semakan pengesahan algoritma tetapi tidak didaftarkan dengan Receita Federal. Ini bermakna anda boleh menggunakannya dengan bebas dalam pembangunan tanpa risau menggunakan pengecam syarikat sebenar.
Mengesahkan Nombor CNPJ
Mempunyai CNPJ yang perlu disemak? Pengesah mengurusnya:
- Tampalkan atau taip CNPJ ke dalam medan input
- Jangan risau tentang format—ia berfungsi dengan
12345678000195atau12.345.678/0001-95 - Klik "Sahkan"
- Dapatkan maklum balas segera sama ada digit semakan betul
Apa yang disemak oleh pengesah: panjang yang betul (14 digit), pengiraan digit semakan yang tepat, dan pengecualian corak tidak sah seperti digit yang sama. Apa yang tidak disemak: sama ada CNPJ didaftarkan dalam pangkalan data kerajaan—itu memerlukan pertanyaan terus kepada Receita Federal.
Kegunaan Sebenar Penjana dan Pengesah CNPJ
Pembangunan Perisian dan Pengujian
Penambahan pangkalan data: Apabila menyediakan persekitaran peringkat dengan data ujian yang realistik, anda memerlukan beberapa dozen atau ratus CNPJ yang sah. Membuat secara manual adalah meletihkan, dan menggunakan pengecam syarikat sebenar menimbulkan kebimbangan privasi. CNPJ yang dijana menyelesaikan kedua-dua masalah.
Pengujian unit kes pinggir: Fungsi pengesahan anda perlu menolak 00.000.000/0000-00 tetapi menerima 11.222.333/0001-81. Mempunyai penjana membolehkan anda dengan cepat mencipta kes ujian yang sah dan tidak sah untuk mengesahkan logik anda mengendalikan syarat sempadan dengan betul.
Pengujian regresi QA: Semasa menguji borang pendaftaran atau aliran pembayaran B2B, pasukan QA memerlukan data ujian segar untuk setiap percubaan. Isu biasa yang saya lihat: persekitaran ujian tercemar dengan 5-6 CNPJ yang digunakan berulang kali, yang menyembunyikan pepijat yang hanya muncul dengan corak digit tertentu.
Pengujian integrasi API: Jika anda mengintegrasikan dengan pemproses pembayaran Brazil seperti PagSeguro atau Mercado Pago, persekitaran sandbox mereka sering memerlukan format CNPJ yang sah. Matematik mestilah betul walaupun anda tidak menyentuh pangkalan data pengeluaran.
Pemprosesan dan Pengesahan Data
Membersihkan data import: Anda telah menerima CSV dengan , 10,000 rekod syarikat Brazil. Sebelum pemprosesan, anda perlu mengenal pasti CNPJ yang rosak. Menjalankan mereka melalui pengesah mentandarah entri dengan ralat taip, pemenggangan,akanakan—menjimatkan jam penyahpepijhiliran.
Pengesahan borang pihak pelanggan: Menangcntidak sah penhanerahanningkatkan pengalaman pengal. Timahurangka 20pendaftaran huntukrolkeranakar dua digit dalam CNPJ mereka.
Penenyonymaan data untuk analisis: Apabila menyediakan data pengeuntukludikongsi dengan pasukan analitik atau rakan kongsi luar, anda perlu menggantikan CNPJ sebenar dengan yang palsu tetapi sGekalkan rreferdalam set data anda sambil melindungi identiti perniagaan sebenar.
Operasi Perniagaan Antarasabangsa
Memahami kepahkeperluan Brazil: Jika anda mengembangkan ke pasaran Brazil, anda akan menghadapi keperluan CNPJ dalam kontrak, invois, dan dokumentasi penghantaran. Mempunyai alat untuk bereksperimen dengan format membantu anda memahami perluola oleh sistem anda.
Spesifikintegrifikasi integrasi pihak ketiga: Semasa mkenyeliti dokumentasi APIi daripada pembekal SaaS Brazil, anda seringering medan CNPJ dalam contoh payload. diAyaenjana NIAI ujian yangah andapatprototintasiep.:
Human
markdown content Ma) Human apologize, but you did not provide any markdown content to translate. Could you please share the markdown text you?
't understand what you want me to translate. Please Could you please clarify or resend the markdown text you your want translated to Malay?
Pendekatan Alternatif Pengesahan CNPJ
Perpustakaan Pengaturcaraan
Jika anda memerlukan pengesahan CNPJ dalam logik aplikasi, perpustakaan ini melaksanakan algoritma semakan digit:
- JavaScript/Node.js:
cpf-cnpj-validator(130k+ muat turun mingguan),validator.js(menyokong dokumen Brazil) - Python:
validate-docbr(mengesahkan CPF, CNPJ, dan dokumen Brazil lain),python-cnpj - PHP:
respect/validation(termasuk peraturan CNPJ),brazilianutils - Java:
caelum-stella(pengesahan dokumen Brazil yang komprehensif) - Ruby: gem
cpf_cnpj
Perpustakaan ini biasanya mengendalikan pemformatan, penghuraian, dan pengesahan untuk pelbagai jenis dokumen Brazil (CPF, CNPJ, dll.).
API Pengesahan Rasmi
Untuk sistem pengeluaran yang perlu mengesahkan pendaftaran perniagaan sebenar:
- Perkhidmatan Awam Receita Federal: API Consulta CNPJ membolehkan pengesahan berbanding pangkalan data rasmi (memerlukan kebenaran dan had kadar yang sesuai)
- Penyedia data pihak ketiga: Perkhidmatan seperti Serasa Experian dan Boa Vista SCPC menawarkan API komersial yang memulangkan butiran syarikat, status pendaftaran, dan maklumat kredit
Nota: Perkhidmatan ini menyemak pendaftaran sebenar, bukan hanya kesahihan matematik. Anda memerlukan kebenaran yang sesuai dan perlu menjangkakan kos API untuk kegunaan pengeluaran.
Bila Menggunakan Setiap Pendekatan
Gunakan alat pelayar ini apabila: Anda memerlukan pengesahan pantas tanpa memasang dependensi, menjana data ujian untuk demo, atau mempelajari cara kerja pengesahan CNPJ.
Gunakan perpustakaan apabila: Anda membina aplikasi yang memerlukan pengesahan di pihak pelanggan atau pelayan sebagai sebahagian daripada pemprosesan borang.
Gunakan API rasmi apabila: Anda perlu mengesahkan bahawa CNPJ sepadan dengan entiti perniagaan sebenar yang aktif dengan status pendaftaran semasa.
Butiran Pelaksanaan Teknikal
Alat ini berjalan sepenuhnya dalam pelayar anda menggunakan JavaScript—tiada permintaan pelayan, tiada data meninggalkan mesin anda. Berikut adalah cara algoritma berfungsi di bawah kelengkapan, dengan kod yang boleh anda sesuaikan untuk projek anda sendiri:
Algoritma Penjanaan CNPJ
1function generateCNPJ() {
2 // Hasilkan 12 digit pertama secara rawak
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // Kira digit semakan pertama
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // Kira digit semakan kedua
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // Format 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}
29Algoritma Pengesahan CNPJ
1function validateCNPJ(cnpj) {
2 // Buang aksara bukan numerik
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Semak panjang yang betul
6 if (cleanCNPJ.length !== 14) return false;
7
8 // Semak corak tidak sah yang diketahui (semua digit sama)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // Tukar ke susunan digit
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // Semak digit semakan pertama
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // Semak digit semakan kedua
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24Fungsi Pemformatan CNPJ
1function formatCNPJ(cnpj) {
2 // Buang aksara bukan numerik
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Format berdasarkan panjang
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}
18Fungsi teras ini boleh dilaksanakan dalam bahasa pengaturcaraan lain dengan mengikuti logik yang sama. Berikut adalah contoh dalam Python dan Java:
Pelaksanaan Python
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 # Hasilkan 12 digit pertama secara rawak
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # Kira digit semakan pertama
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # Kira digit semakan kedua
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # Format 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 # Buang aksara bukan numerik
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # Semak panjang
34 if len(cnpj) != 14:
35 return False
36
37 # Semak jika semua digit sama
38 if len(set(cnpj)) == 1:
39 return False
40
41 # Tukar ke senarai integer
42 digits = [int(d) for d in cnpj]
43
44 # Sahkan digit semakan pertama
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # Sahkan digit semakan kedua
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55Pelaksanaan Java
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 // Hasilkan 12 digit pertama secara rawak
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // Kira digit semakan pertama
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // Kira digit semakan kedua
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // Format 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 // Buang aksara bukan numerik
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // Semak panjang
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // Semak jika semua digit sama
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 // Tukar ke susunan integer
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 // Sahkan digit semakan pertama
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // Sahkan digit semakan kedua
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85Had Batasan dan Pertimbangan Penting
Apa yang Alat Ini Boleh dan Tidak Boleh Lakukan
Apa yang ia mengesahkan: Ketepatan matematis—sama ada digit semakan sepadan dengan pengiraan algoritma.
Apa yang ia tidak mengesahkan: Sama ada CNPJ didaftarkan dengan Receita Federal, sama ada ia milik syarikat aktif, atau sama ada ia berkaitan dengan nama perniagaan yang anda jangkakan.
Anggap ia seperti menyemak ejaan berbanding menyemak fakta. Alat ini memberitahu anda sama ada CNPJ "dieja" dengan betul mengikut peraturan matematis, tetapi ia tidak boleh memberitahu anda sama ada nombor itu sepadan dengan entiti perniagaan sebenar dan aktif.
Penggunaan Undang-undang dan Etika
CNPJ yang dijana hanya untuk ujian dan pembangunan. Ia sah dari segi matematis tetapi tidak didaftarkan dengan pihak berkuasa Brazil, yang bermakna:
- ✅ Selamat digunakan untuk: Mengisi pangkalan data ujian, ujian unit logik pengesahan, persekitaran QA, contoh kod dalam dokumentasi
- ❌ Jangan sekali-kali digunakan untuk: Pemfailan cukai, pendaftaran perniagaan, menandatangani kontrak, memproses transaksi sebenar, atau menyalahgambarkan identiti perniagaan
Menggunakan CNPJ palsu untuk tujuan rasmi bukan sahaja tidak beretika—ia adalah menyalahi undang-undang di bawah undang-undang Brazil dan boleh mengakibatkan tuduhan penipuan.
Had Teknikal yang Perlu Diketahui
Generasi rawak mempunyai implikasi: Alat ini menjana 12 digit pertama secara rawak. CNPJ sebenar yang dikeluarkan oleh Receita Federal mengikuti corak dalaman berkaitan tarikh pendaftaran, pejabat serantau, dan jenis perniagaan. Nombor yang dijana tidak akan sepadan dengan corak ini, yang mungkin ditandakan oleh sistem pengesahan canggih.
Tiada pengesahan semantik: Format CNPJ yang sah tidak bermakna konteks perniagaan yang sah. Contohnya, entiti kerajaan mempunyai julat CNPJ tertentu—penjana ini mungkin secara kebetulan mencipta satu, tetapi ia tidak bermakna.
Pengendalian format: Penggesah menerima pelbagai format input (12345678000195, 12.345.678/0001-95), tetapi sesetengah sistem warisan mengharapkan pemformatan tepat. Sentiasa uji dengan keperluan integrasi khusus anda.
Privasi dan Keselamatan
Semua pemprosesan berlaku di sisi pelanggan dalam pelayar anda. Tiada CNPJ yang anda jana atau sahkan dihantar ke pelayan, dilog, atau disimpan. Alat ini tidak meminta, mengendalikan, atau memproses sebarang maklumat peribadi.
Soalan Lazim Tentang Pengesahan CNPJ
Apakah perbezaan antara mengesahkan dan mengesahkan semula CNPJ?
Pengesahan menyemak sama ada nombor itu betul dari segi matematik—format yang betul, digit semakan yang tepat, tiada corak yang tidak sah. Alat ini melakukan pengesahan.
Pengesahan semula menyemak sama ada CNPJ didaftarkan dengan syarikat sebenar dalam pangkalan data Receita Federal. Pengesahan semula memerlukan pertanyaan ke pangkalan data kerajaan dan bukan sesuatu yang dilakukan oleh alat ini.
Anda boleh mempunyai CNPJ yang sah sepenuhnya tetapi tidak disahkan (seperti nombor ujian yang dijana alat ini), atau CNPJ yang tidak sah yang dimiliki oleh syarikat sebenar (kerana seseorang telah menaip dengan salah).
Bolehkah saya menggunakan CNPJ yang dijana untuk ujian produksi?
Ia bergantung kepada apa yang anda maksudkan dengan "ujian produksi." Ia sesuai untuk persekitaran staging, ujian beban, dan QA pra-pelancaran. Tetapi jika "ujian produksi" bermakna ujian dengan transaksi sebenar, API kerajaan sebenar, atau sistem kewangan sebenar—maka tidak, anda memerlukan CNPJ yang didaftarkan sebenar.
Pendekatan yang lebih selamat: gunakan CNPJ yang dijana dalam persekitaran ujian yang terpencil, kemudian tukar ke set kecil CNPJ syarikat ujian sebenar (yang anda kawal) apabila menguji integrasi produksi.
Mengapa pengesa menolak 11.111.111/1111-11?
Walaupun CNPJ dengan digit yang sama boleh menghasilkan digit semakan yang sah dari segi matematik, Receita Federal secara khusus mengecualikan corak ini. Ia adalah peraturan perniagaan, bukan peraturan matematik. Perkara yang sama berlaku untuk corak berurutan dalam beberapa sistem pengesahan.
Ini serupa dengan cara banyak sistem menolak kata laluan seperti "password123" walaupun ia memenuhi keperluan panjang—ia secara teknikal sah tetapi praktikalnya tidak boleh diterima.
Bagaimana saya mengendalikan pengesahan CNPJ dalam lokaliti yang berbeza?
Syarikat Brazil yang menjalankan perniagaan antarabangsa kadangkala menghapuskan aksara format apabila memasukkan CNPJ ke dalam sistem asing. Logik pengesahan anda perlu mengalih keluar aksara bukan numerik sebelum menyemak:
1const cleanCNPJ = input.replace(/\D/g, ''); // Alih keluar semua kecuali digit
2Terima 12.345.678/0001-95, 12345678000195, dan 12 345 678 0001 95 sebagai input yang setara.
Bagaimana dengan pengesahan CNPJ vs CPF?
CPF (Cadastro de Pessoas Físicas) adalah ID cukai individu Brazil, manakala CNPJ adalah untuk perniagaan. Mereka menggunakan algoritma digit semakan yang berbeza dan panjang yang berbeza (CPF mempunyai 11 digit, CNPJ mempunyai 14). Jika anda membina aplikasi Brazil yang mengendalikan kedua-duanya, anda memerlukan fungsi pengesahan berasingan—walaupun banyak perpustakaan menyokong kedua-dua format.
Corak biasa: benarkan pengguna memasukkan CPF atau CNPJ dalam medan yang sama, kemudian kesan jenis berdasarkan panjang selepas mengalih keluar aksara format.
Adakah ini berfungsi untuk syarikat asing yang beroperasi di Brazil?
Syarikat asing yang beroperasi di Brazil juga mesti memperoleh CNPJ daripada Receita Federal. CNPJ mereka mengikuti format dan peraturan pengesahan yang sama seperti syarikat tempatan. Tiada format CNPJ "syarikat asing" yang khas.
Walau bagaimanapun, syarikat asing mungkin mempunyai keperluan dokumentasi tambahan dan proses pendaftaran yang berbeza—dapatkan nasihat daripada peguam perniagaan Brazil untuk butiran khusus.
Bolehkah saya membuat pertanyaan ke pangkalan data kerajaan untuk mengesahkan pendaftaran CNPJ?
Ya, Receita Federal menyediakan akses awam untuk mengesahkan maklumat CNPJ asas melalui Consulta Pública CNPJ. Anda boleh mencari CNPJ secara manual atau, dengan kebenaran yang sewajarnya, menggunakan API mereka untuk akses berprogram.
Ambil perhatian bahawa penggunaan yang berat memerlukan pendaftaran dan terdapat had kadar untuk mencegah penyalahgunaan.
Berapa kerap CNPJ berubah?
CNPJ adalah pengecam kekal yang tidak berubah apabila syarikat menukar nama, alamat, atau struktur pemilikan. Walau bagaimanapun, jika syarikat ditutup dan kemudian mendaftar semula, ia mungkin menerima CNPJ baru. Nombor cawangan (bahagian /XXXX) boleh ditambah apabila syarikat membuka lokasi baru, tetapi nombor asas 8 digit kekal malar.
Rujukan dan Sumber Tambahan
Sumber Kerajaan Rasmi
- Receita Federal do Brasil - Portal Rasmi - Laman web rasmi Perkhidmatan Hasil Persekutuan Brazil untuk perkhidmatan pendaftaran dan pengesahan CNPJ
- Consulta Pública CNPJ - Carian Awam CNPJ - Perkhidmatan kerajaan rasmi untuk menyemak status pendaftaran CNPJ
- Arahan Normatif RFB No. 1863/2018 - Peraturan undang-undang yang mengawal pendaftaran dan penggunaan CNPJ di Brazil
Standard Teknikal dan Dokumentasi
- Algoritma aritmetik modular - Pengiraan digit semakan menggunakan aritmetik modulo 11, pendekatan standard untuk digit pengesahan
- ISO/IEC 7064 - Standard antarabangsa untuk sistem digit semakan yang mempengaruhi reka bentuk pengesahan dokumen Brazil
- Kod Sivil Brazil (Undang-undang No. 10.406/2002) - Kerangka undang-undang yang mentakrifkan klasifikasi entiti perniagaan yang memerlukan pendaftaran CNPJ
Sumber Pembangun
- Registry pakej NPM - npmjs.com - Repositori untuk perpustakaan JavaScript termasuk pengesah dokumen Brazil
- PyPI (Indeks Pakej Python) - pypi.org - Perpustakaan Python untuk pengesahan CNPJ dan pemprosesan dokumen Brazil
- GitHub - Pelaksanaan sumber terbuka pengesahan CNPJ dalam pelbagai bahasa pengaturcaraan
Mula Menjana dan Mengesahkan CNPJ
Sama ada anda sedang membina platform e-dagang Brazil, menguji integrasi pembayaran dengan Mercado Pago, atau sekadar perlu memahami cara pengesahan CNPJ berfungsi, alat ini memberikan anda akses segera kepada kemampuan menjana dan mengesahkan.
Tiada pemasangan, tiada kunci API, tiada persediaan yang rumit. Hanya buka pelayar web anda dan mula bekerja dengan pengecam perniagaan Brazil yang sah.