உள்ளடக்கத்திற்கு செல்

சிஎன்பிஜே உருவாக்கி & சரிபார்ப்பி - பிரேசில் வணிக அடையாள கருவி

சோதனை அல்லது உடனடியாக பிரேசில் வணிக அடையாளங்களை சரிபார்க்க சரியான சிஎன்பிஜே எண்கள் உருவாக்கவும். கேடஸ்ட்ரோ நேஷனல் டா பெர்சோவா ஜுரிடிகா உடன் வேலை செய்யும் மேம்பாட்டாளர்களுக்கான இலவச கருவி சரிபார்ப்பு இலக்க கணக்கீடு.

பிரேசிலிய CNPJ உருவாக்கி மற்றும் சரிபார்ப்பாளர்

CNPJ உருவாக்கி

சோதனை நோக்கங்களுக்கு சரியான பிரேசிலிய CNPJ எண்ணை உருவாக்கவும்.

CNPJ சரிபார்ப்பாளர்

ஒரு பிரேசிலிய CNPJ எண் சரியானதா என்பதை சரிபார்க்கவும்.

ஏற்றுகிறது கணக்கிடுதல்...
📚

ஆவணம்

பிரேசிலிய CNPJ எண்கள் புரிதல்

CNPJ (கடாஸ்ட்ரோ நேஷனல் டா பெஸ்சோவா ஜுரிடிகா) பிரேசிலின் கார்ப்பரேட் வரி அடையாள எண் - ஒரு 14 இலக்க எண் இது நாட்டின் ஒவ்வொரு சட்ட வணிக அமைப்பையும் அடையாளப்படுத்துகிறது. நீங்கள் பிரேசிலிய வணிக தரவைக் கையாளும் மென்பொருள் உருவாக்கினால், பதிவு படிவங்கள், பில்கள் மற்றும் API ஒருங்கிணைப்புகளில் இந்த எண்களை விரைவில் சந்திப்பீர்கள்.

இந்தக் கருவியின் நன்மை இதோ: இது உண்மையான நிறுவன அடையாளங்களைப் பயன்படுத்தாமல் சோதனைக்கான கணக்கியல் ரீதியாக சரியான CNPJ-க்களை உருவாக்குகிறது. நீங்கள் 1,000 பதிவுகளுடன் ஒரு சோதனை தரவுத்தளத்தை அமைக்கும்போது அல்லது இரவு 2 மணிக்கு ஒரு சரிபார்ப்பு நெறிமுறையைப் பிழைத்திருத்தும்போது, நீங்கள் கணித சோதனைகளைக் கடக்கும் CNPJ-க்கள் தேவை, ஆனால் உண்மையான வணிகங்களுடன் தற்செயலாக பொருந்தாமல் இருக்கும்.

இங்கு உருவாக்கப்பட்ட எண்கள் அதிகாரப்பூர்வ ரெசெய்டா ஃபெடெரல் (பிரேசிலிய கூட்டாட்சி வருவாய் சேவை) சரிபார்ப்பு வழிமுறையைப் பின்பற்றுகின்றன. அவை சரியான சரிபார்ப்பு இலக்கங்கள் மற்றும் சரியான வடிவமைப்பைக் கொண்டுள்ளன - அவை வெறுமனே அரசாங்க தரவுத்தளத்தில் பதிவு செய்யப்படவில்லை. அபிவிருத்தி சூழலில் இணக்கப்பாட்டு சிக்கல்கள் ஏற்படாத சோதனை தரவாக இவற்றைக் கருதுங்கள்.

CNPJ என்றால் என்ன மற்றும் அதன் முக்கியத்துவம்

CNPJ பிரேசிலின் கார்ப்பரேட் அடையாள அடையாளம் - அமெரிக்காவின் EIN அல்லது யுகே யின் கம்பெனி பதிவு எண் போன்றது. பிரேசிலில் சட்டப்பூர்வமாக செயல்படும் ஒவ்வொரு வணிக நிறுவனமும் ஒரு CNPJ-ஐ பெற்றிருக்க வேண்டும், இது ரெசிட்டா ஃபெடெரல் (கூட்டாட்சி வருவாய் சேவை) மூலம் வழங்கப்படுகிறது.

நீங்கள் CNPJ-ஐ சந்திப்பீர்கள்:

  • கட்டணம் செலுத்துதல்: பிரேசிலிய பணம் செலுத்தும் நுழைவாயில்கள் வியாபார கணக்குகளுக்கு CNPJ சரிபார்ப்பை தேவைப்படுத்துகின்றன
  • வரி இணக்கம்: பிரேசிலில் வெளியிடப்படும் ஒவ்வொரு பில்லும் சரியான CNPJ-ஐக் கொண்டிருக்க வேண்டும்
  • வணிக பதிவு: அரசாங்க நிறுவனங்கள் CNPJ-ஐப் பயன்படுத்தி சட்ட நிறுவனங்களைக் கண்காணிக்கின்றன
  • வங்கி நடவடிக்கைகள்: கார்ப்பரேட் கணக்குகளைத் திறத்தல் அல்லது சர்வதேச பரிமாற்றங்கள் செய்தல்
  • இறக்குமதி/ஏற்றுமதி: சுங்கத் துறை ஆவணங்கள் CNPJ சரிபார்ப்பை தேவைப்படுத்துகின்றன
  • அரசாங்க ஒப்பந்தங்கள்: பொது tender அமைப்புகள் முன்மொழிவுகளை ஏற்கும் முன் CNPJ-ஐ சரிபார்க்கின்றன

பிரேசிலிய மின்வணிக தளங்களுடன் பணிபுரிந்த அனுபவத்தில், பயனர்கள் கார்ப்பரேட் வாங்கல்களுக்கு தங்கள் CNPJ-ஐ உள்ளிடும் செக்அவுட் ஓட்ட ஒருங்கிணைப்பு மிகவும் பொதுவானது. பணம் செலுத்தும் நுழைவாயில் சரிபார்ப்பதற்கு முன் உங்கள் சரிபார்ப்பு தர்க்கம் வடிவமைப்பு பிழைகளைப் பிடிக்க வேண்டும் - அல்லது நீங்கள் தடுக்கக்கூடிய தோல்வியடைந்த பரிவர்த்தனைகளைக் காண்பீர்கள்.

CNPJ அமைப்பு மற்றும் வடிவம்

CNPJ 14 இலக்கங்களைக் கொண்டது, பின்வரும் வடிவத்தில்: XX.XXX.XXX/YYYY-ZZ

அமைப்பை பிரிக்கும்போது:

  1. முதல் 8 இலக்கங்கள் (XX.XXX.XXX): நிறுவனத்திற்கு தனித்துவமாக ஒதுக்கப்பட்ட அடிப்படை பதிவு எண்
  2. அடுத்த 4 இலக்கங்கள் (/YYYY): கிளை அல்லது நிறுவன அடையாளம்—/0001 தலைமை அலுவலகத்தைக் குறிக்கும், /0002, /0003 கிளை இடங்களைக் குறிக்கும்
  3. இறுதி 2 இலக்கங்கள் (-ZZ): நிறைக்கப்பட்ட வரிசை மூலம் கணக்கிடப்பட்ட சரிபார்ப்பு இலக்கங்கள்

உதாரணம்: 12.345.678/0001-95

கிளை அடையாளம் பற்றிய சுவாரஸ்யம்: ஒரு நிறுவனம் பல இடங்களைத் திறக்கும்போது, ஒவ்வொரு இடமும் முதல் 8 இலக்கங்கள் ஒன்றாகவும் வெவ்வேறு கிளை எண்ணுடனும் இருக்கும். எனவே ஒரு சில்லறை சங்கிலி 50 கடைகளைக் கொண்டிருந்தால், அவை /0001 முதல் /0050 வரை CNPJ-கள் கொண்டிருக்கும், அனைத்தும் ஒரே அடிப்படை எண்ணைப் பகிர்ந்துகொள்ளும். இது பல CNPJ-கள் ஒரே தாய் நிறுவனத்தைச் சேர்ந்தவை என்பதை அடையாளம் காண எளிதாக்குகிறது.

சரிபார்ப்பு இலக்கங்கள் தற்செயலாக இல்லை—அவை குறிப்பிட்ட எடை வரிசைகளுடன் மாடுலஸ்-11 வழிமுறையைப் பயன்படுத்தி கணக்கிடப்படுகின்றன. பிரேசிலிய நிர்வாக ஆவணங்களில் பொதுவாக இருக்கும் இந்த வடிவமைப்பு, சரியான எண்கள் போலி செய்வதையோ அல்லது தட்டச்சு பிழைகள் மூலம் சரியான எண்கள் உருவாவதைத் தடுப்பதற்கு கணிதப்பூர்வமாக கடினமாக்குகிறது.

CNPJ சரிபார்ப்பு எவ்வாறு வேலை செய்கிறது

சரிபார்ப்பு வழிமுறை ஒரு நிறை-11 கணக்கீட்டு முறையைப் பயன்படுத்துகிறது. இதன் தர்க்கம் இதுதான்:

முதல் சரிபார்ப்பு இலக்கம் கணக்கிடல்

  1. முதல் 12 இலக்கங்களை எடுத்து பின்வரும் எடைகளால் பெருக்கவும்: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. அனைத்து பெருக்கல் மதிப்புகளையும் கூட்டவும்
  3. கூட்டுத்தொகையை 11 ஆல் வகுத்து மீதியைப் பெறவும்
  4. மீதி < 2 ஆனால் சரிபார்ப்பு இலக்கம் 0; மாறாக 11 - மீதி

இரண்டாம் சரிபார்ப்பு இலக்கம் கணக்கிடல்

  1. முதல் 13 இலக்கங்களை (முதல் சரிபார்ப்பு இலக்கத்தை உள்ளடக்கி) பின்வரும் எடைகளால் பெருக்கவும்: 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. அனைத்து பெருக்கல் மதிப்புகளையும் கூட்டவும்
  3. 11 ஆல் வகுத்து மீதியைப் பெறவும்
  4. மீதி < 2 ஆனால் சரிபார்ப்பு இலக்கம் 0; மாறாக 11 - மீதி

இந்த அணுகுமுறை ஏன் வேலை செய்கிறது: எடை பெருக்கல் முறை 12 அடிப்படை இலக்கங்கள் மற்றும் சரிபார்ப்பு இலக்கங்களுக்கிடையே தனித்துவமான தொடர்பை உருவாக்குகிறது. அடிப்படை எண்ணில் ஒரு இலக்கத்தை மாற்றினாலும் வெவ்வேறு சரிபார்ப்பு இலக்கங்கள் கிடைக்கும், இது பொதுவான பிழை வகைகளைக் கண்டறிய உதவுகிறது.

நடைமுறை குறிப்பு: அனைத்து இலக்கங்களும் ஒரே மாதிரியாக இருக்கும் CNPJகள் (எ.கா. 11.111.111/1111-11) கணக்கீட்டு சரிபார்ப்பைத் தாண்டினாலும் தானாகவே தவறாகக் கருதப்படும். வரி நிர்வாகம் இவ்வகை மாதிரிகளை தடுக்கிறது.

CNPJ ஜெனரேட்டர் மற்றும் வாலிடேட்டரைப் பயன்படுத்தும் வழி

சோதனை CNPJகளை உருவாக்குதல்

உங்கள் சோதனை தரவுத்தளத்திற்கு சரியான CNPJ தேவையா? இங்கே வழிமுறை:

  1. "CNPJ ஜெனரேட்" ஐ சொடுக்கவும்
  2. கருவி உடனடியாக கணக்கிடப்பட்ட சரியான எண்ணை உருவாக்குகிறது
  3. கிளிப்போர்டுக்கு கொண்டு செல்ல "காப்பி" ஐ சொடுக்கவும்
  4. சோதனை படிவங்கள், தரவுத்தள விதைகள் அல்லது யூனிட் சோதனைகளில் ஒட்டவும்

ஒவ்வொரு உருவாக்கப்பட்ட CNPJ கணித சரிபார்ப்பு சோதனைகளையும் தாங்குகிறது ஆனால் ரெசெய்தா ஃபெடெரலில் பதிவு செய்யப்படவில்லை. இதன் பொருள் நீங்கள் மேம்பாட்டில் அதை சுதந்திரமாகப் பயன்படுத்தலாம்.

CNPJ எண்கள் சரிபார்ப்பு

சரிபார்க்க வேண்டிய CNPJ இருக்கிறதா? வாலிடேட்டர் கையாளும்:

  1. உள்ளீடு புலத்தில் CNPJ ஐ ஒட்டவும் அல்லது தட்டச்சு செய்யவும்
  2. வடிவமைப்பைப் பற்றி கவலைப்பட வேண்டாம் - 12345678000195 அல்லது 12.345.678/0001-95 இரண்டும் வேலை செய்யும்
  3. "சரிபார்" ஐ சொடுக்கவும்
  4. சரிபார்ப்பு இலக்கங்கள் சரியா என்பதை உடனடியாக அறிந்துகொள்ளவும்

வாலிடேட்டர் சரிபார்ப்பு: சரியான நீளம் (14 இலக்கங்கள்), சரியான சரிபார்ப்பு இலக்க கணக்கீடுகள் மற்றும் ஒரே மாதிரியான இலக்கங்கள் போன்ற தவறான மாதிரிகளை நீக்குதல். அது சரிபார்க்காதது: அரசாங்க தரவுத்தளத்தில் CNPJ பதிவு செய்யப்பட்டுள்ளதா - அதற்கு நேரடியாக ரெசெய்தா ஃபெடெரலை வினவ வேண்டும்.

CNPJ ஜெனரேட்டர் மற்றும் வாலிடேட்டரின் நிஜ உலக பயன்பாடுகள்

மென்பொருள் மேம்பாடு மற்றும் சோதனை

தரவுத்தள விதைப்பு: ஒரு நிலை சூழலை யதார்த்தமான சோதனை தரவுடன் அமைக்கும்போது, நீங்கள் பல சரியான CNPJகளை தேவைப்படுகிறீர்கள். கைமுறையாக இவற்றை உருவாக்குவது கடினம், மேலும் உண்மையான நிறுவன அடையாளங்களைப் பயன்படுத்துவது தனியுரிமை கவலைகளை எழுப்புகிறது. உருவாக்கப்பட்ட CNPJகள் இரண்டு பிரச்சினைகளையும் தீர்க்கின்றன.

யூனிட் சோதனை எல்லை நிலைகள்: உங்கள் சரிபார்ப்பு செயல்பாடு 00.000.000/0000-00ஐ நிராகரிக்கவும் ஆனால் 11.222.333/0001-81ஐ ஏற்கவும் வேண்டும். ஒரு ஜெனரேட்டர் இருப்பது உங்கள் தர்க்கம் எல்லை நிலைமைகளை சரியாக கையாளுகிறதா என்பதை சரிபார்க்க வேண்டிய சரியான மற்றும் தவறாக உருவாக்கப்பட்ட சோதனை வழக்குகளை விரைவாக உருவாக்க அனுமதிக்கிறது.

QA மீள்பதிப்பு சோதனை: பதிவு படிவங்கள் அல்லது B2B சரிபார்ப்பு ஓட்டங்களைச் சோதிக்கும்போது, QA குழுக்கள் ஒவ்வொரு இயக்கத்திற்கும் புதிய சோதனை தரவுகளை தேவைப்படுகின்றன. நான் பார்த்த பொதுவான சிக்கல்: சோதனை சூழல்கள் மீண்டும் மீண்டும் பயன்படுத்தப்பட்ட அதே 5-6 CNPJகளால் மாசுபடுகின்றன, இது குறிப்பிட்ட இலக்க முறைகளில் மட்டுமே தோன்றும் பிழைகளை மறைக்கிறது.

API ஒருங்கிணைப்பு சோதனை: நீங்கள் PagSeguro அல்லது Mercado Pago போன்ற பிரேசிலிய கட்டண செயலிகளுடன் ஒருங்கிணைக்கும் பட்சத்தில், அவர்களின் சாண்ட்பாக்ஸ் சூழல்கள் பெரும்பாலும் சரியான CNPJ வடிவமைப்பை தேவைப்படுத்துகின்றன. நீங்கள் உற்பத்தி தரவுத்தளங்களை அடைக்கவில்லை என்றாலும் கணக்கீடு சரியாக இருக்க வேண்டும்.

தரவு செயலாக்கம் மற்றும் சரிபார்ப்பு

இறக்குமதி செய்யப்பட்ட தரவைத் தூய்மைப்படுத்துதல்: நீங்கள் 10,000 பிரேசிலிய நிறுவன பதிவுகளைப் பெற்றுள்ளீர்கள். செயலாக்கத்திற்கு முன்பு, எந்த CNPJகள் சிதைக்கப்பட்டுள்ளன என்பதை அடையாளம் காண வேண்டும். சரிபார்ப்பாளரின் மூலம் அவற்றைச் சோதிப்பது தட்டச்சு பிழைகள், துண்டிக்கப்பட்ட அல்லது தவறான சரிபார்ப்பு இலக்குகள் கொண்ட உள்ளீடுகளைக் குறிக்கிறது - பின்வரும் பிழைத் திருத்தத்தில் மணிகளைச் சேமிக்கிறது.

வாடிக்கையாளர் பக்க படிவ சரிபார்ப்பு: படிவம் சமர்ப்பிக்கப்படுவதற்கு முன்பு தவறான CNPJகளைப் பிடிப்பது பயனர் அனுபவத்தை மேம்படுத்துகிறது. 20 புலங்கள் கொண்ட பதிவு படிவத்தை நிரப்பிய பிறகு, அவர்கள் CNPJ இல் இரண்டு இலக்குகளை மாற்றியிருந்தால் சமர்ப்பிப்பில் பிழை வருவதை யாரும் விரும்பமாட்டார்கள்.

பகுப்பாய்வுக்கான தரவு அநாமதேயமாக்கல்: உற்பத்தி தரவை பகுப்பாய்வு குழுக்கள் அல்லது வெளிப்புற கூட்டாளிகளுடன் பகிரும்போது, நீங்கள் உண்மையான CNPJகளை சரியான ஆனால் பொய்யான CNPJகளால் மாற்ற வேண்டும். இது உங்கள் தரவுத்தொகுப்பில் குறிப்பிடப்பட்ட தொடர்ச்சியைப் பராமரிக்கும் மற்றும் உண்மையான வணிக அடையாளங்களைப் பாதுகாக்கும்.

சர்வதேச வணிக நடவடிக்கைகள்

பிரேசிலிய தேவைகளைப் புரிந்துகொள்ளுதல்: நீங்கள் பிரேசிலிய சந்தைக்கு விரிவாக்கம் செய்கிறீர்கள் என்றால், நீங்கள் ஒப்பந்தங்கள், விலைப்பட்டியல்கள் மற்றும் கப்பல் ஆவணங்களில் CNPJ தேவைகளை சந்திப்பீர்கள். வடிவமைப்பைச் சோதிக்க ஒரு கருவி உங்கள் அமைப்புகள் என்ன கையாள வேண்டும் என்பதை புரிந்துகொள்ள உதவுகிறது.

மூன்றாம் தரப்பு ஒருங்கிணைப்பு தகவல்: பிரேசிலிய SaaS வழங்குநர்களின் API ஆவணங்களைப் பரிசீலிக்கும்போது, நீங்கள் பெயலோட் எடுத்துக்காட்டுகளில் CNPJ புலங்களைப் பார்ப்பீர்கள். சரியான சோதனை மதிப்புகளை உருவாக்கும் திறன் ஒருங்கிணைப்புகளை வேகமாக வடிவமைக்க உதவுகிறது.

மாற்று CNPJ சரிபார்ப்பு அணுகுமுறைகள்

நிரல் நூலகங்கள்

உங்கள் பயன்பாட்டு தர்க்கத்தில் CNPJ சரிபார்ப்பு தேவைப்பட்டால், இந்த நூலகங்கள் சரிபார்ப்பு இலக்க முறையை செயல்படுத்துகின்றன:

  • JavaScript/Node.js: cpf-cnpj-validator (130k+ வாரத்திற்கு பதிவிறக்கங்கள்), validator.js (பிரேசில் ஆவணங்களை ஆதரிக்கிறது)
  • Python: validate-docbr (CPF, CNPJ மற்றும் பிற பிரேசில் ஆவணங்களை சரிபார்க்கிறது), python-cnpj
  • PHP: respect/validation (CNPJ விதிகளை உள்ளடக்கியது), brazilianutils
  • Java: caelum-stella (விரிவான பிரேசில் ஆவண சரிபார்ப்பு)
  • Ruby: cpf_cnpj gem

இந்த நூலகங்கள் பொதுவாக பல பிரேசில் ஆவண வகைகளுக்கான (CPF, CNPJ முதலியன) வடிவமைப்பு, பாகுபடுத்தல் மற்றும் சரிபார்ப்பை கையாளுகின்றன.

அதிகாரப்பூர்வ சரிபார்ப்பு API கள்

உண்மையான வணிக பதிவை சரிபார்க்க வேண்டிய உற்பத்தி அமைப்புகளுக்கு:

  • ரெசெய்டா ஃபெடரல் பொது சேவை: கன்சல்டா CNPJ API அதிகாரப்பூர்வ தரவுத்தளத்திற்கு எதிராக சரிபார்ப்பை அனுமதிக்கிறது (சரியான அங்கீகாரம் மற்றும் வீத வரம்பு தேவை)
  • மூன்றாம் தரப்பு தரவு வழங்குநர்கள்: சேரஸ் எக்ஸ்பீரியன் மற்றும் போவா விஸ்டா SCPC போன்ற சேவைகள் வணிக விவரங்கள், பதிவு நிலை மற்றும் கடன் தகவல்களைத் திருப்பும் வணிக API கள் வழங்குகின்றன

குறிப்பு: இந்த சேவைகள் கணிதப்பூர்வ சரிப்பாட்டை மட்டுமல்ல, உண்மையான பதிவையும் சரிபார்க்கின்றன. உங்களுக்கு சரியான அங்கீகாரம் தேவைப்படும் மற்றும் உற்பத்தி பயன்பாட்டிற்கான API செலவுகளை எதிர்பார்க்க வேண்டும்.

எப்பொழுது எந்த அணுகுமுறையைப் பயன்படுத்துவது

இந்த வலை கருவியைப் பயன்படுத்துங்கள் பொழுது: நிர்பந்தங்கள் இல்லாமல் துரிதமான சரிபார்ப்பு, டெமோக்களுக்கான சோதனை தரவு உருவாக்கம் அல்லது CNPJ சரிபார்ப்பு வேலை பற்றி அறிய வேண்டும்.

நூலகத்தைப் பயன்படுத்துங்கள் பொழுது: நீங்கள் படிவ செயலாக்கத்தின் ஒரு பகுதியாக வாடிக்கையாளர் பக்கம் அல்லது சேவையக சரிபார்ப்பு தேவைப்படும் பயன்பாட்டை உருவாக்குகிறீர்கள்.

அதிகாரப்பூர்வ API ஐப் பயன்படுத்துங்கள் பொழுது: நீங்கள் ஒரு CNPJ ஒரு உண்மையான, செயலில் உள்ள வணிக அமைப்பிற்கு தற்போதைய பதிவு நிலையுடன் பொருந்துகிறதா என்பதை சரிபார்க்க வேண்டும்.

தொழில்நுட்ப நிறைவேற்ற விவரங்கள்

இந்தக் கருவி முற்றிலும் உங்கள் உலாவியில் JavaScript பயன்படுத்தி இயங்குகிறது - எந்த சர்வர் கோரிக்கை இல்லை, எந்த தரவும் உங்கள் கணினியை விட்டு வெளியேறவில்லை. கீழே இருக்கும் அல்கரிதங்கள் எப்படி வேலை செய்கின்றன என்பதை, உங்கள் சொந்த திட்டங்களுக்கு மாற்றிக் கொள்ளக்கூடிய கோடுகளுடன் விளக்குகிறோம்:

CNPJ உருவாக்கல் அல்கரிதம்

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

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    # முதல் 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-ஐ கணிதப் பிழைகளின்படி சரியாக "எழுதப்பட்டுள்ளதா" என்பதைச் சொல்கிறது, ஆனால் அந்த எண் ஒரு உண்மையான, செயலில் இருக்கும் வணிக அமைப்பைக் குறிக்கிறதா என்பதைச் சொல்ல முடியாது.

சட்ட மற்றும் நெறிமுறை பயன்பாடு

உருவாக்கப்பட்ட CNPJ-கள் சோதனை மற்றும் மேம்பாட்டிற்கு மட்டுமே. அவை கணிதப்பூர்வமாக சரியாக இருக்கின்றன ஆனால் பிரேசிலிய அதிகாரிகளால் பதிவு செய்யப்படவில்லை, அதாவது:

  • பயன்படுத்த பாதுகாப்பானது: சோதனை தரவுத்தளங்கள் நிரப்புதல், யூனிட் சோதனை சரிபார்ப்பு தர்க்கம், QA சூழல்கள், ஆவணப்படுத்தலில் குறிமுறை உதாரணங்கள்
  • ஒருபோதும் பயன்படுத்தாதீர்கள்: வரி தாக்கல், வணிக பதிவு, ஒப்பந்தங்கள் கையெழுத்திடுதல், உண்மையான பரிவர்த்தனைகள் செய்தல் அல்லது வணிக அடையாளத்தை தவறாக பிரதிநிதித்துவப்படுத்துதல்

ஒரு பொய் CNPJ-ஐ அதிகாரப்பூர்வ நோக்கங்களுக்கு பயன்படுத்துவது மட்டுமல்ல அநீதியானது—பிரேசிலிய சட்டத்தின் கீழ் சட்ட விரோதமானது மற்றும் மோசடிச் சுமைகளுக்கு வழிவகுக்கும்.

தெரிந்துகொள்ள வேண்டிய தொழில்நுட்ப வரம்புகள்

தற்செயல் உருவாக்கத்தின் தாக்கம்: கருவி முதல் 12 இலக்கங்களை தற்செயலாக உருவாக்குகிறது. ரெசெய்தா ஃபெடெரலால் வழங்கப்பட்ட உண்மையான CNPJ-கள் பதிவு தேதி, பிராந்திய அலுவலகம் மற்றும் வணிக வகை ஆகியவற்றுடன் தொடர்புடைய உள் முறைகளைப் பின்பற்றுகின்றன. உருவாக்கப்பட்ட எண்கள் இந்த முறைகளுடன் பொருந்தாது, மேம்பட்ட சரிபார்ப்பு அமைப்புகள் இதைக் கவனிக்கலாம்.

எந்த அர்த்தமுள்ள சரிபார்ப்பும் இல்லை: ஒரு சரியான CNPJ வடிவமைப்பு என்பது சரியான வணிக சூழலைக் குறிக்காது. எடுத்துக்காட்டாக, அரசாங்க அமைப்புகளுக்கு குறிப்பிட்ட CNPJ வரம்புகள் உள்ளன—இந்தக் கருவி தற்செயலாக ஒன்றை உருவாக்கலாம், ஆனால் அது அர்த்தமற்றது.

வடிவமைப்பு கையாளுதல்: சரிபார்ப்பி பல்வேறு உள்ளீட்டு வடிவங்களை ஏற்றுக்கொள்கிறது (12345678000195, 12.345.678/0001-95), ஆனால் சில பழைய அமைப்புகள் துல்லிய வடிவமைப்பை எதிர்பார்க்கின்றன. எப்பொழுதும் உங்கள் குறிப்பிட்ட ஒருங்கிணைப்பு தேவைகளுடன் சோதித்துப் பாருங்கள்.

தனியுரிமை மற்றும் பாதுகாப்பு

அனைத்து செயலாக்கமும் உங்கள் உலாவியில் வாடிக்கையாளர் பக்கத்தில் நடைபெறுகிறது. நீங்கள் உருவாக்கும் அல்லது சரிபார்க்கும் CNPJ-கள் சர்வரிற்கு அனுப்பப்படவில்லை, பதிவு செய்யப்படவில்லை அல்லது சேமிக்கப்படவில்லை. கருவி எந்தவொரு தனிப்பட்ட தகவலையும் கோரவில்லை, கையாளவில்லை அல்லது செயல்படுத்தவில்லை.

CNPJ சரிபார்ப்பு பற்றிய அடிக்கடி கேட்கப்படும் கேள்விகள்

CNPJ சரிபார்ப்பு மற்றும் சரிபார்த்தல் வேறுபாடு என்ன?

சரிபார்ப்பு எண் கணிதப்பூர்வமாக சரியா என்பதை சோதிக்கிறது - சரியான வடிவம், சரியான சரிபார்ப்பு இலக்கங்கள், தவறான முறைகள் இல்லை. இந்தக் கருவி சரிபார்ப்பை மேற்கொள்கிறது.

சரிபார்த்தல் CNPJ ஒரு உண்மையான நிறுவனத்தில் பதிவு செய்யப்பட்டுள்ளதா என்பதைச் சோதிக்கிறது. சரிபார்த்தல் அரசாங்க தரவுத்தளத்தைக் கேட்பதை உள்ளடக்கியது மற்றும் இந்தக் கருவி அதைச் செய்வதில்லை.

ஒரு சரியான CNPJ சரிபார்க்கப்படாமல் இருக்கலாம் (இந்தக் கருவி உருவாக்கும் சோதனை எண்கள் போல), அல்லது ஒரு தவறான CNPJ ஒரு உண்மையான நிறுவனத்தைச் சேர்ந்ததாக இருக்கலாம் (ஏனெனில் யாரோ அதை உள்ளிடும்போது தட்டச்சு தவறு செய்துள்ளனர்).

நான் தயாரிப்பு சோதனைக்கு உருவாக்கப்பட்ட CNPJகளைப் பயன்படுத்தலாமா?

அது நீங்கள் "தயாரிப்பு சோதனை" என்று சொல்வதைப் பொறுத்தது. அவை தளம் சார்ந்த சூழல்கள், சுமை சோதனை மற்றும் வெளியிடுவதற்கு முந்தைய தரக் கட்டுப்பாட்டிற்கு சரியாக உள்ளன. ஆனால் "தயாரிப்பு சோதனை" என்பது உண்மையான பரிவர்த்தனைகள், உண்மையான அரசாங்க APIகள் அல்லது உண்மையான நிதி அமைப்புகளுடன் சோதிப்பதைக் குறிக்கும் என்றால் - அப்பொழுது இல்லை, உண்மையான பதிவு செய்யப்பட்ட CNPJகள் தேவை.

பாதுகாப்பான அணுகுமுறை: தனிமைப்படுத்தப்பட்ட சோதனை சூழல்களில் உருவாக்கப்பட்ட CNPJகளைப் பயன்படுத்தவும், பின்பு தயாரிப்பு ஒருங்கிணைப்புகளைச் சோதிக்கும்போது (நீங்கள் கட்டுப்படுத்தும்) சிறிய தொகுப்பு உண்மையான சோதனை நிறுவன CNPJகளைப் பயன்படுத்தவும்.

[மீதமுள்ள மொழிபெயர்ப்பு தொடர்கிறது...]

குறிப்புகள் மற்றும் கூடுதல் வளங்கள்

அரசாங்க மூல வளங்கள்

  1. ரெசெய்டா ஃபெடரல் டோ பிரசில் - அதிகாரப்பூர்வ தளம் - பிரேசில் மத்திய வருவாய் சேவையின் அதிகாரப்பூர்வ வலைத்தளம் CNPJ பதிவு மற்றும் சரிபார்ப்பு சேவைகளுடன்
  2. கன்சல்டா பப்ளிகா CNPJ - பொது CNPJ தேடல் - CNPJ பதிவு நிலையை சரிபார்க்கும் அரசாங்க சேவை
  3. நிர்வாக வழிகாட்டுதல் RFB எண் 1863/2018 - பிரேசிலில் CNPJ பதிவு மற்றும் பயன்பாட்டை ஒழுங்குபடுத்தும் சட்ட விதிமுறைகள்

தொழில்நுட்ப தரநிலைகள் மற்றும் ஆவணங்கள்

  1. மாடுலர் கணிதப் பாய்மானங்கள் - சரிபார்ப்பு இலக்கக் கணக்கீடு மாடுலோ 11 கணிதம் பயன்படுத்துகிறது, சரிபார்ப்பு இலக்கங்களுக்கான தரப்படுத்தப்பட்ட அணுகுமுறை
  2. ISO/IEC 7064 - பிரேசில் ஆவண சரிபார்ப்பு வடிவமைப்பை பாதித்த சரிபார்ப்பு இலக்க அமைப்புகளுக்கான சர்வதேச தரநிலை
  3. பிரேசில் சிவில் சட்ட நூல் (சட்ட எண் 10.406/2002) - CNPJ பதிவு தேவைப்படும் வணிக அமைப்பு வகைகளை வரையறுக்கும் சட்ட கட்டமைப்பு

டெவலப்பர் வளங்கள்

  1. NPM பாக்கேஜ் பதிவேடு - npmjs.com - பிரேசில் ஆவண சரிபார்ப்பாளர்கள் உள்ளிட்ட JavaScript நூலகங்கள் தொகுப்பு
  2. PyPI (Python பாக்கேஜ் அட்டவணை) - pypi.org - CNPJ சரிபார்ப்பு மற்றும் பிரேசில் ஆவண செயலாக்கத்திற்கான Python நூலகங்கள்
  3. GitHub - பல்வேறு நிரலாக்க மொழிகளில் CNPJ சரிபார்ப்பின் திறந்த மூல நிறைவேற்றங்கள்

CNPJs தொகுத்தல் மற்றும் சரிபார்த்தல் தொடக்கம்

நீங்கள் ஒரு பிரேசிலிய மின்வணிக தளத்தை உருவாக்குகிறீர்கள், மெர்கடோ பாகோ வைப் பணம் செலுத்தும் ஒருங்கிணைப்புகளைச் சோதிக்கிறீர்கள் அல்லது CNPJ சரிபார்ப்பு எவ்வாறு வேலை செய்கிறது என்பதை புரிந்துகொள்ள வேண்டுமென்றிருந்தால், இந்தக் கருவி தொகுத்தல் மற்றும் சரிபார்ப்பு திறன்களுக்கு உடனடி அணுகலை வழங்குகிறது.

எந்தவொரு நிறுவல் இல்லை, எந்தவொரு API விசை இல்லை, எந்தவொரு சிக்கலான அமைப்பு இல்லை. வெறுமனே உங்கள் உலாவியைத் திறந்து சரியான பிரேசிலிய வணிக அடையாளங்களுடன் வேலை தொடங்குங்கள்.