🛠️

Whiz Tools

Build • Create • Innovate

अर्जेंटिनाचा 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 स्वरूपात दर्शविला जातो:

  1. प्रकार कोड (पहिले 2 अंक): संस्थेचा प्रकार दर्शवितो

    • 20, 23, 24: पुरुष व्यक्ती (CUIL)
    • 27: महिला व्यक्ती (CUIL)
    • 30, 33, 34: कंपन्या आणि संघटना (CUIT)
  2. DNI क्रमांक (मधले 8 अंक): व्यक्तींसाठी, हा त्यांच्या राष्ट्रीय ओळखपत्र क्रमांक (DNI) आहे, जो आवश्यक असल्यास 8 अंक गाठण्यासाठी आघाडीच्या शून्यांनी भरला जातो. कंपन्यांसाठी, हा एक अद्वितीय असाइन केलेला क्रमांक आहे.

  3. प्रमाणीकरण अंक (शेवटचा अंक): संपूर्ण क्रमांकाची वैधता तपासण्यासाठी विशिष्ट अल्गोरिदम वापरून गणना केलेला चेक अंक.

प्रमाणीकरण अंक गणना

प्रमाणीकरण अंक खालील अल्गोरिदम वापरून गणना केली जाते:

  1. CUIT/CUIL च्या पहिल्या 10 अंकांना घ्या (प्रकार कोड + DNI)
  2. प्रत्येक अंकाला या अनुक्रमातून संबंधित वजनाने गुणाकार करा: 5, 4, 3, 2, 7, 6, 5, 4, 3, 2
  3. सर्व परिणामी उत्पादनांची बेरीज करा
  4. 11 वजा करून बेरीजचा शेष काढा
  5. जर परिणाम 11 असेल, तर प्रमाणीकरण अंक 0 आहे
  6. जर परिणाम 10 असेल, तर प्रमाणीकरण अंक 9 आहे
  7. अन्यथा, परिणाम हा प्रमाणीकरण अंक आहे

गणितीयदृष्ट्या, हे असे व्यक्त केले जाऊ शकते:

VD=11((i=110di×wi)mod11)VD = 11 - ((\sum_{i=1}^{10} d_i \times w_i) \bmod 11)

जिथे:

  • VDVD हा प्रमाणीकरण अंक आहे
  • did_i हा ii-था अंक आहे
  • wiw_i संबंधित वजन आहे [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
  • विशेष प्रकरणे: जर VD=11VD = 11 असेल तर VD=0VD = 0, जर VD=10VD = 10 असेल तर VD=9VD = 9

चरण-दर-चरण मार्गदर्शक

जनक वापरणे

  1. साधनाच्या इंटरफेसच्या वरच्या भागात "जनक" टॅब निवडा.

  2. ड्रॉपडाउन मेनूमधून एक प्रकार कोड निवडा:

    • 20: पुरुष (CUIL)
    • 23: व्यवसाय (CUIT)
    • 24: तात्पुरते व्यवसाय (CUIT)
    • 27: महिला (CUIL)
    • 30: कॉर्पोरेशन (CUIT)
    • 33: नागरी संघटना (CUIT)
    • 34: फाउंडेशन (CUIT)
  3. DNI क्रमांक प्रविष्ट करा (पर्यायी):

    • दिलेल्या फील्डमध्ये 8 अंकी DNI क्रमांक प्रविष्ट करा
    • जर तुम्ही हे रिक्त ठेवले, तर साधन यादृच्छिकपणे तयार केलेला DNI वापरेल
    • जर तुम्ही 8 अंकांपेक्षा कमी अंक प्रविष्ट केले, तर प्रणाली आघाडीच्या शून्यांनी भरते
  4. यादृच्छिक DNI तयार करा (पर्यायी):

    • "यादृच्छिक" बटणावर क्लिक करा जेणेकरून यादृच्छिक 8 अंकी DNI क्रमांक तयार होईल
  5. तयार केलेला CUIT/CUIL पहा:

    • साधन तुमच्या इनपुट्सच्या आधारे एक वैध CUIT/CUIL आपोआप दर्शवते
    • स्वरूप XX-XXXXXXXX-X असेल आणि योग्य प्रमाणीकरण अंक असेल
  6. परिणाम कॉपी करा:

    • तयार केलेला CUIT/CUIL आपल्या क्लिपबोर्डवर कॉपी करण्यासाठी कॉपी आयकॉनवर क्लिक करा
    • यशस्वीपणे कॉपी केल्यावर एक पुष्टी करणारा संदेश दिसेल

प्रमाणीकरण करणारा वापरणे

  1. साधनाच्या इंटरफेसच्या वरच्या भागात "प्रमाणीकरण" टॅब निवडा.

  2. प्रमाणीकरणासाठी CUIT/CUIL प्रविष्ट करा:

    • CUIT/CUIL XX-XXXXXXXX-X स्वरूपात प्रविष्ट करा
    • साधन आपोआप तुम्हाला टाइप करताना हायफनसह तुमचा इनपुट स्वरूपित करेल
    • तुम्ही हायफनशिवाय (XXXXXXXXXXX) क्रमांक देखील प्रविष्ट करू शकता
  3. "प्रमाणीकरण" बटणावर क्लिक करा:

    • साधन स्वरूप, प्रकार कोड, आणि प्रमाणीकरण अंक तपासेल
  4. प्रमाणीकरण परिणाम पहा:

    • वैध CUIT/CUIL क्रमांकांसाठी, एक हिरवा यश संदेश दिसेल
    • अवैध क्रमांकांसाठी, एक लाल त्रुटी संदेश समस्या स्पष्ट करेल:
      • अवैध स्वरूप (XX-XXXXXXXX-X असावे)
      • अवैध प्रकार कोड (20, 23, 24, 27, 30, 33, 34 पैकी एक असावा)
      • अवैध प्रमाणीकरण अंक
  5. अतिरिक्त माहिती:

    • वैध क्रमांकांसाठी, साधन घटकांचा तपशील दर्शवते:
      • प्रकार कोड आणि त्याचा अर्थ
      • DNI क्रमांक
      • प्रमाणीकरण अंक

उपयोग प्रकरणे

विकास आणि चाचणी

  1. सॉफ्टवेअर विकास: अर्जेंटिनाच्या कर ओळखपत्र हाताळणाऱ्या अनुप्रयोगांची चाचणी करण्यासाठी वैध CUIT/CUIL क्रमांक तयार करा, जसे की:

    • ई-कॉमर्स प्लॅटफॉर्म
    • लेखा सॉफ्टवेअर
    • HR व्यवस्थापन प्रणाली
    • सरकारी सेवा पोर्टल
    • बँकिंग अनुप्रयोग
  2. डेटाबेस लोकशाहीकरण: अर्जेंटिनाच्या वापरकर्त्यांची माहिती संग्रहित करणाऱ्या प्रणालीसाठी वास्तविक चाचणी डेटा तयार करा, जेणेकरून डेटाबेसच्या बंधनांचा आणि प्रमाणीकरण नियमांचा योग्यपणे कार्य करतो.

  3. फॉर्म प्रमाणीकरण चाचणी: CUIT/CUIL माहिती गोळा करणाऱ्या वेब फॉर्मसाठी इनपुट प्रमाणीकरणाची चाचणी करा, जेणेकरून अवैध प्रविष्ट्यांसाठी योग्य त्रुटी संदेश उपस्थित राहतात.

  4. API चाचणी: CUIT/CUIL क्रमांक आवश्यक असलेल्या API एंडपॉइंटसाठी वैध पेलोड तयार करा, जेणेकरून तुमच्या एकत्रीकरण चाचणींमध्ये वैध डेटा वापरला जाईल.

  5. QA स्वयंचलन: स्वयंचलित चाचणी स्क्रिप्टमध्ये CUIT/CUIL जनन समाविष्ट करा, जेणेकरून स्थिर चाचणी डेटाऐवजी गतिशील चाचणी प्रकरणे तयार केली जातील.

शैक्षणिक उद्देश

  1. प्रमाणीकरण अल्गोरिदम शिकणे: CUIT/CUIL प्रमाणीकरण प्रक्रियेत प्रत्यक्षात कसे कार्य करते ते पाहून चेक अंक अल्गोरिदम कसे कार्य करते हे समजून घ्या.

  2. डेटा प्रमाणीकरण शिकवणे: नवीन विकसकांना फॉर्म प्रमाणीकरण तंत्र शिकवताना शैक्षणिक उदाहरण म्हणून वापरा.

  3. अर्जेंटिनाच्या व्यवसाय आवश्यकतांचा समज: आंतरराष्ट्रीय व्यवसाय विकासासाठी अर्जेंटिनामध्ये वापरल्या जाणाऱ्या ओळख प्रणालीबद्दल जाणून घ्या.

पर्याय

आमचे साधन वैध CUIT/CUIL क्रमांक तयार करण्याचा आणि प्रमाणीकरण करण्याचा एक सोपा मार्ग प्रदान करते, परंतु तुम्ही विचार करू शकता की काही पर्यायी पद्धती आहेत:

  1. आधिकारिक सरकारी प्रमाणीकरण: उत्पादन वातावरणात, शक्य असल्यास, CUIT/CUIL क्रमांक अधिकृत AFIP (Administración Federal de Ingresos Públicos) डेटाबेसविरुद्ध प्रमाणीकरण करा.

  2. लायब्ररी आणि पॅकेजेस: अनेक प्रोग्रामिंग भाषांमध्ये अर्जेंटिनाच्या कर आयडी प्रमाणीकरणासाठी विशेष लायब्ररी आहेत:

    • JavaScript: validar-cuit npm पॅकेज
    • PHP: afip-php लायब्ररी
    • Python: py-cuit पॅकेज
  3. हाताने गणना: शैक्षणिक उद्देशांसाठी, तुम्ही वरील वर्णन केलेल्या अल्गोरिदमचा वापर करून प्रमाणीकरण अंक हाताने गणना करू शकता.

  4. संपूर्ण व्यवसाय प्रमाणीकरण सेवा: उद्यम अनुप्रयोगांसाठी, फक्त स्वरूप तपासण्याऐवजी CUIT/CUIL संबंधित संस्थेची अस्तित्व आणि स्थिती सत्यापित करणाऱ्या व्यापक प्रमाणीकरण सेवांचा विचार करा.

CUIT/CUIL प्रणालीचा इतिहास

अर्जेंटिनामध्ये CUIT/CUIL ओळख प्रणालीची सुरुवात झाल्यापासून ती महत्त्वपूर्ण बदलांमधून गेली आहे:

उत्पत्ति आणि कार्यान्वयन

CUIT (Clave Única de Identificación Tributaria) अर्जेंटिनामध्ये 1970 च्या दशकात ओळखपत्र प्रणाली आधुनिक करण्याच्या प्रयत्नांचा भाग म्हणून प्रथम सुरू करण्यात आला. कर संकलन प्रणालीचे आधुनिकीकरण करण्यासाठी, फेडरल अॅडमिनिस्ट्रेशन ऑफ पब्लिक रेव्हेन्यू (AFIP) ने करदात्यांचे अधिक कार्यक्षमतेने ट्रॅक करण्यासाठी हा अद्वितीय ओळख क्रमांक लागू केला आणि कर चोरट्या कमी केले.

CUIL (Clave Única de Identificación Laboral) नंतर कामगारांना सामाजिक सुरक्षा प्रणालीमध्ये विशेष ओळखण्यासाठी ओळखपत्र म्हणून आणला गेला, ज्यामुळे कर ओळखपत्र आणि श्रम ओळखपत्र यामध्ये भिन्नता निर्माण झाली, तरीही एकसारखे स्वरूप राखले.

विकास आणि डिजिटलायझेशन

1990 च्या दशकात, अर्जेंटिना महत्त्वपूर्ण आर्थिक सुधारणा करत असताना, CUIT/CUIL प्रणाली अधिक महत्त्वाची बनली. प्रणाली अधिक डिजिटल झाली आणि ऑनलाइन प्रमाणीकरण प्रणाली लागू करण्यात आल्या.

2000 च्या दशकाच्या सुरुवातीस, CUIT/CUIL प्रणाली विविध डिजिटल सरकारी सेवांसोबत एकत्रित करण्यात आली, ज्यामुळे अर्जेंटिनाच्या ई-सरकारी उपक्रमांचे एक महत्त्वाचे घटक बनले. या कालावधीत प्रमाणीकरण अल्गोरिदम आणि स्वरूपाचे मानकीकरण झाले, जे आजही वापरात आहे.

अलीकडील विकास

अलीकडील वर्षांत, AFIP ने CUIT/CUIL क्रमांकांसाठी सुरक्षा आणि प्रमाणीकरण प्रक्रियेत सुधारणा केली आहे, अधिक जटिल प्रमाणीकरण प्रणाली लागू केल्या आहेत आणि इतर सरकारी डेटाबेससह एकत्रित केल्या आहेत. आता या प्रणालीचा वापर अर्जेंटिनामध्ये कर चोरट्या विरुद्ध लढा देण्यासाठी आणि अर्थव्यवस्थेला औपचारिक स्वरूप देण्यासाठी महत्त्वपूर्ण भूमिका बजावते.

आज, CUIT/CUIL हे फक्त कर आणि रोजगाराच्या उद्देशांसाठीच नव्हे तर बँकिंग, मालमत्ता व्यवहार, युनिट सेवा आणि ऑनलाइन खरेदी यासारख्या अनेक क्रियाकलापांसाठी वापरले जाते, ज्यामुळे हे अर्जेंटिनामध्ये कार्यरत व्यक्ती आणि व्यवसायांसाठी एक आवश्यक ओळखकर्ता बनतो.

कोड उदाहरणे

Python

1def calculate_verification_digit(type_code, dni):
2    # स्ट्रिंगमध्ये रूपांतरित करा आणि सुनिश्चित करा की DNI 8 अंकांमध्ये आघाडीच्या शून्यांसह आहे
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  // स्ट्रिंगमध्ये रूपांतरित करा आणि सुनिश्चित करा की DNI 8 अंकांमध्ये आघाडीच्या शून्यांसह आहे
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        // स्ट्रिंगमध्ये रूपांतरित करा आणि सुनिश्चित करा की DNI 8 अंकांमध्ये आघाडीच्या शून्यांसह आहे
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    // स्ट्रिंगमध्ये रूपांतरित करा आणि सुनिश्चित करा की DNI 8 अंकांमध्ये आघाडीच्या शून्यांसह आहे
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 क्रमांक तयार करू शकतो का?

नाही, हे साधन चाचणी आणि शैक्षणिक उद्देशांसाठीच डिझाइन केलेले आहे. तयार केलेले क्रमांक गणितीयदृष्ट्या वैध आहेत, परंतु अर्जेंटिनाच्या कर प्राधिकरणांमध्ये (AFIP) अधिकृतपणे नोंदणीकृत नाहीत. अधिकृत CUIT/CUIL नोंदणीसाठी, व्यक्ती आणि कंपन्यांनी AFIP च्या माध्यमातून योग्य कायदेशीर प्रक्रियेचे पालन करणे आवश्यक आहे.

माझा CUIT/CUIL प्रमाणीकरण का अपयशी ठरतो, जरी स्वरूप योग्य दिसत असेल?

प्रमाणीकरण अनेक कारणांमुळे अपयशी होऊ शकते:

  1. प्रकार कोड वैध कोडपैकी एक नाही (20, 23, 24, 27, 30, 33, 34)
  2. प्रमाणीकरण अंक गणितीय मूल्याशी जुळत नाही
  3. स्वरूप अवैध आहे (XX-XXXXXXXX-X असावे)
  4. इनपुटमध्ये (हायफन वगळता) गैर-आंकिक वर्ण आहेत

CUIT/CUIL क्रमांकात कमी 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 क्रमांक संग्रहित करते का?

नाही, हे साधन कोणतीही माहिती संग्रहित करत नाही. सर्व प्रक्रिया तुमच्या ब्राउझरमध्ये क्लायंट-साइडवर केली जाते, आणि कोणतीही डेटा आमच्या सर्व्हरवर पाठवली जात नाही किंवा संग्रहित केली जात नाही. यामुळे तुम्ही प्रविष्ट केलेल्या कोणत्याही माहितीची गोपनीयता आणि सुरक्षा सुनिश्चित होते.

संदर्भ

  1. AFIP (Administración Federal de Ingresos Públicos). "CUIT/CUIL/CDI." अधिकृत वेबसाइट. https://www.afip.gob.ar/

  2. मंत्रालय कार्य, रोजगार आणि सामाजिक सुरक्षा. "CUIL - Clave Única de Identificación Laboral." https://www.argentina.gob.ar/trabajo

  3. ANSES (Administración Nacional de la Seguridad Social). "माझा CUIL मिळवा." https://www.anses.gob.ar/

  4. बोलेटिन ऑफिसियल डे ला रिपब्लिका अर्जेंटिना. "Resolución General AFIP 2854/2010: प्रक्रिया. Clave Única de Identificación Tributaria (C.U.I.T.)."

  5. Código Fiscal de la República Argentina. "ओळख आणि करदात्यांची नोंदणी."


अर्जेंटिनाचे CUIT/CUIL क्रमांक तयार करण्यासाठी किंवा प्रमाणीकरण करण्यासाठी तयार आहात का? आमचे साधन आता वापरा आणि तुमच्या चाचणी प्रक्रियेला सुलभ करा!

🔗

संबंधित साधने

तुमच्या कार्यप्रवाहासाठी उपयुक्त असलेल्या अधिक साधनांचा शोध घ्या

आर्जेंटिना CUIT जनक आणि चाचणीसाठी मान्यता

हे साधन वापरून पाहा

अर्जेंटिनाचा CBU जनक आणि वैधता साधन | बँकिंग कोड

हे साधन वापरून पाहा

चाचणी आणि सत्यापनासाठी IBAN जनक आणि सत्यापन साधन

हे साधन वापरून पाहा

ब्राझिलियन CNPJ जनक आणि वैधता साधन चाचणीसाठी

हे साधन वापरून पाहा

मेक्सिकन CLABE जनक आणि वैधता तपासक सॉफ्टवेअर चाचणीसाठी

हे साधन वापरून पाहा

ओलसर परिघ गणक: जलविद्युत व द्रव यांत्रिकी साठी

हे साधन वापरून पाहा

चाचणीसाठी वैध आणि यादृच्छिक CPF जनरेटर साधन

हे साधन वापरून पाहा

CUID जनरेटर: टकराव-प्रतिरोधक अद्वितीय ओळखपत्रे तयार करा

हे साधन वापरून पाहा

चाचणीसाठी मेक्सिकन RFC जनरेटर | वैध कर आयडी कोड तयार करा

हे साधन वापरून पाहा