ব্রাজিলিয়ান CNPJ জেনারেটর এবং ভ্যালিডেটর টুল পরীক্ষার জন্য
ব্রাজিলিয়ান ব্যবসায়িক আইডি নিয়ে কাজ করা ডেভেলপার এবং পরীক্ষকদের জন্য ডিজাইন করা এই সহজ টুলের মাধ্যমে বৈধ ব্রাজিলিয়ান CNPJ নম্বর তৈরি করুন এবং বিদ্যমান নম্বরগুলি যাচাই করুন।
ব্রাজিলিয়ান সিএনপিজি জেনারেটর এবং ভ্যালিডেটর
সিএনপিজি জেনারেটর
পরীক্ষামূলক উদ্দেশ্যে একটি বৈধ ব্রাজিলিয়ান সিএনপিজি নম্বর তৈরি করুন।
সিএনপিজি ভ্যালিডেটর
যাচাই করুন একটি ব্রাজিলিয়ান সিএনপিজি নম্বর বৈধ কি না।
ডকুমেন্টেশন
ব্রাজিলিয়ান CNPJ জেনারেটর এবং ভ্যালিডেটর টুল
পরিচিতি
ব্রাজিলিয়ান CNPJ (Cadastro Nacional da Pessoa Jurídica) হল একটি অনন্য পরিচয় নম্বর যা ব্রাজিলের ব্যবসা এবং আইনগত সত্তাগুলিকে বরাদ্দ করা হয়। এই ব্রাজিলিয়ান CNPJ জেনারেটর এবং ভ্যালিডেটর টুলটি পরীক্ষামূলক উদ্দেশ্যে বৈধ CNPJ নম্বর তৈরি এবং বিদ্যমান CNPJ নম্বরের বৈধতা যাচাই করার জন্য একটি সহজ, কার্যকর উপায় প্রদান করে। আপনি একজন ডেভেলপার হন যিনি ব্রাজিলিয়ান ব্যবসায়ের তথ্য পরিচালনা করার জন্য অ্যাপ্লিকেশন পরীক্ষা করছেন, একজন QA পেশাদার যিনি পরীক্ষামূলক কেস তৈরি করছেন, অথবা ব্রাজিলিয়ান কোম্পানির তথ্য নিয়ে কাজ করছেন, এই টুলটি CNPJ নম্বর নিয়ে কাজ করার প্রক্রিয়াটি সহজ করে।
বাস্তব CNPJ নম্বরগুলি যা ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিস (Receita Federal) দ্বারা আনুষ্ঠানিকভাবে ইস্যু করা হয়, এই টুল দ্বারা তৈরি CNPJ গুলি গাণিতিকভাবে বৈধ কিন্তু প্রকৃত কোম্পানির সাথে নিবন্ধিত নয়। এটি তাদের জন্য পরীক্ষামূলক পরিস্থিতি, নমুনার তথ্য এবং উন্নয়ন পরিবেশে সঠিকভাবে ফরম্যাট করা এবং বৈধ CNPJ নম্বর প্রয়োজন যেখানে ব্যবহার করা আদর্শ।
CNPJ কি?
CNPJ (Cadastro Nacional da Pessoa Jurídica) একটি ১৪-সংখ্যার পরিচয় নম্বর যা ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিস দ্বারা ব্যবসা এবং আইনগত সত্তাগুলিকে বরাদ্দ করা হয়। এটি ব্রাজিলের কোম্পানি নিবন্ধন নম্বর বা ট্যাক্স আইডির সমতুল্য। ব্রাজিলে বৈধভাবে কার্যকরী প্রতিটি ব্যবসার একটি CNPJ থাকতে হবে, যা ব্যবহৃত হয়:
- ট্যাক্স রিপোর্টিং এবং সম্মতি
- সরকারি সংস্থাগুলির সাথে ব্যবসায় নিবন্ধন
- ব্যাংক অ্যাকাউন্ট খোলার জন্য
- চালান এবং রসিদ জারি করার জন্য
- সরকারি টেন্ডারে অংশগ্রহণের জন্য
- পণ্য আমদানি এবং রপ্তানি করার জন্য
CNPJ হল ব্রাজিলের ব্যবসায়িক ইকোসিস্টেমে একটি অপরিহার্য পরিচয় এবং এটি অফিসিয়াল নথি, চুক্তি এবং আর্থিক রেকর্ডে উপস্থিত হয়।
CNPJ এর গঠন এবং ফরম্যাট
একটি ব্রাজিলিয়ান CNPJ ১৪টি সংখ্যা নিয়ে গঠিত, যা সাধারণত এইভাবে ফরম্যাট করা হয়: XX.XXX.XXX/YYYY-ZZ
গঠনটি নিম্নরূপ:
- প্রথম ৮ সংখ্যা (XX.XXX.XXX): কোম্পানির জন্য বরাদ্দকৃত বেস নম্বর
- স্ল্যাশের পরে ৪ সংখ্যা (YYYY): শাখার পরিচয়কারী (মুখ্য অফিসের জন্য 0001, অন্যান্য সংখ্যা শাখার জন্য)
- শেষ ২ সংখ্যা (ZZ): বৈধতার জন্য চেক সংখ্যা
যেমন, একটি সঠিকভাবে ফরম্যাট করা CNPJ দেখতে পারে: 12.345.678/0001-95
চেক সংখ্যা (শেষ দুটি সংখ্যা) একটি নির্দিষ্ট গাণিতিক অ্যালগরিদম ব্যবহার করে গণনা করা হয় যা CNPJ এর সত্যতা যাচাই করে। এই অ্যালগরিদম নিশ্চিত করে যে এলোমেলোভাবে তৈরি সংখ্যাগুলি সঠিক গণনা পদ্ধতি অনুসরণ না করলে বৈধতা পাস করতে পারে না।
CNPJ যাচাইকরণের কাজ কীভাবে করে
CNPJ যাচাইকরণের অ্যালগরিদম একটি ওজনযুক্ত গণনা ব্যবহার করে চেক সংখ্যা নির্ধারণ করতে। এটি কীভাবে কাজ করে:
প্রথম চেক সংখ্যা গণনা
- প্রথম ১২ সংখ্যাকে একটি ওজনের সিকোয়েন্স দ্বারা গুণ করুন: ৫, ৪, ৩, ২, ৯, ৮, ৭, ৬, ৫, ৪, ৩, ২
- এই গুণনের ফলাফলগুলির যোগফল বের করুন
- এই যোগফলকে ১১ দ্বারা ভাগ করে অবশিষ্টাংশ গণনা করুন
- যদি অবশিষ্টাংশ ২ এর কম হয়, তাহলে প্রথম চেক সংখ্যা ০; অন্যথায়, এটি অবশিষ্টাংশের ১১ বিয়োগ
দ্বিতীয় চেক সংখ্যা গণনা
- প্রথম ১৩ সংখ্যাকে (প্রথম চেক সংখ্যা সহ) একটি ওজনের সিকোয়েন্স দ্বারা গুণ করুন: ৬, ৫, ৪, ৩, ২, ৯, ৮, ৭, ৬, ৫, ৪, ৩, ২
- এই গুণনের ফলাফলগুলির যোগফল বের করুন
- এই যোগফলকে ১১ দ্বারা ভাগ করে অবশিষ্টাংশ গণনা করুন
- যদি অবশিষ্টাংশ ২ এর কম হয়, তাহলে দ্বিতীয় চেক সংখ্যা ০; অন্যথায়, এটি অবশিষ্টাংশের ১১ বিয়োগ
একটি CNPJ বৈধ হতে, উভয় চেক সংখ্যা গণনা করা মানের সাথে মেলে।
এই টুলটি কীভাবে ব্যবহার করবেন
আমাদের ব্রাজিলিয়ান CNPJ জেনারেটর এবং ভ্যালিডেটর টুল দুটি প্রধান কার্যকারিতা প্রদান করে: বৈধ CNPJ তৈরি করা এবং বিদ্যমান CNPJ নম্বরগুলি যাচাই করা।
CNPJ তৈরি করা
পরীক্ষামূলক উদ্দেশ্যে একটি বৈধ CNPJ তৈরি করতে:
- টুলের "CNPJ জেনারেটর" বিভাগে যান
- "CNPJ তৈরি করুন" বোতামে ক্লিক করুন
- একটি গাণিতিকভাবে বৈধ CNPJ ফরম্যাট করা ডিসপ্লেতে প্রদর্শিত হবে
- তৈরি করা CNPJ আপনার ক্লিপবোর্ডে কপি করতে "কপি" বোতামটি ব্যবহার করুন
তৈরি করা CNPJ সমস্ত গাণিতিক যাচাইকরণের নিয়ম অনুসরণ করবে কিন্তু ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিসের সাথে নিবন্ধিত নয়।
CNPJ যাচাই করা
একটি CNPJ গাণিতিকভাবে বৈধ কি না তা পরীক্ষা করতে:
- টুলের "CNPJ ভ্যালিডেটর" বিভাগে যান
- যাচাই করতে চান এমন CNPJ ইনপুট ফিল্ডে লিখুন
- টুলটি ফরম্যাট সহ বা ছাড়া CNPJ গ্রহণ করে (বিন্দু, স্ল্যাশ এবং হাইফেন)
- "যাচাই করুন" বোতামে ক্লিক করুন
- টুলটি প্রদর্শন করবে CNPJ টি চেক সংখ্যা অ্যালগরিদমের ভিত্তিতে বৈধ কি না
ভ্যালিডেটরটি পরীক্ষা করে যে CNPJ সঠিক ফরম্যাট অনুসরণ করে এবং চেক সংখ্যা প্রত্যাশিত মানের সাথে মেলে কি না।
ব্যবহার ক্ষেত্র
এই ব্রাজিলিয়ান CNPJ জেনারেটর এবং ভ্যালিডেটর টুলটি বিশেষ করে নিম্নলিখিত পরিস্থিতিতে উপকারী:
সফটওয়্যার উন্নয়ন এবং পরীক্ষা
- পরীক্ষার তথ্য তৈরি করা: বাস্তব কোম্পানির পরিচয়পত্র ব্যবহার না করে পরীক্ষামূলক ডাটাবেস পূরণের জন্য বৈধ CNPJ তৈরি করুন
- ইউনিট টেস্টিং: আপনার কোডে CNPJ পরিচালনার ফাংশনগুলি যাচাই করুন পরিচিত বৈধ এবং অকার্যকর উদাহরণগুলির সাথে
- QA টেস্টিং: CNPJ ইনপুট প্রয়োজন এমন ফর্ম এবং ইন্টারফেসের জন্য পরীক্ষামূলক কেস তৈরি করুন
- ইন্টিগ্রেশন টেস্টিং: সিস্টেমগুলি পরীক্ষা করুন যা ব্রাজিলের সরকারী পরিষেবাগুলি বা আর্থিক প্রতিষ্ঠানের সাথে তথ্য বিনিময় করে
শিক্ষা এবং প্রশিক্ষণ
- CNPJ ফরম্যাট শেখা: ব্রাজিলিয়ান ব্যবসায়িক পরিচয়গুলি কিভাবে গঠিত হয় তা বুঝুন
- অ্যালগরিদম অধ্যয়ন: বাস্তবে চেক সংখ্যা যাচাইকরণ কীভাবে কাজ করে তা পরীক্ষা করুন
- তথ্য যাচাইকরণ কৌশল: তথ্য যাচাইকরণের প্রয়োজনীয়তার বাস্তব উদাহরণ অধ্যয়ন করুন
তথ্য প্রক্রিয়াকরণ
- তথ্য পরিষ্কার করা: বিদ্যমান ডেটাসেটে CNPJ গুলি যাচাই করুন সম্ভাব্য ত্রুটি চিহ্নিত করতে
- ফর্ম যাচাইকরণ: CNPJ ইনপুটের জন্য ক্লায়েন্ট-সাইড বা সার্ভার-সাইড যাচাইকরণ বাস্তবায়ন করুন
- তথ্য অ্যানোনিমাইজেশন: বিশ্লেষণের জন্য ডেটাসেট প্রস্তুত করার সময় বাস্তব CNPJ গুলি বৈধ তৈরি করা নম্বরগুলির সাথে প্রতিস্থাপন করুন
আন্তর্জাতিক ব্যবসা
- বাজারে প্রবেশের প্রস্তুতি: ব্রাজিলের ব্যবসায়িক পরিচয় প্রয়োজনীয়তা বোঝা
- নথি প্রস্তুতি: ব্রাজিলের জন্য ব্যবসায়িক নথি প্রস্তুতি করার সময় সঠিক ফরম্যাট নিশ্চিত করুন
- সম্মতি যাচাইকরণ: নিশ্চিত করুন যে সংগৃহীত CNPJ নম্বরগুলি অন্তত গাণিতিকভাবে বৈধ
বিকল্প
যদিও আমাদের টুলটি CNPJ তৈরি এবং যাচাই করার জন্য একটি সহজ, ব্রাউজার-ভিত্তিক সমাধান প্রদান করে, আপনার নির্দিষ্ট প্রয়োজনীয়তার উপর নির্ভর করে বেশ কয়েকটি বিকল্প রয়েছে:
প্রোগ্রামিং লাইব্রেরি
ডেভেলপারদের জন্য যারা CNPJ যাচাইকরণকে সরাসরি অ্যাপ্লিকেশনে সংহত করতে চান, বেশ কয়েকটি ভাষা-নির্দিষ্ট লাইব্রেরি উপলব্ধ:
- 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
এই লাইব্রেরিগুলি প্রায়শই ফরম্যাটিং, পার্সিং এবং অন্যান্য ব্রাজিলিয়ান নথির যাচাইকরণের মতো অতিরিক্ত কার্যকারিতা প্রদান করে।
API পরিষেবাগুলি
যেসব অ্যাপ্লিকেশন যাচাইকরণের জন্য অ্যালগরিদম বাস্তবায়ন না করে:
- ব্রাজিলিয়ান সরকারী API (নিবন্ধনের প্রয়োজন)
- বাণিজ্যিক যাচাইকরণ API যা CNPJ যাচাইকরণ অন্তর্ভুক্ত করে
- ব্যবসায়িক তথ্য পরিষেবাগুলি যা অফিসিয়াল ডাটাবেসের বিরুদ্ধে যাচাই করে
ম্যানুয়াল গণনা
শিক্ষামূলক উদ্দেশ্যে বা একবারের জন্য যাচাইয়ের জন্য, আপনি অ্যালগরিদমটি ম্যানুয়ালি প্রয়োগ করতে পারেন:
- CNPJ এর প্রথম ১২ সংখ্যা বের করুন
- পূর্বে বর্ণিত হিসাবে ওজনযুক্ত গণনা করুন
- গণনা করা চেক সংখ্যাগুলিকে প্রকৃত চেক সংখ্যার সাথে তুলনা করুন
তবে, ম্যানুয়াল গণনা ত্রুটির সম্ভাবনা রয়েছে এবং নিয়মিত ব্যবহারের জন্য অকার্যকর।
প্রযুক্তিগত বাস্তবায়ন
এই টুলের CNPJ জেনারেটর এবং ভ্যালিডেটরটি JavaScript ব্যবহার করে বাস্তবায়িত, যা এটি দ্রুত এবং আপনার ব্রাউজারে সম্পূর্ণরূপে চালানোর ক্ষমতা রাখে, আপনার তথ্য কোনও সার্ভারে পাঠানো ছাড়াই। এখানে কোর ফাংশনগুলি কীভাবে কাজ করে:
CNPJ জেনারেশন অ্যালগরিদম
1function generateCNPJ() {
2 // প্রথম ১২ সংখ্যা এলোমেলোভাবে তৈরি করুন
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
CNPJ যাচাইকরণ অ্যালগরিদম
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
CNPJ ফরম্যাটিং ফাংশন
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
এই কোর ফাংশনগুলি অন্যান্য প্রোগ্রামিং ভাষায় একই যুক্তি অনুসরণ করে বাস্তবায়িত হতে পারে। এখানে পাইথন এবং জাভাতে উদাহরণ দেওয়া হল:
পাইথন বাস্তবায়ন
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 # প্রথম ১২ সংখ্যা এলোমেলোভাবে তৈরি করুন
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 // প্রথম ১২ সংখ্যা এলোমেলোভাবে তৈরি করুন
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 গুলি কখনও প্রতারণামূলক উদ্দেশ্যে বা মিথ্যা উপস্থাপনার জন্য ব্যবহার করা উচিত নয়
- শুধুমাত্র পরীক্ষার জন্য: এই CNPJ গুলি শুধুমাত্র পরীক্ষামূলক এবং উন্নয়নমূলক উদ্দেশ্যে
- নিবন্ধিত নয়: তৈরি করা CNPJ গুলি গাণিতিকভাবে বৈধ কিন্তু ব্রাজিলের কর্তৃপক্ষের সাথে নিবন্ধিত নয়
- বাস্তব বিশ্বে বৈধতা নেই: এগুলি প্রকৃত ব্যবসায়িক নিবন্ধন বা ট্যাক্স উদ্দেশ্যে ব্যবহার করা যাবে না
প্রযুক্তিগত সীমাবদ্ধতা
- কোন ব্যবসায়িক তথ্য নেই: তৈরি করা CNPJ গুলি বাস্তব ব্যবসার সেক্টর কোড বা অবস্থান তথ্য ধারণ করে না
- কোন ডাটাবেস যাচাইকরণ নেই: ভ্যালিডেটরটি শুধুমাত্র গাণিতিক বৈধতা পরীক্ষা করে, নিবন্ধন স্থিতি নয়
- ফরম্যাটের ভিন্নতা: যদিও টুলটি সাধারণ ফরম্যাটিং ভিন্নতা পরিচালনা করে, কিছু সিস্টেম নির্দিষ্ট ফরম্যাটের প্রয়োজন হতে পারে
নিরাপত্তা বিষয়গুলি
- ক্লায়েন্ট-সাইড প্রক্রিয়াকরণ: সমস্ত প্রক্রিয়াকরণ আপনার ব্রাউজারে ঘটে; আপনার তথ্য সার্ভারে পাঠানো হয় না
- কোন ডেটা সংরক্ষণ নেই: তৈরি করা CNPJ গুলি সংরক্ষিত বা লগ করা হয় না
- কোন ব্যক্তিগত তথ্য নেই: টুলটি কোনও ব্যক্তিগত তথ্য পরিচালনা বা প্রক্রিয়া করে না
সাধারণ জিজ্ঞাসা
ব্রাজিলে CNPJ কী কাজে লাগে?
CNPJ হল ব্যবসা এবং আইনগত সত্তার জন্য জাতীয় নিবন্ধন নম্বর। এটি ট্যাক্স উদ্দেশ্যে, ব্যবসায় নিবন্ধন, ব্যাংক অ্যাকাউন্ট খোলার এবং অফিসিয়াল লেনদেনে কোম্পানিগুলিকে চিহ্নিত করতে ব্যবহৃত হয়।
এই টুল দ্বারা তৈরি CNPJ কি বাস্তব?
না। এই টুল দ্বারা তৈরি CNPJ গুলি গাণিতিকভাবে যাচাইকৃত কিন্তু ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিসের সাথে নিবন্ধিত নয় এবং বাস্তব কোম্পানির সাথে সম্পর্কিত নয়।
আমি কি তৈরি করা CNPJ আমার ব্যবসার জন্য ব্যবহার করতে পারি?
না। একটি ব্যবসার জন্য বৈধ CNPJ পেতে, আপনাকে ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিসের সাথে আনুষ্ঠানিক প্রক্রিয়া অনুসরণ করে নিবন্ধন করতে হবে। তৈরি করা CNPJ গুলি শুধুমাত্র পরীক্ষামূলক উদ্দেশ্যে।
আমি কিভাবে জানবো একটি CNPJ বাস্তব কোম্পানির?
একটি CNPJ প্রকৃত কোম্পানির সাথে নিবন্ধিত কিনা তা যাচাই করার জন্য আপনাকে ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিসের ডাটাবেসে পরামর্শ করতে হবে। আমাদের টুলটি শুধুমাত্র CNPJ এর গাণিতিক বৈধতা পরীক্ষা করে, এটি অফিসিয়ালি নিবন্ধিত কিনা নয়।
কেন সমস্ত একই সংখ্যার CNPJ ভ্যালিডেটর বাতিল করে?
সমস্ত একই সংখ্যার CNPJ (যেমন 11.111.111/1111-11) স্বয়ংক্রিয়ভাবে অকার্যকর হিসাবে বিবেচিত হয়, যদিও তারা গাণিতিকভাবে চেক সংখ্যা অ্যালগরিদম পাস করে। এটি ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিস দ্বারা প্রতিষ্ঠিত একটি নিয়ম।
টুলটি কি আমি তৈরি বা যাচাই করা CNPJ সংরক্ষণ করে?
না। সমস্ত প্রক্রিয়াকরণ আপনার ব্রাউজারে ঘটে, এবং আমরা আপনার তৈরি বা যাচাই করা CNPJ গুলি সংরক্ষণ বা স্থানান্তর করি না।
আমি কি একসাথে একাধিক CNPJ তৈরি করতে পারি?
বর্তমান সংস্করণে টুলটি একবারে একটি CNPJ তৈরি করে। বৃহৎ পরিমাণে তৈরি করার জন্য, আপনি বিকল্প বিভাগে উল্লেখিত প্রোগ্রামিং লাইব্রেরিগুলির মধ্যে একটি ব্যবহার করার কথা বিবেচনা করতে পারেন।
কেন XX.XXX.XXX/XXXX-XX ফরম্যাটটি গুরুত্বপূর্ণ?
এটি ব্রাজিলের কর্তৃপক্ষের দ্বারা প্রয়োজনীয় অফিসিয়াল ফরম্যাট। নির্দিষ্ট গ্রুপিং CNPJ এর বিভিন্ন উপাদান চিহ্নিত করতে সহায়তা করে, যেমন বেস নম্বর এবং শাখার পরিচয়।
আমি কীভাবে প্রোগ্রামেটিক্যালি CNPJ যাচাই করতে পারি?
আপনি প্রযুক্তিগত বাস্তবায়ন বিভাগে প্রদত্ত কোড উদাহরণগুলি ব্যবহার করে আপনার পছন্দের প্রোগ্রামিং ভাষায় যাচাইকরণ অ্যালগরিদমটি বাস্তবায়ন করতে পারেন, অথবা বিকল্প বিভাগে উল্লেখিত লাইব্রেরিগুলির মধ্যে একটি ব্যবহার করতে পারেন।
সরকারী সত্তার জন্য বিশেষ CNPJ কি আছে?
হ্যাঁ। ব্রাজিলে সরকারী সত্তার জন্য নির্দিষ্ট CNPJ প্যাটার্ন রয়েছে। উদাহরণস্বরূপ, ফেডারেল সরকারী সত্তাগুলি প্রায়ই নির্দিষ্ট সংখ্যার সাথে শুরু হয়। আমাদের জেনারেটর এলোমেলো CNPJ তৈরি করে এবং সরকারী সত্তার CNPJ বিশেষভাবে তৈরি করে না।
রেফারেন্স
- ব্রাজিলের ফেডারেল রেভিনিউ সার্ভিস (Receita Federal do Brasil) - অফিসিয়াল ওয়েবসাইট
- "CNPJ - Cadastro Nacional da Pessoa Jurídica" - উইকিপিডিয়া
- ব্রাজিলীয় নাগরিক কোড (আইন নং ১০.৪০৬/২০০২) - ব্রাজিলে ব্যবসায়িক সত্তার জন্য আইনগত কাঠামো
- ব্রাজিলীয় ব্যবসায় নিবন্ধন নিয়মিত নির্দেশনা (IN RFB নং ১৮৬৩/২০১৮) - CNPJ নিবন্ধনের উপর বিধিবিধান
এখনই চেষ্টা করুন
আমাদের ব্রাজিলিয়ান CNPJ জেনারেটর এবং ভ্যালিডেটর টুলটি এই পরিচয় নম্বরগুলির সাথে কাজ করা সহজ এবং কার্যকর করে। আপনি পরীক্ষামূলক অ্যাপ্লিকেশন পরীক্ষা করছেন, নমুনার তথ্য প্রস্তুত করছেন, বা বিদ্যমান CNPJ যাচাই করছেন, এই টুলটি API সংহতকরণ বা উন্নত কনফিগারেশনের জটিলতা ছাড়াই একটি সরল সমাধান প্রদান করে।
এখনই আপনার প্রথম বৈধ CNPJ তৈরি করুন অথবা আমাদের সহজ ইন্টারফেস ব্যবহার করে একটি বিদ্যমান CNPJ যাচাই করুন!
প্রতিক্রিয়া
এই টুল সম্পর্কে প্রতিক্রিয়া দিতে শুরু করতে প্রতিক্রিয়া টোস্টে ক্লিক করুন
সম্পর্কিত টুলস
আপনার কাজের প্রবাহের জন্য উপকারী হতে পারে এমন আরও টুল আবিষ্কার করুন