🛠️

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 से भाग देने पर शेषफल के लिए जोड़ का 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 पहले 10 अंकों का 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 परीक्षण: उन API अंत बिंदुओं के लिए मान्य पेलोड उत्पन्न करें जिन्हें CUIT/CUIL नंबरों की आवश्यकता होती है, यह सुनिश्चित करते हुए कि आपके एकीकरण परीक्षण मान्य डेटा का उपयोग करते हैं।

  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 न केवल कर और रोजगार उद्देश्यों के लिए उपयोग किया जाता है बल्कि बैंकिंग, संपत्ति लेनदेन, उपयोगिता सेवाएँ और ऑनलाइन खरीदारी सहित कई गतिविधियों के लिए एक आवश्यक पहचानकर्ता बन गया है, जो अर्जेंटीना में संचालन करने वाले व्यक्तियों और व्यवसायों के लिए आवश्यक है।

कोड उदाहरण

पायथन

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 उत्पन्न करें
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

जावास्क्रिप्ट

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 उत्पन्न करें
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

जावा

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 उत्पन्न करें
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 उत्पन्न करें
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 एल्गोरिदम के अनुसार मान्य हैं लेकिन अर्जेंटीना के कर अधिकारियों (AFIP) के साथ आधिकारिक रूप से पंजीकृत नहीं हैं। आधिकारिक CUIT/CUIL पंजीकरण के लिए, व्यक्तियों और कंपनियों को AFIP के माध्यम से उचित कानूनी प्रक्रियाओं का पालन करना चाहिए।

क्यों मेरा CUIT/CUIL मान्यता असफल हो जाती है जबकि प्रारूप सही लगता है?

मान्यता कई कारणों से असफल हो सकती है:

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

क्या 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 नंबरों में से कोई भी जानकारी संग्रहीत करता है?

नहीं, यह उपकरण दर्ज की गई या उत्पन्न की गई किसी भी जानकारी को संग्रहीत नहीं करता है। सभी प्रसंस्करण आपके ब्राउज़र में क्लाइंट-साइड पर किया जाता है, और कोई डेटा हमारे सर्वरों पर नहीं भेजा या संग्रहीत किया जाता है। यह आपकी दर्ज की गई किसी भी जानकारी की गोपनीयता और सुरक्षा सुनिश्चित करता है।

संदर्भ

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

  2. Ministerio de Trabajo, Empleo y Seguridad Social। "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. Boletín Oficial de la República Argentina। "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 ജനറേറ്റർ | സാധുവായ നികുതി ഐഡി കോഡുകൾ സൃഷ്ടിക്കുക

ഈ ഉപകരണം പരീക്ഷിക്കുക