ബ്രസീലിയൻ ബിസിനസ് ഐഡികളുമായി പ്രവർത്തിക്കുന്ന ഡെവലപ്പർമാർക്കും ടെസ്റ്റർമാർക്കും വേണ്ടി രൂപകൽപ്പന ചെയ്ത ഈ ലളിതമായ ഉപകരണത്തിലൂടെ സാധുവായ ബ്രസീലിയൻ CNPJ നമ്പറുകൾ സൃഷ്ടിക്കാനും നിലവിലുള്ളവയെ പരിശോധിക്കാനും കഴിയും.
പരീക്ഷണ ആവശ്യങ്ങൾക്കായി ഒരു സാധുവായ ബ്രസീലിയൻ CNPJ നമ്പർ നിർമ്മിക്കുക.
ഒരു ബ്രസീലിയൻ CNPJ നമ്പർ സാധുവാണോ എന്ന് പരിശോധിക്കുക.
ब्राज़ीलियाई CNPJ (Cadastro Nacional da Pessoa Jurídica) एक अद्वितीय पहचान संख्या है जो ब्राज़ील में व्यवसायों और कानूनी संस्थाओं को असाइन की जाती है। यह ब्राज़ीलियाई CNPJ जनरेटर और मान्यता उपकरण परीक्षण उद्देश्यों के लिए मान्य CNPJ नंबर उत्पन्न करने और आधिकारिक ब्राज़ीलियाई एल्गोरिदम के अनुसार मौजूदा CNPJ नंबरों को मान्य करने का एक सरल, प्रभावी तरीका प्रदान करता है। चाहे आप एक डेवलपर हों जो ब्राज़ीलियाई व्यवसाय डेटा को संभालने वाले अनुप्रयोगों का परीक्षण कर रहे हों, एक QA पेशेवर जो परीक्षण मामलों का निर्माण कर रहे हों, या कोई भी जो ब्राज़ीलियाई कंपनी की जानकारी के साथ काम कर रहा हो, यह उपकरण CNPJ नंबरों के साथ काम करने की प्रक्रिया को सरल बनाता है।
इस उपकरण द्वारा उत्पन्न CNPJ वास्तविक CNPJ नंबरों की तरह हैं जो ब्राज़ीलियाई संघीय राजस्व सेवा (Receita Federal) द्वारा आधिकारिक रूप से जारी किए जाते हैं, ये गणितीय रूप से मान्य हैं लेकिन वास्तविक कंपनियों के लिए पंजीकृत नहीं हैं। यह उन्हें परीक्षण परिदृश्यों, नमूना डेटा, और विकास वातावरण के लिए आदर्श बनाता है जहाँ आपको सही प्रारूपित और मान्य CNPJ नंबरों की आवश्यकता होती है बिना वास्तविक व्यवसाय पहचानकर्ताओं का उपयोग किए।
CNPJ (Cadastro Nacional da Pessoa Jurídica) एक 14-अंकीय पहचान संख्या है जो ब्राज़ीलियाई संघीय राजस्व सेवा द्वारा व्यवसायों और कानूनी संस्थाओं को असाइन की जाती है। यह ब्राज़ील में कंपनी पंजीकरण संख्या या कर आईडी के समकक्ष है। ब्राज़ील में कानूनी रूप से संचालित हर व्यवसाय के पास एक CNPJ होना चाहिए, जिसका उपयोग होता है:
CNPJ ब्राज़ील के व्यापार पारिस्थितिकी तंत्र में एक आवश्यक पहचानकर्ता है और आधिकारिक दस्तावेजों, अनुबंधों और वित्तीय रिकॉर्ड पर दिखाई देता है।
एक ब्राज़ीलियाई CNPJ 14 अंकों का होता है, जिसे आमतौर पर इस प्रकार प्रारूपित किया जाता है: XX.XXX.XXX/YYYY-ZZ
संरचना इस प्रकार टूटती है:
उदाहरण के लिए, एक सही प्रारूपित CNPJ इस प्रकार हो सकता है: 12.345.678/0001-95
जांच अंक (अंतिम दो नंबर) एक विशिष्ट गणितीय एल्गोरिदम का उपयोग करके गणना की जाती है जो CNPJ की प्रामाणिकता को मान्य करता है। यह एल्गोरिदम सुनिश्चित करता है कि यादृच्छिक रूप से उत्पन्न नंबर बिना उचित गणना विधि का पालन किए मान्यता पास नहीं कर सकते।
CNPJ मान्यता एल्गोरिदम एक भारित गणना का उपयोग करता है ताकि जांच अंकों को निर्धारित किया जा सके। यह इस प्रकार काम करता है:
एक CNPJ के लिए मान्य होने के लिए, दोनों जांच अंकों को अपेक्षित मानों से मेल खाना चाहिए।
हमारा ब्राज़ीलियाई CNPJ जनरेटर और मान्यता उपकरण दो मुख्य कार्य प्रदान करता है: मान्य CNPJs उत्पन्न करना और मौजूदा CNPJ नंबरों को मान्य करना।
परीक्षण उद्देश्यों के लिए एक मान्य CNPJ उत्पन्न करने के लिए:
उत्पन्न CNPJ सभी गणितीय मान्यता नियमों का पालन करेगा लेकिन ब्राज़ीलियाई संघीय राजस्व सेवा के साथ पंजीकृत नहीं है।
यह जांचने के लिए कि क्या एक CNPJ गणितीय रूप से मान्य है:
मान्यता यह जांचती है कि CNPJ सही प्रारूप का पालन करता है और क्या जांच अंक अपेक्षित मानों से मेल खाते हैं।
यह ब्राज़ीलियाई CNPJ जनरेटर और मान्यता उपकरण विशेष रूप से निम्नलिखित परिदृश्यों में उपयोगी है:
जबकि हमारा उपकरण CNPJ उत्पन्न करने और मान्यता देने के लिए एक सरल, ब्राउज़र-आधारित समाधान प्रदान करता है, आपकी विशिष्ट आवश्यकताओं के आधार पर कई विकल्प उपलब्ध हैं:
डेवलपर्स के लिए जो सीधे अनुप्रयोगों में CNPJ मान्यता को एकीकृत कर रहे हैं, कई भाषा-विशिष्ट पुस्तकालय उपलब्ध हैं:
cpf_cnpj.js
, validator.js
python-cnpj
, validate-docbr
brazilianutils
, respect/validation
caelum-stella
, commons-validator
cpf_cnpj
, brazilian-rails
ये पुस्तकालय अक्सर प्रारूपण, पार्सिंग, और अन्य ब्राज़ीलियाई दस्तावेजों के मान्यकरण जैसी अतिरिक्त कार्यक्षमता प्रदान करते हैं।
ऐसे अनुप्रयोगों के लिए जिन्हें एल्गोरिदम को लागू किए बिना मान्यता की आवश्यकता होती है:
शैक्षिक उद्देश्यों या एकल मान्यताओं के लिए, आप एल्गोरिदम को मैन्युअल रूप से लागू कर सकते हैं:
हालांकि, मैनुअल गणना त्रुटि-प्रवण और नियमित उपयोग के लिए अप्रभावी है।
इस उपकरण में CNPJ जनरेटर और मान्यता को JavaScript का उपयोग करके लागू किया गया है, जिससे यह तेज़ और आपके ब्राउज़र में पूरी तरह से चलाने में सक्षम है बिना आपके डेटा को सर्वर पर भेजे। यहाँ यह है कि मुख्य कार्य कैसे काम करते हैं:
1function generateCNPJ() {
2 // पहले 12 अंकों को यादृच्छिक रूप से उत्पन्न करें
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // पहले जांच अंक की गणना करें
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // दूसरे जांच अंक की गणना करें
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // 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
1function validateCNPJ(cnpj) {
2 // गैर-संख्यात्मक वर्णों को हटा दें
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // जांचें कि इसकी लंबाई सही है
6 if (cleanCNPJ.length !== 14) return false;
7
8 // ज्ञात अमान्य पैटर्न की जांच करें (सभी समान अंक)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // अंकों के एक सरणी में परिवर्तित करें
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // पहले सत्यापन अंक की जांच करें
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // दूसरे सत्यापन अंक की जांच करें
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24
1function formatCNPJ(cnpj) {
2 // गैर-संख्यात्मक वर्णों को हटा दें
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // लंबाई के आधार पर प्रारूपित करें
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
ये मुख्य कार्य अन्य प्रोग्रामिंग भाषाओं में समान तर्क का पालन करते हुए लागू किए जा सकते हैं। यहाँ Python और Java में उदाहरण दिए गए हैं:
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 # पहले 12 अंक यादृच्छिक रूप से उत्पन्न करें
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # पहले जांच अंक की गणना करें
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # दूसरे जांच अंक की गणना करें
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # 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 # गैर-संख्यात्मक वर्णों को हटा दें
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # लंबाई की जांच करें
34 if len(cnpj) != 14:
35 return False
36
37 # जांचें कि सभी अंक समान हैं
38 if len(set(cnpj)) == 1:
39 return False
40
41 # अंकों के एक सूची में परिवर्तित करें
42 digits = [int(d) for d in cnpj]
43
44 # पहले जांच अंक की मान्यता
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # दूसरे जांच अंक की मान्यता
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55
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 // पहले 12 अंक यादृच्छिक रूप से उत्पन्न करें
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // पहले जांच अंक की गणना करें
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // दूसरे जांच अंक की गणना करें
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // 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 // गैर-संख्यात्मक वर्णों को हटा दें
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // लंबाई की जांच करें
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // जांचें कि सभी अंक समान हैं
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 // अंकों के एक सरणी में परिवर्तित करें
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 // पहले जांच अंक की मान्यता
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // दूसरे जांच अंक की मान्यता
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85
इस CNPJ जनरेटर और मान्यता उपकरण का उपयोग करते समय निम्नलिखित विचारों को ध्यान में रखें:
CNPJ ब्राज़ील में व्यवसायों और कानूनी संस्थाओं के लिए राष्ट्रीय पंजीकरण संख्या है। इसका उपयोग कर उद्देश्यों, व्यवसाय पंजीकरण, बैंक खाते खोलने, और आधिकारिक लेनदेन में कंपनियों की पहचान करने के लिए किया जाता है।
नहीं। इस उपकरण द्वारा उत्पन्न CNPJs गणितीय रूप से मान्य हैं जांच अंक एल्गोरिदम के अनुसार, लेकिन ये ब्राज़ीलियाई संघीय राजस्व सेवा के साथ पंजीकृत नहीं हैं और वास्तविक कंपनियों से संबंधित नहीं हैं।
नहीं। एक व्यवसाय के लिए वैध CNPJ प्राप्त करने के लिए, आपको ब्राज़ीलियाई संघीय राजस्व सेवा (Receita Federal) के साथ आधिकारिक प्रक्रिया का पालन करते हुए पंजीकरण कराना होगा। उत्पन्न CNPJs केवल परीक्षण उद्देश्यों के लिए हैं।
यह सत्यापित करने के लिए कि कोई CNPJ वास्तव में किसी कंपनी से संबंधित है, आपको ब्राज़ीलियाई संघीय राजस्व सेवा के डेटाबेस की जांच करनी होगी। हमारा उपकरण केवल यह जांचता है कि CNPJ गणितीय रूप से मान्य है, यह नहीं कि यह आधिकारिक रूप से पंजीकृत है।
सभी समान अंकों वाले CNPJs (जैसे 11.111.111/1111-11) को स्वचालित रूप से अमान्य माना जाता है, भले ही वे गणितीय रूप से जांच अंक एल्गोरिदम को पास करते हों। यह एक नियम है जो ब्राज़ीलियाई संघीय राजस्व सेवा द्वारा स्थापित किया गया है।
नहीं। सभी प्रसंस्करण आपके ब्राउज़र में होता है, और हम आपके द्वारा उत्पन्न या मान्य किए गए किसी भी CNPJ को संग्रहित या संचारित नहीं करते हैं।
उपकरण का वर्तमान संस्करण एक बार में एक CNPJ उत्पन्न करता है। बड़े पैमाने पर उत्पन्न करने के लिए, आप विकल्प अनुभाग में उल्लिखित प्रोग्रामिंग पुस्तकालयों में से किसी एक पर विचार कर सकते हैं।
यह ब्राज़ीलियाई अधिकारियों द्वारा आवश्यक आधिकारिक प्रारूप है। विशिष्ट समूहकरण विभिन्न CNPJ घटकों की पहचान करने में मदद करता है, जैसे आधार संख्या और शाखा पहचानकर्ता।
आप तकनीकी कार्यान्वयन अनुभाग में प्रदान किए गए कोड उदाहरणों का उपयोग करके या विकल्प अनुभाग में उल्लिखित किसी एक पुस्तकालय का उपयोग करके अपने पसंदीदा प्रोग्रामिंग भाषा में मान्यता एल्गोरिदम को लागू कर सकते हैं।
हाँ। ब्राज़ील में सरकारी संस्थाओं के पास विशिष्ट CNPJ पैटर्न होते हैं। उदाहरण के लिए, संघीय सरकारी संस्थाएँ अक्सर विशिष्ट अंकों से शुरू होती हैं। हमारा जनरेटर यादृच्छिक CNPJs उत्पन्न करता है और विशेष रूप से सरकारी संस्थाओं के CNPJs उत्पन्न नहीं करता है।
हमारा ब्राज़ीलियाई CNPJ जनरेटर और मान्यता उपकरण इन पहचान संख्याओं के साथ काम करना सरल और प्रभावी बनाता है। चाहे आप अनुप्रयोगों का परीक्षण कर रहे हों, नमूना डेटा तैयार कर रहे हों, या मौजूदा CNPJs को मान्य कर रहे हों, यह उपकरण बिना API एकीकरण या उन्नत कॉन्फ़िगरेशन की जटिलता के साथ एक सीधा समाधान प्रदान करता है।
अब अपना पहला मान्य CNPJ उत्पन्न करें या हमारे सरल इंटरफ़ेस का उपयोग करके एक मौजूदा CNPJ को मान्य करें!
നിങ്ങളുടെ പ്രവർത്തനത്തിന് ഉപയോഗപ്പെടുന്ന കൂടുതൽ ഉപകരണങ്ങൾ കണ്ടെത്തുക.