அர்ஜென்டினா CUIT/CUIL உருவாக்கி மற்றும் சரிபார்க்கும் கருவி
சோதனைக்காக சரியான அர்ஜென்டினா CUIT/CUIL எண்களை உருவாக்கவும் அல்லது ஏற்கனவே உள்ளவற்றை சரிபார்க்கவும். அர்ஜென்டினா வரி மற்றும் தொழிலாளர் அடையாள எண்களுடன் வேலை செய்யும் டெவலப்பர்களுக்கான எளிய கருவி.
CUIT/CUIL உற்பத்தியாளர்
8 எண் DNI எண்ணை உள்ளிடவும் அல்லது சீரற்ற உருவாக்கியைப் பயன்படுத்தவும்
உற்பத்தி செய்யப்பட்ட CUIT/CUIL
ஆவணங்கள்
அர்ஜென்டினாவின் CUIT/CUIL உருவாக்கி மற்றும் சரிபார்க்கும் கருவி
அறிமுகம்
அர்ஜென்டினாவின் CUIT (Clave Única de Identificación Tributaria) மற்றும் CUIL (Clave Única de Identificación Laboral) என்பது அர்ஜென்டினாவில் வரி மற்றும் வேலை தொடர்பான நோக்கங்களுக்காகப் பயன்படுத்தப்படும் தனித்தொகுப்புகள் ஆகும். இந்த 11-எண்ணிக்கை குறியீடுகள், தனிநபர்கள் மற்றும் நிறுவனங்கள் அர்ஜென்டினாவின் பொருளாதார அமைப்பில் சட்டப்படி செயல்படுவதற்காக அவசியமானவை. எங்கள் CUIT/CUIL உருவாக்கி மற்றும் சரிபார்க்கும் கருவி, சோதனை நோக்கங்களுக்காக செல்லுபடியாகும் CUIT/CUIL எண்களை உருவாக்குவதற்கான எளிமையான மற்றும் திறமையான முறையை வழங்குகிறது மற்றும் உள்ளமைவுகளை சரிபார்க்கிறது, இது அதிகாரப்பூர்வ வடிவம் மற்றும் சரிபார்ப்பு அல்கொரிதத்தைப் பின்பற்றுகின்றதா என்பதைக் உறுதி செய்கிறது.
நீங்கள் அர்ஜென்டினாவின் வரி அடையாளங்களை கையாளும் பயன்பாடுகளை சோதிக்கும் ஒரு வளர்ப்பாளர், அமைப்பு செயல்பாட்டைச் சரிபார்க்கும் QA நிபுணர் அல்லது இந்த அடையாள எண்கள் எப்படி செயல்படுகிறது என்பதைக் புரிந்துகொள்ள வேண்டும் என்றால், இந்த கருவி தேவையற்ற சிக்கல்களை இல்லாமல் நேர்மையான தீர்வை வழங்குகிறது. கருவி இரண்டு முதன்மை செயல்பாடுகளை உள்ளடக்கியது: குறிப்பிட்ட அளவீடுகளின் அடிப்படையில் அல்லது சீரற்ற முறையில் செல்லுபடியாகும் CUIT/CUIL எண்களை உருவாக்கும் உருவாக்கி மற்றும் கொடுக்கப்பட்ட CUIT/CUIL எண்ணை சரிபார்க்கும் சரிபார்ப்பாளர்.
CUIT/CUIL அமைப்பு மற்றும் கணக்கீடு
வடிவத்தைப் புரிந்து கொள்ளுதல்
செல்லுபடியாகும் CUIT/CUIL எண் 11 எண்களை உள்ளடக்கியது, பொதுவாக XX-XXXXXXXX-X என்ற வடிவத்தில் காட்சியளிக்கப்படுகிறது:
-
வகை குறியீடு (முதல் 2 எண்கள்): அமைப்பின் வகையை குறிக்கிறது
- 20, 23, 24: ஆண் தனிநபர்கள் (CUIL)
- 27: பெண் தனிநபர்கள் (CUIL)
- 30, 33, 34: நிறுவனங்கள் மற்றும் அமைப்புகள் (CUIT)
-
DNI எண் (மத்தியில் 8 எண்கள்): தனிநபர்களுக்காக, இது அவர்களின் தேசிய அடையாள ஆவண எண் (DNI), தேவையானால் 8 எண்களை அடைய முன்னணி பூஜ்யங்களுடன் நிரப்பப்படுகிறது. நிறுவனங்களுக்கு, இது தனிப்பட்ட ஒதுக்கீட்டான எண்.
-
சரிபார்ப்பு எண் (கடைசி எண்): முழு எண்ணைச் சரிபார்க்க ஒரு குறிப்பிட்ட அல்கொரிதத்தைப் பயன்படுத்தி கணக்கிடப்படும் சரிபார்ப்பு எண்.
சரிபார்ப்பு எண் கணக்கீடு
சரிபார்ப்பு எண் கீழ்க்காணும் அல்கொரிதத்தைப் பயன்படுத்தி கணக்கிடப்படுகிறது:
- CUIT/CUIL இன் முதல் 10 எண்களை எடுக்கவும் (வகை குறியீடு + DNI)
- ஒவ்வொரு எண்க்கும் இந்த வரிசையில் உள்ள எடைகளால் (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) பலிக்கவும்
- அனைத்து உற்பத்தி மொத்தங்களைச் சேர்க்கவும்
- மொத்தத்தின் 11 இல் இருந்து மீதத்தைப் பிரிக்கவும்
- முடிவு 11 என்றால், சரிபார்ப்பு எண் 0 ஆக இருக்கும்
- முடிவு 10 என்றால், சரிபார்ப்பு எண் 9 ஆக இருக்கும்
- இல்லையெனில், முடிவு தான் சரிபார்ப்பு எண்
கணிதமாக, இதை அடுத்தவாறு வெளிப்படுத்தலாம்:
எங்கு:
- என்பது சரிபார்ப்பு எண்
- என்பது முதல் 10 எண்களின் -வது எண்
- என்பது [5, 4, 3, 2, 7, 6, 5, 4, 3, 2] என்ற வரிசையின் தொடர்புடைய எடை
- சிறப்பு வழக்குகள்: என்றால் , என்றால்
படி-படி வழிகாட்டி
உருவாக்கியைப் பயன்படுத்துதல்
-
கருவி இடைமுகத்தில் மேலே உள்ள "உருவாக்கி" தாவலைத் தேர்ந்தெடுக்கவும்.
-
தரவகை குறியீட்டை கீழே உள்ள பட்டியலில் இருந்து தேர்ந்தெடுக்கவும்:
- 20: ஆண் (CUIL)
- 23: வணிகம் (CUIT)
- 24: தற்காலிக வணிகம் (CUIT)
- 27: பெண் (CUIL)
- 30: நிறுவனங்கள் (CUIT)
- 33: சிவில் சங்கம் (CUIT)
- 34: அறக்கட்டளை (CUIT)
-
DNI எண்ணை உள்ளிடவும் (விருப்பமாக):
- வழங்கப்பட்ட களத்தில் 8-எண் DNI எண்ணை உள்ளிடவும்
- காலியாக விட்டால், கருவி சீரற்ற முறையில் உருவாக்கப்படும் DNI ஐப் பயன்படுத்தும்
- நீங்கள் 8 எண்களில் குறைவாக உள்ள எண்களை உள்ளிடினால், அமைப்பு முன்னணி பூஜ்யங்களுடன் நிரப்பும்
-
சீரற்ற DNI உருவாக்கவும் (விருப்பமாக):
- "சீரற்ற" பொத்தானை அழுத்தி 8-எண் DNI எண்ணை உருவாக்கவும்
-
உருவாக்கப்பட்ட CUIT/CUIL ஐப் பார்வையிடவும்:
- உங்கள் உள்ளீடுகளின் அடிப்படையில் சரியான CUIT/CUIL ஐ கருவி தானாகவே காட்சியளிக்கும்
- வடிவம் XX-XXXXXXXX-X ஆக இருக்கும் மற்றும் சரியான சரிபார்ப்பு எண் இருக்கும்
-
முடிவை நகலெடுக்கவும்:
- உருவாக்கப்பட்ட CUIT/CUIL ஐ உங்கள் கிளிப்போர்டுக்கு நகலெடுக்க நகல் ஐகானை அழுத்தவும்
- வெற்றிகரமாக நகலெடுக்கப்பட்டால் உறுதிப்படுத்தும் செய்தி தோன்றும்
சரிபார்ப்பாளரைப் பயன்படுத்துதல்
-
கருவி இடைமுகத்தில் மேலே உள்ள "சரிபார்ப்பாளர்" தாவலைத் தேர்ந்தெடுக்கவும்.
-
சரிபார்க்க CUIT/CUIL ஐ உள்ளிடவும்:
- CUIT/CUIL ஐ XX-XXXXXXXX-X என்ற வடிவத்தில் உள்ளிடவும்
- நீங்கள் எழுதும்போது கருவி உங்கள் உள்ளீட்டை நகலெடுக்கவும்
- நீங்கள் ஹைபன்கள் இல்லாமல் (XXXXXXXXXXX) எண்ணை உள்ளிடலாம்
-
"சரிபார்க்கவும்" பொத்தானை அழுத்தவும்:
- கருவி வடிவம், வகை குறியீடு மற்றும் சரிபார்ப்பு எண்களைச் சரிபார்க்கும்
-
சரிபார்ப்பு முடிவைப் பார்வையிடவும்:
- செல்லுபடியாகும் CUIT/CUIL எண்களுக்கு, பச்சை வெற்றி செய்தி தோன்றும்
- செல்லுபடியாகாத எண்களுக்கு, சிவப்பு பிழை செய்தி பிரச்சினையை விளக்கமாகக் கூறும்:
- செல்லுபடியாகாத வடிவம் (XX-XXXXXXXX-X ஆக இருக்க வேண்டும்)
- செல்லுபடியாகாத வகை குறியீடு (20, 23, 24, 27, 30, 33, 34 இவற்றில் ஒன்றாக இருக்க வேண்டும்)
- செல்லுபடியாகாத சரிபார்ப்பு எண்
-
கூடுதல் தகவல்:
- செல்லுபடியாகும் எண்களுக்கு, கருவி கூறுகளைப் பிரிக்கக் காட்டுகிறது:
- வகை குறியீடு மற்றும் அதன் அர்த்தம்
- DNI எண்
- சரிபார்ப்பு எண்
- செல்லுபடியாகும் எண்களுக்கு, கருவி கூறுகளைப் பிரிக்கக் காட்டுகிறது:
பயன்பாட்டு வழிகள்
வளர்ச்சி மற்றும் சோதனை
-
மென்பொருள் வளர்ச்சி: அர்ஜென்டினாவின் வரி அடையாளங்களை கையாளும் பயன்பாடுகளை சோதிக்க செல்லுபடியாகும் CUIT/CUIL எண்களை உருவாக்குங்கள், உதாரணமாக:
- மின் வர்த்தக மேடைகள்
- கணக்கீட்டு மென்பொருள்
- HR மேலாண்மை அமைப்புகள்
- அரசு சேவை போர்டுகள்
- வங்கியியல் பயன்பாடுகள்
-
தரவகை நிரப்புதல்: அர்ஜென்டினாவின் பயனர் தகவல்களை store செய்யும் அமைப்புகளுக்கான உண்மையான சோதனை தரவுகளை உருவாக்குங்கள், தரவுத்தொகுப்பின் கட்டுப்பாடுகள் மற்றும் சரிபார்ப்பு விதிகள் சரியாக செயல்படுகிறதா என்பதை உறுதி செய்க.
-
படிவ சரிபார்ப்பு சோதனை: CUIT/CUIL தகவல்களை சேகரிக்கும் இணைய வடிவங்களுக்கான உள்ளீட்டு சரிபார்ப்பை சோதிக்கவும், தவறான உள்ளீடுகளுக்கு சரியான பிழை செய்திகள் தோன்றுகிறதா என்பதை உறுதி செய்க.
-
API சோதனை: CUIT/CUIL எண்களை தேவைப்படும் API முன்மொழிவுகளுக்கான செல்லுபடியாகும் தரவுகளை உருவாக்கவும், உங்கள் ஒருங்கிணைப்பு சோதனைகள் செல்லுபடியாகும் தரவுகளைப் பயன்படுத்துவதை உறுதி செய்க.
-
QA தானியங்கி: நிலையான சோதனை தரவுகளைப் பயன்படுத்துவதற்கு பதிலாக, தானியங்கி சோதனை ஸ்கிரிப்ட்களில் CUIT/CUIL உருவாக்கலைச் சேர்க்கவும்.
கல்வி நோக்கங்கள்
-
சரிபார்ப்பு அல்கொரிதங்களைப் புரிந்துகொள்ளுதல்: CUIT/CUIL சரிபார்ப்பு செயல்முறையை செயல்பாட்டில் காண்பதன் மூலம் சரிபார்ப்பு எண் அல்கொரிதங்கள் எப்படி செயல்படுகிறது என்பதைக் புரிந்துகொள்ளுங்கள்.
-
தரவு சரிபார்ப்பு கற்பித்தல்: புதிய வளர்ப்பாளர்களுக்கு வடிவ சரிபார்ப்பு தொழில்நுட்பங்களை கற்பிக்கும் போது கல்வி எடுத்துக்காட்டாகப் பயன்படுத்துங்கள்.
-
அர்ஜென்டினாவின் வணிக தேவைகளைப் புரிந்துகொள்ளுதல்: சர்வதேச வணிக வளர்ச்சிக்கு அர்ஜென்டினாவில் பயன்படுத்தப்படும் அடையாள அமைப்பைப் பற்றிய அறிவைப் பெறுங்கள்.
மாற்று முறைகள்
எங்கள் கருவி CUIT/CUIL எண்களை உருவாக்கும் மற்றும் சரிபார்க்கும் எளிமையான வழியை வழங்கினாலும், நீங்கள் பரிசீலிக்கக்கூடிய மாற்று அணுகுமுறைகள் உள்ளன:
-
அதிகாரப்பூர்வ அரசு சரிபார்ப்பு: உற்பத்தி சூழல்களில், CUIT/CUIL எண்களை எப்போதும் அதிகாரப்பூர்வ AFIP (Administración Federal de Ingresos Públicos) தரவுத்தொகுப்புடன் சரிபார்க்கவும்.
-
நூலகங்கள் மற்றும் தொகுப்புகள்: பல நிரலாக்க மொழிகளில் அர்ஜென்டினாவின் வரி அடையாளங்களை சரிபார்க்கும் நூலகங்கள் உள்ளன:
- JavaScript:
validar-cuit
npm தொகுப்பு - PHP:
afip-php
நூலகம் - Python:
py-cuit
தொகுப்பு
- JavaScript:
-
கைமுறை கணக்கீடு: கல்வி நோக்கங்களுக்காக, மேலே விவரிக்கப்பட்ட அல்கொரிதத்தைப் பயன்படுத்தி சரிபார்ப்பு எண்களை கைமுறையாகக் கணக்கிடலாம்.
-
முழுமையான வணிக சரிபார்ப்பு சேவைகள்: நிறுவன பயன்பாடுகளுக்காக, வடிவத்தை மட்டுமல்லாமல், CUIT/CUIL உடன் தொடர்புடைய அமைப்பின் இருப்பு மற்றும் நிலையைச் சரிபார்க்கும் முழுமையான சரிபார்ப்பு சேவைகளைப் பயன்படுத்தConsider.
CUIT/CUIL அமைப்பின் வரலாறு
அர்ஜென்டினாவில் CUIT/CUIL அடையாள அமைப்பு அதன் தொடக்கத்திலிருந்து முக்கியமாக மாறியுள்ளது:
தோற்றங்கள் மற்றும் செயல்படுத்தல்
CUIT (Clave Única de Identificación Tributaria) 1970 களில் அர்ஜென்டினாவில் முதன்முதலில் அறிமுகம் செய்யப்பட்டது, வரி வசூல் அமைப்பை modernize செய்யும் முயற்சியின் ஒரு பகுதியாக. தேசிய வருமானத்தினை நிர்வகிக்கும் நிர்வாகம் (AFIP) இந்த தனித்தொகுப்பை வரி செலுத்துநர்களை திறம்பட கண்காணிக்கவும் வரி தவிர்க்கும் செயல்களை குறைக்கவும் செயல்படுத்தியது.
CUIL (Clave Única de Identificación Laboral) வேலை மற்றும் சமூக பாதுகாப்பு அமைப்பில் தொழிலாளர்களை அடையாளம் காண specifically அறிமுகம் செய்யப்பட்டது, வரி அடையாளம் மற்றும் தொழிலாளர் அடையாளம் ஆகியவற்றுக்கு இடையே ஒரு வேறுபாட்டை உருவாக்கி, ஒரே வடிவத்தைப் பேணுகிறது.
முன்னேற்றம் மற்றும் டிஜிட்டல் செய்தல்
1990 களில், அர்ஜென்டினா முக்கிய பொருளாதார மாற்றங்களை சந்தித்தபோது, CUIT/CUIL அமைப்பு பொருளாதார செயல்பாட்டைப் கண்காணிக்க மிகவும் முக்கியமாக மாறியது. அமைப்பு மேலும் டிஜிட்டல் செய்யப்பட்டு, ஆன்லைன் சரிபார்ப்பு அமைப்புகள் செயல்படுத்தப்பட்டன.
2000 களின் ஆரம்பத்தில், CUIT/CUIL அமைப்பை பல்வேறு டிஜிட்டல் அரசு சேவைகளுடன் ஒருங்கிணைக்கப்பட்டது, இது அர்ஜென்டினாவின் e-government முயற்சிகளின் முக்கிய கூறாக மாறியது. இந்த காலத்தில், சரிபார்ப்பு அல்கொரிதம் மற்றும் வடிவமைப்பு நிலைபேறாக இருந்தது.
சமீபத்திய முன்னேற்றங்கள்
சமீபத்திய ஆண்டுகளில், AFIP CUIT/CUIL எண்களின் பாதுகாப்பு மற்றும் சரிபார்ப்பு செயல்முறைகளை மேம்படுத்தியுள்ளது, மேலும் சிக்கலான சரிபார்ப்பு அமைப்புகளை செயல்படுத்தி, பிற அரசு தரவுத்தொகுப்புகளுடன் ஒருங்கிணைக்கப்பட்டுள்ளது. இப்போது, CUIT/CUIL அமைப்பு அர்ஜென்டினாவின் வரி தவிர்க்கும் நடவடிக்கைகளை எதிர்கொள்ளவும் பொருளாதாரத்தை அதிகாரப்பூர்வமாக்கவும் முக்கிய பங்கு வகிக்கிறது.
இன்று, CUIT/CUIL வரி மற்றும் வேலை தொடர்பான நோக்கங்களுக்குப் பயன்படுத்தப்படுவதோடு மட்டுமல்லாமல், வங்கி, சொத்து பரிமாற்றங்கள், பயன்பாட்டு சேவைகள் மற்றும் ஆன்லைன் வாங்குதல்கள் போன்ற பல்வேறு செயல்பாடுகளுக்குப் பயன்படுத்தப்படுகிறது, இது அர்ஜென்டினாவில் செயல்படும் தனிநபர்கள் மற்றும் நிறுவனங்களுக்கு முக்கிய அடையாளமாக மாறுகிறது.
குறியீட்டு எடுத்துக்காட்டுகள்
Python
1def calculate_verification_digit(type_code, dni):
2 # சரியாக 8 எண்கள் உள்ள DNI ஐ உறுதி செய்யவும்
3 type_code_str = str(type_code)
4 dni_str = str(dni).zfill(8)
5
6 # வகை குறியீடு மற்றும் DNI ஐ இணைக்கவும்
7 digits = type_code_str + dni_str
8
9 # ஒவ்வொரு இடத்திற்கும் எடைகள்
10 weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
11
12 # உற்பத்தி மொத்தங்களை கணக்கிடவும்
13 sum_products = sum(int(digits[i]) * weights[i] for i in range(10))
14
15 # சரிபார்ப்பு எண் கணக்கிடவும்
16 verification_digit = 11 - (sum_products % 11)
17
18 # சிறப்பு வழக்குகள்
19 if verification_digit == 11:
20 verification_digit = 0
21 elif verification_digit == 10:
22 verification_digit = 9
23
24 return verification_digit
25
26def generate_cuit_cuil(type_code, dni=None):
27 import random
28
29 # செல்லுபடியாகும் வகை குறியீடுகள்
30 valid_type_codes = [20, 23, 24, 27, 30, 33, 34]
31
32 if type_code not in valid_type_codes:
33 raise ValueError(f"செல்லுபடியாகாத வகை குறியீடு. இதற்கான ஒன்றாக இருக்க வேண்டும்: {valid_type_codes}")
34
35 # DNI வழங்கப்படாவிட்டால் சீரற்ற DNI ஐ உருவாக்கவும்
36 if dni is None:
37 dni = random.randint(10000000, 99999999)
38
39 # சரிபார்ப்பு எண் கணக்கிடவும்
40 verification_digit = calculate_verification_digit(type_code, dni)
41
42 # CUIT/CUIL ஐ வடிவமைக்கவும்
43 return f"{type_code}-{str(dni).zfill(8)}-{verification_digit}"
44
45def validate_cuit_cuil(cuit_cuil):
46 # ஹைபன்களை நீக்கவும்
47 cuit_cuil_clean = cuit_cuil.replace("-", "")
48
49 # அடிப்படை வடிவத்தைச் சரிபார்க்கவும்
50 if not cuit_cuil_clean.isdigit() or len(cuit_cuil_clean) != 11:
51 return False, "செல்லுபடியாகாத வடிவம்"
52
53 # கூறுகளைப் பிரிக்கவும்
54 type_code = int(cuit_cuil_clean[0:2])
55 dni = int(cuit_cuil_clean[2:10])
56 verification_digit = int(cuit_cuil_clean[10])
57
58 # வகை குறியீட்டைச் சரிபார்க்கவும்
59 valid_type_codes = [20, 23, 24, 27, 30, 33, 34]
60 if type_code not in valid_type_codes:
61 return False, "செல்லுபடியாகாத வகை குறியீடு"
62
63 # கணக்கிடப்பட்ட சரிபார்ப்பு எண்ணுடன் ஒப்பிடவும்
64 calculated_digit = calculate_verification_digit(type_code, dni)
65 if calculated_digit != verification_digit:
66 return False, "செல்லுபடியாகாத சரிபார்ப்பு எண்"
67
68 return True, "செல்லுபடியாகும் CUIT/CUIL"
69
70# எடுத்துக்காட்டு பயன்பாடு
71print(generate_cuit_cuil(20, 12345678)) # குறிப்பிட்ட DNI க்காக உருவாக்கவும்
72print(generate_cuit_cuil(27)) # சீரற்ற DNI உடன் உருவாக்கவும்
73print(validate_cuit_cuil("20-12345678-9")) # CUIT/CUIL ஐ சரிபார்க்கவும்
74
JavaScript
1function calculateVerificationDigit(typeCode, dni) {
2 // சரியாக 8 எண்கள் உள்ள DNI ஐ உறுதி செய்யவும்
3 const typeCodeStr = typeCode.toString();
4 const dniStr = dni.toString().padStart(8, '0');
5
6 // வகை குறியீடு மற்றும் DNI ஐ இணைக்கவும்
7 const digits = typeCodeStr + dniStr;
8
9 // ஒவ்வொரு இடத்திற்கும் எடைகள்
10 const weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
11
12 // உற்பத்தி மொத்தங்களை கணக்கிடவும்
13 let sumProducts = 0;
14 for (let i = 0; i < 10; i++) {
15 sumProducts += parseInt(digits[i]) * weights[i];
16 }
17
18 // சரிபார்ப்பு எண் கணக்கிடவும்
19 let verificationDigit = 11 - (sumProducts % 11);
20
21 // சிறப்பு வழக்குகள்
22 if (verificationDigit === 11) {
23 verificationDigit = 0;
24 } else if (verificationDigit === 10) {
25 verificationDigit = 9;
26 }
27
28 return verificationDigit;
29}
30
31function generateCuitCuil(typeCode, dni) {
32 // செல்லுபடியாகும் வகை குறியீடுகள்
33 const validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
34
35 if (!validTypeCodes.includes(typeCode)) {
36 throw new Error(`செல்லுபடியாகாத வகை குறியீடு. இதற்கான ஒன்றாக இருக்க வேண்டும்: ${validTypeCodes.join(', ')}`);
37 }
38
39 // DNI வழங்கப்படாவிட்டால் சீரற்ற DNI ஐ உருவாக்கவும்
40 if (dni === undefined) {
41 dni = Math.floor(Math.random() * 90000000) + 10000000;
42 }
43
44 // சரிபார்ப்பு எண் கணக்கிடவும்
45 const verificationDigit = calculateVerificationDigit(typeCode, dni);
46
47 // CUIT/CUIL ஐ வடிவமைக்கவும்
48 return `${typeCode}-${dni.toString().padStart(8, '0')}-${verificationDigit}`;
49}
50
51function validateCuitCuil(cuitCuil) {
52 // ஹைபன்களை நீக்கவும்
53 const cuitCuilClean = cuitCuil.replace(/-/g, '');
54
55 // அடிப்படை வடிவத்தைச் சரிபார்க்கவும்
56 if (!/^\d{11}$/.test(cuitCuilClean)) {
57 return { isValid: false, errorMessage: 'செல்லுபடியாகாத வடிவம்' };
58 }
59
60 // கூறுகளைப் பிரிக்கவும்
61 const typeCode = parseInt(cuitCuilClean.substring(0, 2));
62 const dni = parseInt(cuitCuilClean.substring(2, 10));
63 const verificationDigit = parseInt(cuitCuilClean.substring(10, 11));
64
65 // வகை குறியீட்டைச் சரிபார்க்கவும்
66 const validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
67 if (!validTypeCodes.includes(typeCode)) {
68 return { isValid: false, errorMessage: 'செல்லுபடியாகாத வகை குறியீடு' };
69 }
70
71 // கணக்கிடப்பட்ட சரிபார்ப்பு எண்ணுடன் ஒப்பிடவும்
72 const calculatedDigit = calculateVerificationDigit(typeCode, dni);
73 if (calculatedDigit !== verificationDigit) {
74 return { isValid: false, errorMessage: 'செல்லுபடியாகாத சரிபார்ப்பு எண்' };
75 }
76
77 return { isValid: true };
78}
79
80// எடுத்துக்காட்டு பயன்பாடு
81console.log(generateCuitCuil(20, 12345678)); // குறிப்பிட்ட DNI க்காக உருவாக்கவும்
82console.log(generateCuitCuil(27)); // சீரற்ற DNI உடன் உருவாக்கவும்
83console.log(validateCuitCuil("20-12345678-9")); // CUIT/CUIL ஐ சரிபார்க்கவும்
84
Java
1import java.util.Arrays;
2import java.util.List;
3import java.util.Random;
4
5public class CuitCuilUtils {
6 private static final List<Integer> VALID_TYPE_CODES = Arrays.asList(20, 23, 24, 27, 30, 33, 34);
7 private static final int[] WEIGHTS = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2};
8
9 public static int calculateVerificationDigit(int typeCode, int dni) {
10 // சரியாக 8 எண்கள் உள்ள DNI ஐ உறுதி செய்யவும்
11 String typeCodeStr = String.valueOf(typeCode);
12 String dniStr = String.format("%08d", dni);
13
14 // வகை குறியீடு மற்றும் DNI ஐ இணைக்கவும்
15 String digits = typeCodeStr + dniStr;
16
17 // உற்பத்தி மொத்தங்களை கணக்கிடவும்
18 int sumProducts = 0;
19 for (int i = 0; i < 10; i++) {
20 sumProducts += Character.getNumericValue(digits.charAt(i)) * WEIGHTS[i];
21 }
22
23 // சரிபார்ப்பு எண் கணக்கிடவும்
24 int verificationDigit = 11 - (sumProducts % 11);
25
26 // சிறப்பு வழக்குகள்
27 if (verificationDigit == 11) {
28 verificationDigit = 0;
29 } else if (verificationDigit == 10) {
30 verificationDigit = 9;
31 }
32
33 return verificationDigit;
34 }
35
36 public static String generateCuitCuil(int typeCode, Integer dni) {
37 if (!VALID_TYPE_CODES.contains(typeCode)) {
38 throw new IllegalArgumentException("செல்லுபடியாகாத வகை குறியீடு. இதற்கான ஒன்றாக இருக்க வேண்டும்: " + VALID_TYPE_CODES);
39 }
40
41 // DNI வழங்கப்படாவிட்டால் சீரற்ற DNI ஐ உருவாக்கவும்
42 if (dni == null) {
43 Random random = new Random();
44 dni = 10000000 + random.nextInt(90000000);
45 }
46
47 // சரிபார்ப்பு எண் கணக்கிடவும்
48 int verificationDigit = calculateVerificationDigit(typeCode, dni);
49
50 // CUIT/CUIL ஐ வடிவமைக்கவும்
51 return String.format("%d-%08d-%d", typeCode, dni, verificationDigit);
52 }
53
54 public static ValidationResult validateCuitCuil(String cuitCuil) {
55 // ஹைபன்களை நீக்கவும்
56 String cuitCuilClean = cuitCuil.replace("-", "");
57
58 // அடிப்படை வடிவத்தைச் சரிபார்க்கவும்
59 if (!cuitCuilClean.matches("\\d{11}")) {
60 return new ValidationResult(false, "செல்லுபடியாகாத வடிவம்");
61 }
62
63 // கூறுகளைப் பிரிக்கவும்
64 int typeCode = Integer.parseInt(cuitCuilClean.substring(0, 2));
65 int dni = Integer.parseInt(cuitCuilClean.substring(2, 10));
66 int verificationDigit = Integer.parseInt(cuitCuilClean.substring(10, 11));
67
68 // வகை குறியீட்டைச் சரிபார்க்கவும்
69 if (!VALID_TYPE_CODES.contains(typeCode)) {
70 return new ValidationResult(false, "செல்லுபடியாகாத வகை குறியீடு");
71 }
72
73 // கணக்கிடப்பட்ட சரிபார்ப்பு எண்ணுடன் ஒப்பிடவும்
74 int calculatedDigit = calculateVerificationDigit(typeCode, dni);
75 if (calculatedDigit != verificationDigit) {
76 return new ValidationResult(false, "செல்லுபடியாகாத சரிபார்ப்பு எண்");
77 }
78
79 return new ValidationResult(true, null);
80 }
81
82 public static class ValidationResult {
83 private final boolean isValid;
84 private final String errorMessage;
85
86 public ValidationResult(boolean isValid, String errorMessage) {
87 this.isValid = isValid;
88 this.errorMessage = errorMessage;
89 }
90
91 public boolean isValid() {
92 return isValid;
93 }
94
95 public String getErrorMessage() {
96 return errorMessage;
97 }
98 }
99
100 public static void main(String[] args) {
101 // எடுத்துக்காட்டு பயன்பாடு
102 System.out.println(generateCuitCuil(20, 12345678)); // குறிப்பிட்ட DNI க்காக உருவாக்கவும்
103 System.out.println(generateCuitCuil(27, null)); // சீரற்ற DNI உடன் உருவாக்கவும்
104 System.out.println(validateCuitCuil("20-12345678-9").isValid()); // CUIT/CUIL ஐ சரிபார்க்கவும்
105 }
106}
107
PHP
1<?php
2
3function calculateVerificationDigit($typeCode, $dni) {
4 // சரியாக 8 எண்கள் உள்ள DNI ஐ உறுதி செய்யவும்
5 $typeCodeStr = (string)$typeCode;
6 $dniStr = str_pad((string)$dni, 8, '0', STR_PAD_LEFT);
7
8 // வகை குறியீடு மற்றும் DNI ஐ இணைக்கவும்
9 $digits = $typeCodeStr . $dniStr;
10
11 // ஒவ்வொரு இடத்திற்கும் எடைகள்
12 $weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
13
14 // உற்பத்தி மொத்தங்களை கணக்கிடவும்
15 $sumProducts = 0;
16 for ($i = 0; $i < 10; $i++) {
17 $sumProducts += (int)$digits[$i] * $weights[$i];
18 }
19
20 // சரிபார்ப்பு எண் கணக்கிடவும்
21 $verificationDigit = 11 - ($sumProducts % 11);
22
23 // சிறப்பு வழக்குகள்
24 if ($verificationDigit == 11) {
25 $verificationDigit = 0;
26 } else if ($verificationDigit == 10) {
27 $verificationDigit = 9;
28 }
29
30 return $verificationDigit;
31}
32
33function generateCuitCuil($typeCode, $dni = null) {
34 // செல்லுபடியாகும் வகை குறியீடுகள்
35 $validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
36
37 if (!in_array($typeCode, $validTypeCodes)) {
38 throw new Exception("செல்லுபடியாகாத வகை குறியீடு. இதற்கான ஒன்றாக இருக்க வேண்டும்: " . implode(', ', $validTypeCodes));
39 }
40
41 // DNI வழங்கப்படாவிட்டால் சீரற்ற DNI ஐ உருவாக்கவும்
42 if ($dni === null) {
43 $dni = rand(10000000, 99999999);
44 }
45
46 // சரிபார்ப்பு எண் கணக்கிடவும்
47 $verificationDigit = calculateVerificationDigit($typeCode, $dni);
48
49 // CUIT/CUIL ஐ வடிவமைக்கவும்
50 return sprintf("%d-%08d-%d", $typeCode, $dni, $verificationDigit);
51}
52
53function validateCuitCuil($cuitCuil) {
54 // ஹைபன்களை நீக்கவும்
55 $cuitCuilClean = str_replace('-', '', $cuitCuil);
56
57 // அடிப்படை வடிவத்தைச் சரிபார்க்கவும்
58 if (!preg_match('/^\d{11}$/', $cuitCuilClean)) {
59 return ['isValid' => false, 'errorMessage' => 'செல்லுபடியாகாத வடிவம்'];
60 }
61
62 // கூறுகளைப் பிரிக்கவும்
63 $typeCode = (int)substr($cuitCuilClean, 0, 2);
64 $dni = (int)substr($cuitCuilClean, 2, 8);
65 $verificationDigit = (int)substr($cuitCuilClean, 10, 1);
66
67 // வகை குறியீட்டைச் சரிபார்க்கவும்
68 $validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
69 if (!in_array($typeCode, $validTypeCodes)) {
70 return ['isValid' => false, 'errorMessage' => 'செல்லுபடியாகாத வகை குறியீடு'];
71 }
72
73 // கணக்கிடப்பட்ட சரிபார்ப்பு எண்ணுடன் ஒப்பிடவும்
74 $calculatedDigit = calculateVerificationDigit($typeCode, $dni);
75 if ($calculatedDigit !== $verificationDigit) {
76 return ['isValid' => false, 'errorMessage' => 'செல்லுபடியாகாத சரிபார்ப்பு எண்'];
77 }
78
79 return ['isValid' => true];
80}
81
82// எடுத்துக்காட்டு பயன்பாடு
83echo generateCuitCuil(20, 12345678) . "\n"; // குறிப்பிட்ட DNI க்காக உருவாக்கவும்
84echo generateCuitCuil(27) . "\n"; // சீரற்ற DNI உடன் உருவாக்கவும்
85var_dump(validateCuitCuil("20-12345678-9")); // CUIT/CUIL ஐ சரிபார்க்கவும்
86?>
87
அடிக்கடி கேட்கப்படும் கேள்விகள்
CUIT மற்றும் CUIL இன் இடையே என்ன வேறுபாடு?
CUIT (Clave Única de Identificación Tributaria) என்பது வரி அடையாளம் தொடர்பான நோக்கங்களுக்காகப் பயன்படுத்தப்படுகிறது மற்றும் வரிகளை செலுத்த வேண்டிய தனிநபர்கள் மற்றும் சட்டபூர்வமான அமைப்புகளுக்கு ஒதுக்கப்படுகிறது. CUIL (Clave Única de Identificación Laboral) தொழிலாளர்களுக்கானது மற்றும் வேலை மற்றும் சமூக பாதுகாப்பு நோக்கங்களுக்காகப் பயன்படுத்தப்படுகிறது. இவை ஒரே வடிவம் மற்றும் கணக்கீட்டு அல்கொரிதத்தைப் பகிர்ந்தாலும், வெவ்வேறு நிர்வாக நோக்கங்களுக்கு சேவையாக உள்ளன.
தனிநபர்களுக்கான வகை குறியீடுகள் எவை, நிறுவனங்களுக்கு எவை?
தனிநபர்களுக்கானவை:
- 20, 23, 24: ஆண் தனிநபர்கள் (CUIL)
- 27: பெண் தனிநபர்கள் (CUIL)
நிறுவனங்கள் மற்றும் அமைப்புகளுக்கானவை:
- 30: நிறுவனங்கள் (CUIT)
- 33: சிவில் சங்கங்கள் (CUIT)
- 34: அறக்கட்டளைகள் (CUIT)
சரிபார்ப்பு எண் எப்படி கணக்கிடப்படுகிறது?
சரிபார்ப்பு எண் எடையுள்ள மொத்தத்தைப் பயன்படுத்தி கணக்கிடப்படுகிறது. முதல் 10 எண்கள் ஒவ்வொன்றும் தொடர்புடைய எடையால் (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) பலிக்கப்படுகிறது மற்றும் முடிவுகளைச் சேர்க்கப்படுகிறது. சரிபார்ப்பு எண் 11 இல் இருந்து மொத்தத்தைப் பிரிக்கும்போது கிடைக்கும் மீதியால் கணக்கிடப்படுகிறது. சிறப்பு வழக்குகள்: முடிவு 11 என்றால், சரிபார்ப்பு எண் 0; முடிவு 10 என்றால், சரிபார்ப்பு எண் 9.
இந்த கருவியை நான் அதிகாரப்பூர்வமாக, உண்மையான CUIT/CUIL எண்களை உருவாக்குவதற்குப் பயன்படுத்த முடியுமா?
இல்லை, இந்த கருவி சோதனை மற்றும் கல்வி நோக்கங்களுக்காகவே வடிவமைக்கப்பட்டுள்ளது. உருவாக்கப்படும் எண்கள் CUIT/CUIL அல்கொரிதம் படி கணித ரீதியாக செல்லுபடியாகவில்லையென்றாலும், அவை அதிகாரப்பூர்வமாக அர்ஜென்டினாவின் வரி அதிகாரிகளுடன் பதிவு செய்யப்படவில்லை. அதிகாரப்பூர்வ CUIT/CUIL பதிவு செய்ய, தனிநபர்கள் மற்றும் நிறுவனங்கள் AFIP மூலம் உரிய சட்ட நடவடிக்கைகளை மேற்கொள்ள வேண்டும்.
என் CUIT/CUIL சரிபார்ப்பு ஏன் தோல்வியுறுகிறது, வடிவம் சரியாக இருந்தாலும்?
சரிபார்ப்பு பல காரணங்களுக்காக தோல்வியுறலாம்:
- வகை குறியீடு செல்லுபடியாகாதது (20, 23, 24, 27, 30, 33, 34 இவற்றில் ஒன்று)
- சரிபார்ப்பு எண் கணக்கிடப்பட்ட மதிப்புடன் ஒப்பிடும்போது மாறுபடுகிறது
- வடிவம் தவறானது (XX-XXXXXXXX-X ஆக இருக்க வேண்டும்)
- உள்ளீட்டில் (ஹைபன்களை தவிர) எதுவும் எண் அல்ல
CUIT/CUIL எண்களில் ஹைபன்கள் தேவைதானா?
CUIT/CUIL எண்கள் பொதுவாக ஹைபன்களுடன் (XX-XXXXXXXX-X) எழுதப்படுவதும் காட்சியளிக்கப்படுவதும் பொதுவானது, ஆனால் கணக்கீட்டு நோக்கங்களுக்காக ஹைபன்கள் உண்மையான எண்ணின் ஒரு பகுதியாக இல்லை. எங்கள் சரிபார்ப்பாளர் இரண்டு வடிவங்களையும் (ஹைபன்களுடன் அல்லது இல்லாமல்) ஏற்றுக்கொள்கிறது மற்றும் சரியாக சரிபார்க்கும்.
CUIT/CUIL எண்ணில் DNI பகுதியில் 8 எண்களுக்குக் குறைவாக இருக்க முடியுமா?
இல்லை, DNI பகுதி எப்போதும் 8 எண்கள் மட்டுமே இருக்க வேண்டும். உண்மையான DNI இல் குறைவான எண்கள் இருந்தால், 8 எண்களை அடைய முன்னணி பூஜ்யங்களுடன் நிரப்பப்பட வேண்டும். உதாரணமாக, ஒருவரின் DNI 1234567 என்றால், CUIT/CUIL இல் 01234567 என்ற முறையில் காட்சியளிக்கப்படும்.
ஒரு CUIT/CUIL அதிகாரப்பூர்வமாக அர்ஜென்டினாவில் பதிவு செய்யப்பட்டுள்ளது என்பதை எப்படி சரிபார்க்கலாம்?
CUIT/CUIL அதிகாரப்பூர்வமாக பதிவு செய்யப்பட்டதா மற்றும் செயல்பாட்டில் உள்ளதா என்பதை சரிபார்க்க, நீங்கள் அதிகாரப்பூர்வ AFIP (Administración Federal de Ingresos Públicos) இணையதளம் அல்லது சேவைகளைப் பயன்படுத்த வேண்டும். எங்கள் கருவி எண்ணின் கணித ரீதியான செல்லுபடித்தன்மையை மட்டுமே சரிபார்க்கிறது, அதன் அதிகாரப்பூர்வ பதிவு நிலையை அல்ல.
நான் இந்த கருவியை என் வணிக பயன்பாட்டில் பயன்படுத்த முடியுமா?
ஆம், நீங்கள் உங்கள் வணிக பயன்பாடுகளில் இந்த கருவியில் காணப்படும் அல்கொரிதம் மற்றும் தரவுகளை ஒருங்கிணைக்கலாம். CUIT/CUIL சரிபார்ப்பு அல்கொரிதம் ஒரு பொது தரநிலை ஆகும். இருப்பினும், உற்பத்தி சூழல்களில், சரியான பிழை கையாளல் மற்றும் அதிகாரப்பூர்வ மூலங்களுடன் கூடுதல் சரிபார்ப்புகளை மேற்கொள்வதை பரிந்துரைக்கிறோம்.
இந்த கருவி உருவாக்கிய அல்லது சரிபார்க்கப்பட்ட CUIT/CUIL எண்களை எதுவும் சேமிக்குமா?
இல்லை, இந்த கருவி உள்ளீடு அல்லது உருவாக்கிய எந்த தகவலையும் சேமிக்காது. அனைத்து செயலாக்கமும் உங்கள் உலாவியில் கிளையன்ட்-பக்கம் செய்யப்படுகிறது, மேலும் எந்த தரவும் எங்கள் சேவைகளுக்கு அனுப்பப்படுவதோ அல்லது சேமிக்கப்படுவதோ இல்லை. இது உங்கள் உள்ளீட்டின் தனியுரிமை மற்றும் பாதுகாப்பை உறுதி செய்கிறது.
மேற்கோள்கள்
-
AFIP (Administración Federal de Ingresos Públicos). "CUIT/CUIL/CDI." அதிகாரப்பூர்வ இணையதளம். https://www.afip.gob.ar/
-
Trabajo, Empleo y Seguridad Social. "CUIL - Clave Única de Identificación Laboral." https://www.argentina.gob.ar/trabajo
-
ANSES (Administración Nacional de la Seguridad Social). "என் CUIL ஐப் பெறுங்கள்." https://www.anses.gob.ar/
-
Boletín Oficial de la República Argentina. "Resolución General AFIP 2854/2010: செயல்முறை. Clave Única de Identificación Tributaria (C.U.I.T.)."
-
Código Fiscal de la República Argentina. "அடையாளம் மற்றும் வரி செலுத்துநர்களின் பதிவு."
அர்ஜென்டினாவின் CUIT/CUIL எண்களை உருவாக்க அல்லது சரிபார்க்க தயாரா? எங்கள் கருவியை இப்போது முயற்சிக்கவும் மற்றும் உங்கள் சோதனை செயல்முறையை எளிதாக்கவும்!
பின்னூட்டம்
இந்த கருவி பற்றி பின்னூட்டம் அளிக்க தொடங்க பின்னூட்டத்தை கிளிக் செய்யவும்
சம்பந்தப்பட்ட கருவிகள்
உங்கள் வேலைப்பாட்டுக்கு பயனுள்ளதாக இருக்கக்கூடிய மேலும் கருவிகளை கண்டறியவும்