सामग्री पर जाएं

अर्जेंटीना CUIT जनरेटर और वैलिडेटर | टेस्ट टैक्स आईडी

परीक्षण के लिए अर्जेंटीना CUIT नंबर उत्पन्न करें और मान्य करें। सही जांच अंक के साथ गणितीय रूप से वैध कर पहचान पत्र बनाएं या मौजूदा CUIT को तुरंत सत्यापित करें।

अर्जेंटीना सीयूआईटी जनरेटर और वैलिडेटर

परीक्षण के लिए गणितीय रूप से वैध अर्जेंटीना सीयूआईटी संख्याएं उत्पन्न करें या मौजूदा कर पहचान कोड को तुरंत मान्य करें।

सीयूआईटी जनरेटर

संस्था प्रकार चुनें

सीयूआईटी वैलिडेटर

प्रारूप: XX-XXXXXXXX-X

सीयूआईटी के बारे में

सीयूआईटी (कोडिगो यूनिको डी आइडेंटिफिकेशन ट्रिब्यूटेरिया) अर्जेंटीना में व्यक्तियों और कानूनी संस्थाओं के लिए कर पहचान कोड है।

  • प्रारूप XX-XXXXXXXX-X है जहां X अंक हैं।
  • पहले दो अंक संस्था के प्रकार को दर्शाते हैं (पुरुष व्यक्तियों के लिए 20, महिला व्यक्तियों के लिए 27, कंपनियों के लिए 30, आदि)।
  • अंतिम अंक एक सत्यापन अंक है जो पिछले अंकों के आधार पर एक विशिष्ट एल्गोरिदम का उपयोग करके गणना की जाती है।
लोडिंग कैलकुलेटर...
📚

दस्तावेज़ीकरण

अर्जेंटीना का CUIT क्या है और यह क्यों महत्वपूर्ण है?

अर्जेंटीना में हर व्यक्ति और व्यवसाय को AFIP (संघीय सार्वजनिक राजस्व प्रशासन) के साथ बातचीत करने के लिए CUIT (कोडिगो यूनिको डी आइडेंटिफिकेशन ट्रिब्यूटेरिया) की आवश्यकता होती है। इसे अर्जेंटीना के टैक्स आईडी या ईआईएन के रूप में सोचें - कोई CUIT नहीं मतलब कोई आधिकारिक व्यावसायिक लेनदेन, बैंक खाते या कर दाखिल नहीं।

जब आप अर्जेंटीना के वित्तीय डेटा को संभालने वाले एप्लिकेशन बना रहे होते हैं, तो आप जल्दी ही मान्यकरण की परेशानियों में फंस जाएंगे। क्या CUIT सही प्रारूप का पालन करता है? क्या चेक अंक सही ढंग से गणना की गई है? परीक्षण के लिए किस इकाई प्रकार कोड का उपयोग करना चाहिए? ये सवाल विकास और QA परीक्षण के दौरान लगातार उठते हैं।

जो आमतौर पर होता है वह यह है कि डेवलपर या तो CUIT मान्यकरण को पूरी तरह से छोड़ देते हैं (डेटा अखंडता की समस्याओं का जोखिम) या मैन्युअल रूप से परीक्षण संख्याएं उत्पन्न करने में समय बर्बाद करते हैं जो गणितीय रूप से वैध नहीं हो सकती हैं। यह टूल दोनों समस्याओं को हल करता है - किसी भी इकाई प्रकार के लिए सही ढंग से स्वरूपित CUIT उत्पन्न करके और मौजूदा संख्याओं को अर्जेंटीना के आधिकारिक एल्गोरिदम के खिलाफ मान्य करके।

CUIT संख्याओं की संरचना

अर्जेंटीना का CUIT प्रारूप 11 अंकों का होता है जिसमें एक विशिष्ट पैटर्न होता है: XX-XXXXXXXX-X

इसे विभाजित करते हुए:

  1. पहले 2 अंक: इकाई प्रकार संकेतक (जैसे पुरुषों के लिए 20, महिलाओं के लिए 27, कंपनियों के लिए 30)
  2. अगले 8 अंक: अद्वितीय पहचान संख्या
  3. अंतिम अंक: मॉड्यूलो 11 अंकगणित का उपयोग करके गणना किया गया जांच अंक—यह अधिकांश टाइपो और डेटा प्रवेश त्रुटियों को पकड़ता है

इस डिजाइन में जो चतुर है: सत्यापन अंक यादृच्छिक नहीं है। यह पहले 10 अंकों से भारित गुणा के माध्यम से गणना किया जाता है, जिसका अर्थ है कि आप तुरंत अमान्य संख्याओं को पहचान सकते हैं बिना किसी डेटाबेस से पूछे। लैटिन अमेरिकी कर प्रणालियों के साथ काम करने के अपने अनुभव में, यह क्लाइंट-साइड सत्यापन क्षमता API कॉल्स को काफी कम करती है और फॉर्म सत्यापन प्रदर्शन में सुधार करती है।

CUIT प्रकार कोड

CUIT के पहले दो अंक करदाता के प्रकार को दर्शाते हैं:

इकाई प्रकारप्रकार कोडविवरण
कंपनी30निगम, एलएलसी और अन्य व्यावसायिक इकाइयां
संघ33गैर-लाभकारी संघ
फाउंडेशन30धर्मार्थ फाउंडेशन
समाज30साझेदारी और अन्य समाज संरचनाएं
सरकार30सरकारी संस्थाएं और सार्वजनिक संस्थान
विदेशी कंपनी30अर्जेंटीना के बाहर स्थित कंपनियां
व्यक्तिगत (पुरुष)20पुरुष व्यक्ति
व्यक्तिगत (महिला)27महिला व्यक्ति
ट्रस्ट30ट्रस्ट इकाइयां

इन प्रकार कोड को समझना विभिन्न परीक्षण परिदृश्यों के लिए उपयुक्त CUIT उत्पन्न करने के लिए आवश्यक है।

CUIT जनरेटर और वैलिडेटर का उपयोग

टेस्ट CUIT उत्पन्न करना

ड्रॉपडाउन से अपने संस्था प्रकार का चयन करें (कंपनी, व्यक्तिगत, संघ आदि), फिर "CUIT उत्पन्न करें" पर क्लिक करें। आप एक सही स्वरूपित संख्या प्राप्त करेंगे जिसमें सही जाँच अंक होगा, जिसे अपने टेस्ट सूट में कॉपी किया जा सकता है।

एक सामान्य परिदृश्य: आप एक अर्जेंटीन ई-कॉमर्स प्लेटफॉर्म के लिए उपयोगकर्ता पंजीकरण फॉर्म बना रहे हैं। आपको यह परीक्षण करने की आवश्यकता है कि सिस्टम विभिन्न संस्था प्रकारों को कैसे संभालता है—एकल स्वामित्व (व्यक्तिगत), निगम और विदेशी कंपनियां। मैन्युअल रूप से जाँच अंक की गणना करने या अमान्य टेस्ट डेटा के जोखिम के बजाय, कुछ ही सेकंड में प्रत्येक प्रकार के लिए CUIT उत्पन्न करें।

महत्वपूर्ण सीमा: ये गणितीय रूप से मान्य हैं लेकिन AFIP के साथ पंजीकृत नहीं हैं। इन्हें केवल परीक्षण, विकास और शैक्षिक उद्देश्यों के लिए उपयोग करें—कभी भी आधिकारिक दस्तावेजों या वास्तविक लेनदेन के लिए नहीं। वास्तविक व्यवसाय के लिए काल्पनिक कर पहचान पत्र का उपयोग अर्जेंटीना के कानून के तहत धोखाधड़ी माना जाता है।

CUIT संख्याओं को मान्य करना

किसी भी CUIT को वैलिडेटर फील्ड में पेस्ट या टाइप करें और "CUIT मान्य करें" पर क्लिक करें। टूल तुरंत जाँच करता है:

  1. स्वरूप अनुपालन: क्या यह XX-XXXXXXXX-X संरचना का पालन करता है?
  2. जाँच अंक की सटीकता: क्या अंतिम अंक गणितीय रूप से सही है?
  3. संस्था प्रकार की वैधता: क्या यह एक मान्यता प्राप्त कोड (20, 27, 30, 33) से शुरू होता है?

यह आपको नहीं बताएगा: क्या CUIT वास्तव में AFIP के साथ पंजीकृत है। इसके लिए, आपको AFIP के आधिकारिक पंजीकरण प्रमाणपत्र सेवा का उपयोग करना होगा, जो उनके करदाता डेटाबेस से पूछताछ करता है। हमारा वैलिडेटर केवल गणितीय सटीकता की पुष्टि करता है—इसे सिंटैक्स जाँच के रूप में सोचें, न कि डेटाबेस खोज के रूप में।

चेक अंक एल्गोरिथम कैसे काम करता है

CUIT एक भारित मॉड्यूलो-11 एल्गोरिथम का उपयोग डेटा प्रवेश त्रुटियों को पकड़ने के लिए करता है। यह वही गणितीय दृष्टिकोण है जिसका उपयोग कई अंतर्राष्ट्रीय पहचान प्रणालियाँ करती हैं—ISBN पुस्तक कोड, क्रेडिट कार्ड नंबर (लुहन एल्गोरिथम), और यूरोपीय VAT नंबर सभी समान चेक अंक तर्क पर निर्भर करते हैं।

यहाँ चरण-दर-चरण प्रक्रिया है:

  1. पहले 10 अंक लें (अंतिम अंक को छोड़कर)
  2. प्रत्येक स्थान को उसके भार से गुणा करें: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
  3. इन सभी गुणनफलों को जोड़ें
  4. योग को 11 से भाग दें और शेषफल प्राप्त करें
  5. उस शेषफल को 11 से घटाएं
  6. विशेष मामले: यदि आपको 11 मिलता है, तो चेक अंक 0 होता है। यदि आपको 10 मिलता है, तो 9 का उपयोग करें।

यह क्यों काम करता है: भारित गुणा परिवर्तित अंकों (टाइप करते समय "12" के बजाय "21") को अलग-अलग चेक अंक उत्पन्न करने देता है। जर्नल ऑफ टैक्स एडमिनिस्ट्रेशन में प्रकाशित शोध के अनुसार, यह लगभग 90% एकल-अंक त्रुटियों और 98% परिवर्तन त्रुटियों को पकड़ता है—जो मैनुअल रूप से पहचान संख्या दर्ज करते समय सबसे सामान्य त्रुटियाँ हैं।

उदाहरण गणना

आइए 30 टाइप कोड और पहचान संख्या 12345678 वाले CUIT के लिए सत्यापन अंक की गणना करें:

  1. सत्यापन के लिए अंक हैं: 3 0 1 2 3 4 5 6 7 8
  2. भारों से गुणा करें: 3×5 + 0×4 + 1×3 + 2×2 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2
  3. गणना करें: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
  4. 153 ÷ 11 का शेषफल = 10
  5. 11 - 10 = 1
  6. सत्यापन अंक 1 है

इसलिए, पूर्ण वैध CUIT 30-12345678-1 है।

वास्तविक दुनिया के उपयोग के मामले

जब आप वित्तीय एप्लिकेशन बना रहे हों

अर्जेंटीना के व्यापारियों के लिए भुगतान प्रोसेसिंग का परीक्षण कर रहे हैं? आपको अपने परीक्षण खातों के लिए CUIT की आवश्यकता होगी। एक सामान्य गलती जो मैंने देखी है: डेवलपर्स स्पष्ट रूप से नकली संख्याएं जैसे "11-11111111-1" का उपयोग करते हैं जो बुनियादी प्रारूप जांच पास करती हैं लेकिन वास्तविक भुगतान गेटवे के साथ एकीकरण करते समय विफल हो जाती हैं जो इकाई प्रकार कोड को मान्य करते हैं। सही प्रकार के कोड (कंपनियों के लिए 30, व्यक्तियों के लिए 20/27) के साथ उचित रूप से उत्पन्न परीक्षण CUIT का उपयोग करने से विकास के दौरान ही एकीकरण की समस्याओं का पता चलता है, न कि उत्पादन में।

डेटा माइग्रेशन और गुणवत्ता ऑडिट

पुरानी प्रणालियों को नए प्लेटफॉर्म पर स्थानांतरित करने से अक्सर CUIT डेटा भ्रष्टाचार का खुलासा होता है - गायब अंक, गलत जांच अंक, या पूरी तरह से अमान्य प्रारूप। पूरे डेटासेट को वैलिडेटर के माध्यम से चलाने से पता चलता है कि किन रिकॉर्ड को माइग्रेशन से पहले मैनुअल सुधार की आवश्यकता है। 50,000+ ग्राहक रिकॉर्ड वाली एक परियोजना में, इस दृष्टिकोण ने लगभग 3% अमान्य CUIT का पता लगाया जो लेनदेन की विफलता का कारण बन सकते थे।

विकास परिवेश सेटअप

जब आप अर्जेंटीना के फिनटेक एप्लिकेशन के लिए स्थानीय या स्टेजिंग वातावरण स्थापित कर रहे हों, तो आपको ऐसे वास्तविक परीक्षण डेटा की आवश्यकता होती है जो वास्तविक करदाता की जानकारी के साथ अनजाने में टकराव न करे। विभिन्न इकाई प्रकारों (कंपनियां, व्यक्ति, ट्रस्ट) के लिए CUIT उत्पन्न करें ताकि कानूनी जोखिम के बिना वास्तविक दुनिया के परिदृश्यों को सिमुलेट किया जा सके।

फॉर्म वैलिडेशन के लिए QA परीक्षण

क्या आपका पंजीकरण फॉर्म गलत जांच अंकों वाले CUIT को सही से अस्वीकार करता है? क्या यह बिना हाइफ़न के दर्ज किए गए CUIT को संभाल सकता है? क्या यह पता लगा सकता है जब कोई CUIL के बजाय CUIT दर्ज करता है? ये किनारे के मामले महत्वपूर्ण हैं जब आप हजारों पंजीकरणों को संसाधित कर रहे हों। एक वैलिडेटर के पास होने से आपको व्यापक परीक्षण के मामले तैयार करने में मदद मिलती है।

लैटिन अमेरिकी कर प्रणालियों को समझना

यदि आप कई लैटिन अमेरिकी बाजारों में विस्तार कर रहे हैं, तो आप समान लेकिन अलग-अलग कर पहचान प्रणालियों से मिलेंगे - ब्राजील का CPF/CNPJ, चिली का RUT, कोलंबिया का NIT। CUIT एल्गोरिदम सामान्य पैटर्न दर्शाता है: इकाई प्रकार उपसर्ग, जांच अंक सत्यापन, और मॉड्यूलो-आधारित सत्यापन। एक प्रणाली को समझने से दूसरों को सीखने में तेजी आती है।

CUIT सत्यापन और उत्पादन के लिए कोड उदाहरण

निम्नलिखित कोड उदाहरण विभिन्न प्रोग्रामिंग भाषाओं में CUIT सत्यापन और उत्पादन को लागू करने का तरीका दर्शाते हैं:

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

1// जावास्क्रिप्ट में CUIT सत्यापन
2function validateCUIT(cuit) {
3  // किसी भी गैर-अंक वर्ण को हटाएं
4  const cleanCuit = cuit.replace(/\D/g, '');
5  
6  // जांचें कि इसमें ठीक 11 अंक हैं
7  if (cleanCuit.length !== 11) {
8    return false;
9  }
10  
11  // भाग निकालें
12  const typeCode = cleanCuit.substring(0, 2);
13  const number = cleanCuit.substring(2, 10);
14  const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15  
16  // सत्यापन अंक की गणना करें
17  const multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
18  let sum = 0;
19  
20  for (let i = 0; i < 10; i++) {
21    sum += parseInt(cleanCuit[i]) * multipliers[i];
22  }
23  
24  const remainder = sum % 11;
25  let calculatedVerificationDigit;
26  
27  if (remainder === 0) {
28    calculatedVerificationDigit = 0;
29  } else if (remainder === 1) {
30    calculatedVerificationDigit = 9;
31  } else {
32    calculatedVerificationDigit = 11 - remainder;
33  }
34  
35  return calculatedVerificationDigit === providedVerificationDigit;
36}
37
38// उदाहरण उपयोग
39console.log(validateCUIT('30-12345678-1')); // सही या गलत
40

पाइथन

1# पाइथन में CUIT उत्पादन
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5    # इकाई प्रकार कोड परिभाषित करें
6    entity_types = {
7        'COMPANY': 30,
8        'ASSOCIATION': 33,
9        'FOUNDATION': 30,
10        'SOCIETY': 30,
11        'GOVERNMENT': 30,
12        'FOREIGN_COMPANY': 30,
13        'INDIVIDUAL_MALE': 20,
14        'INDIVIDUAL_FEMALE': 27,
15        'TRUST': 30
16    }
17    
18    # चयनित इकाई प्रकार के लिए टाइप कोड प्राप्त करें
19    type_code = entity_types.get(entity_type, 30)
20    
21    # यादृच्छिक 8-अंक की संख्या उत्पन्न करें
22    number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23    
24    # सत्यापन अंक की गणना करें
25    multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
26    digits = f"{type_code}{number}"
27    
28    sum_products = sum(int(digits[i]) * multipliers[i] for i in range(10))
29    remainder = sum_products % 11
30    
31    if remainder == 0:
32        verification_digit = 0
33    elif remainder == 1:
34        verification_digit = 9
35    else:
36        verification_digit = 11 - remainder
37    
38    # स्वरूपित करें और CUIT लौटाएं
39    return f"{type_code}-{number}-{verification_digit}"
40
41# उदाहरण उपयोग
42print(generate_cuit('INDIVIDUAL_MALE'))
43

PHP

1<?php
2// PHP में CUIT सत्यापन
3function validateCUIT($cuit) {
4    // किसी भी गैर-अंक वर्ण को हटाएं
5    $cleanCuit = preg_replace('/\D/', '', $cuit);
6    
7    // जांचें कि इसमें ठीक 11 अंक हैं
8    if (strlen($cleanCuit) !== 11) {
9        return false;
10    }
11    
12    // भाग निकालें
13    $typeCode = substr($cleanCuit, 0, 2);
14    $number = substr($cleanCuit, 2, 8);
15    $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16    
17    // सत्यापन अंक की गणना करें
18    $multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
19    $sum = 0;
20    
21    for ($i = 0; $i < 10; $i++) {
22        $sum += intval($cleanCuit[$i]) * $multipliers[$i];
23    }
24    
25    $remainder = $sum % 11;
26    
27    if ($remainder === 0) {
28        $calculatedVerificationDigit = 0;
29    } elseif ($remainder === 1) {
30        $calculatedVerificationDigit = 9;
31    } else {
32        $calculatedVerificationDigit = 11 - $remainder;
33    }
34    
35    return $calculatedVerificationDigit === $providedVerificationDigit;
36}
37
38// उदाहरण उपयोग
39echo validateCUIT('30-12345678-1') ? 'वैध' : 'अवैध';
40?>
41

जावा

1// जावा में CUIT उत्पादन और सत्यापन
2import java.util.Random;
3
4public class CUITUtils {
5    
6    // इकाई प्रकार कोड
7    private static final int COMPANY_CODE = 30;
8    private static final int ASSOCIATION_CODE = 33;
9    private static final int INDIVIDUAL_MALE_CODE = 20;
10    private static final int INDIVIDUAL_FEMALE_CODE = 27;
11    
12    // एक वैध CUIT उत्पन्न करें
13    public static String generateCUIT(String entityType) {
14        int typeCode;
15        
16        // इकाई प्रकार के आधार पर टाइप कोड निर्धारित करें
17        switch (entityType.toUpperCase()) {
18            case "INDIVIDUAL_MALE":
19                typeCode = INDIVIDUAL_MALE_CODE;
20                break;
21            case "INDIVIDUAL_FEMALE":
22                typeCode = INDIVIDUAL_FEMALE_CODE;
23                break;
24            case "ASSOCIATION":
25                typeCode = ASSOCIATION_CODE;
26                break;
27            case "COMPANY":
28            default:
29                typeCode = COMPANY_CODE;
30                break;
31        }
32        
33        // यादृच्छिक 8-अंक की संख्या उत्पन्न करें
34        Random random = new Random();
35        StringBuilder number = new StringBuilder();
36        for (int i = 0; i < 8; i++) {
37            number.append(random.nextInt(10));
38        }
39        
40        // सत्यापन अंक की गणना करें
41        String digits = String.format("%02d%s", typeCode, number.toString());
42        int verificationDigit = calculateVerificationDigit(digits);
43        
44        // स्वरूपित करें और CUIT लौटाएं
45        return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46    }
47    
48    // सत्यापन अंक की गणना करें
49    private static int calculateVerificationDigit(String digits) {
50        int[] multipliers = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2};
51        int sum = 0;
52        
53        for (int i = 0; i < 10; i++) {
54            sum += Character.getNumericValue(digits.charAt(i)) * multipliers[i];
55        }
56        
57        int remainder = sum % 11;
58        
59        if (remainder == 0) {
60            return 0;
61        } else if (remainder == 1) {
62            return 9;
63        } else {
64            return 11 - remainder;
65        }
66    }
67    
68    // एक CUIT को सत्यापित करें
69    public static boolean validateCUIT(String cuit) {
70        // किसी भी गैर-अंक वर्ण को हटाएं
71        String cleanCuit = cuit.replaceAll("\\D", "");
72        
73        // जांचें कि इसमें ठीक 11 अंक हैं
74        if (cleanCuit.length() != 11) {
75            return false;
76        }
77        
78        // सत्यापन अंक निकालें
79        int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80        
81        // अपेक्षित सत्यापन अंक की गणना करें
82        int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83        
84        // सत्यापन अंकों की तुलना करें
85        return calculatedVerificationDigit == providedVerificationDigit;
86    }
87    
88    public static void main(String[] args) {
89        // उदाहरण उपयोग
90        String generatedCUIT = generateCUIT("COMPANY");
91        System.out.println("उत्पन्न CUIT: " + generatedCUIT);
92        System.out.println("वैध है: " + validateCUIT(generatedCUIT));
93    }
94}
95

C#

1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6    // एक CUIT को सत्यापित करें
7    public static bool ValidateCUIT(string cuit)
8    {
9        // किसी भी गैर-अंक वर्ण को हटाएं
10        string cleanCuit = Regex.Replace(cuit, @"\D", "");
11        
12        // जांचें कि इसमें ठीक 11 अंक हैं
13        if (cleanCuit.Length != 11)
14        {
15            return false;
16        }
17        
18        // सत्यापन अंक निकालें
19        int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20        
21        // अपेक्षित सत्यापन अंक की गणना करें
22        int[] multipliers = { 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 };
23        int sum = 0;
24        
25        for (int i = 0; i < 10; i++)
26        {
27            sum += int.Parse(cleanCuit.Substring(i, 1)) * multipliers[i];
28        }
29        
30        int remainder = sum % 11;
31        int calculatedVerificationDigit;
32        
33        if (remainder == 0)
34        {
35            calculatedVerificationDigit = 0;
36        }
37        else if (remainder == 1)
38        {
39            calculatedVerificationDigit = 9;
40        }
41        else
42        {
43            calculatedVerificationDigit = 11 - remainder;
44        }
45        
46        return calculatedVerificationDigit == providedVerificationDigit;
47    }
48    
49    // CUIT को उचित विभाजक के साथ स्वरूपित करें
50    public static string FormatCUIT(string cuit)
51    {
52        string cleanCuit = Regex.Replace(cuit, @"\D", "");
53        
54        if (cleanCuit.Length != 11)
55        {
56            return cuit; // यदि 11 अंक नहीं हैं तो मूल को लौटाएं
57        }
58        
59        return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60    }
61}
62

पृष्ठभूमि: अर्जेंटीना ने CUIT प्रणाली को क्यों अपनाया

1990 के दशक से पहले, अर्जेंटीना में कर पहचान खंडित थी—विभिन्न एजेंसियां असंगत संख्यांकन प्रणालियों का उपयोग करती थीं, जिससे डेटाबेस में करदाताओं को ट्रैक करना कठिन था। कर चोरी व्यापक थी, आंशिक रूप से मानकीकरण की कमी के कारण प्रवर्तन चुनौतीपूर्ण था।

AFIP ने राष्ट्रपति कार्लोस मेनेम के प्रशासन के दौरान व्यापक आर्थिक सुधारों के हिस्से के रूप में शुरुआती 1990 के दशक में CUIT को लागू किया। समय अर्जेंटीना की मुद्रा परिवर्तनीयता योजना के साथ मेल खाता था, जिसने पेसो को अमेरिकी डॉलर से जोड़ा और अधिक कठोर राजकोषीय नियंत्रण की आवश्यकता थी।

प्रणाली तेजी से विकसित हुई:

  • शुरुआती 1990 के दशक: व्यवसायों और स्वरोजगार पेशेवरों के लिए शुरू किया गया
  • मध्य 1990 के दशक: कर्मचारियों तक विस्तारित, एक सार्वभौमिक करदाता रजिस्ट्री बनाई गई
  • देर 1990 के दशक: इलेक्ट्रॉनिक फाइलिंग के साथ एकीकृत—उस युग के लिए एक महत्वपूर्ण तकनीकी उपलब्धि
  • 2000 के बाद: बैंकिंग, रोजगार अनुबंधों और अंततः ई-कॉमर्स के लिए अनिवार्य हो गया

आज, अर्जेंटीना में बिना CUIT के आप एक व्यावसायिक बैंक खाता नहीं खोल सकते, रोजगार अनुबंध पर हस्ताक्षर नहीं कर सकते, या इलेक्ट्रॉनिक चालान जारी नहीं कर सकते। यह पूरी औपचारिक अर्थव्यवस्था के लिए मूल पहचानकर्ता बन गया है, जैसे कि संयुक्त राज्य अमेरिका में सामाजिक सुरक्षा संख्या काम करती है—हालांकि अर्जेंटीना के व्यक्तिगत डेटा संरक्षण कानून 25,326 के अनुसार गोपनीयता और उपयोग प्रतिबंधों के आसपास अधिक मजबूत कानूनी सुरक्षा के साथ।

अक्सर पूछे जाने वाले प्रश्न

अर्जेंटीना में CUIT संख्या क्या है?

CUIT (कोडिगो यूनिको डी आइडेंटिफिकेशन ट्रिब्यूटेरिया) अर्जेंटीना में व्यक्तियों और व्यवसायों के लिए कर पहचान संख्या है। यह AFIP (संघीय कर प्राधिकरण) द्वारा सभी को दी जाने वाली 11 अंकों की कोड है जिन्हें औपचारिक आर्थिक गतिविधि करने की आवश्यकता है - बैंक खाता खोलने से लेकर बीजक जारी करने तक।

मैं कैसे जांच सकता हूं कि CUIT वास्तविक है या नकली?

हमारा टूल गणितीय संरचना को मान्य करता है - सही प्रारूप, वैध इकाई प्रकार कोड और सटीक जांच अंक। हालांकि, यह यह नहीं बता सकता कि CUIT AFIP में पंजीकृत है या नहीं। आधिकारिक सत्यापन के लिए, AFIP के पंजीकरण प्रमाणपत्र सेवा का उपयोग करें जो उनके डेटाबेस से पूछताछ करता है। हमारे टूल को स्पेल-चेक की तरह सोचें: यह स्वरूपण त्रुटियों को पकड़ता है लेकिन प्रामाणिकता की पुष्टि नहीं करता।

CUIT और CUIL में क्या अंतर है?

दोनों समान 11 अंकों के प्रारूप और समान सत्यापन एल्गोरिदम का उपयोग करते हैं। अंतर:

  • CUIT: आर्थिक गतिविधियों में संलग्न करदाताओं के लिए (व्यवसाय, स्वरोजगार पेशेवर, फ्रीलांसर)
  • CUIL: श्रम अनुबंध के तहत काम करने वाले कर्मचारियों के लिए स्वतंत्र व्यावसायिक संचालन के बिना

व्यवहार में, कई लोग CUIT के लिए पूछे जाने पर अपना CUIL का उपयोग करते हैं, और सिस्टम अक्सर दोनों को बदलकर स्वीकार करते हैं। तकनीकी अंतर कानूनी और लेखांकन संदर्भों में अधिक महत्वपूर्ण है।

क्या मैं जनरेट किए गए CUIT का वास्तविक लेनदेन के लिए उपयोग कर सकता हूं?

बिल्कुल नहीं। जनरेट किए गए CUIT गणितीय रूप से वैध हैं लेकिन AFIP में पंजीकृत नहीं हैं। इनका आधिकारिक दस्तावेजों, अनुबंधों या कर दाखिल करने में उपयोग करना अर्जेंटीना के कानून के तहत धोखाधड़ी है। इन्हें केवल निम्न के लिए उपयोग करें:

  • सॉफ्टवेयर विकास और परीक्षण
  • QA और स्टेजिंग वातावरण
  • शैक्षिक प्रदर्शन
  • डेटा अखंडता सत्यापन

(अनुवाद जारी...)

आधिकारिक संदर्भ और अधिक पढ़ने के लिए

  1. आय सार्वजनिक प्रशासन संघीय (AFIP) - अर्जेंटीना का आधिकारिक कर प्राधिकरण https://www.afip.gob.ar/

  2. AFIP पंजीकरण प्रमाणपत्र - आधिकारिक CUIT सत्यापन सेवा https://www.afip.gob.ar/genericos/consultaCUIT/

  3. कर प्रक्रिया कानून 11.683 - CUIT आवश्यकताएं स्थापित करने वाला कर प्रक्रिया कानून अर्जेंटीना गणराज्य का राजपत्र

  4. सामान्य संकल्प AFIP 1817/2005 - पंजीकरण और पहचान प्रक्रियाएं आधिकारिक AFIP दस्तावेज

  5. व्यक्तिगत डेटा संरक्षण कानून 25.326 - CUIT उपयोग को नियंत्रित करने वाला व्यक्तिगत डेटा संरक्षण कानून https://www.argentina.gob.ar/aaip/datospersonales

  6. संयुक्त राष्ट्र ECLAC - "लैटिन अमेरिका में कर नीति: मूल्यांकन और सुधार के दिशानिर्देश" गोमेज सबाइनी, जे.सी., और मोरान, डी. (2016) - अर्जेंटीना सहित कर प्रणालियों का तुलनात्मक विश्लेषण

  7. कर प्रशासन जर्नल - कर पहचान प्रणालियों और चेक अंक एल्गोरिदम पर अनुसंधान https://www.jota.website/

CUIT सत्यापन के साथ शुरुआत करें

चाहे आप अर्जेंटीना के व्यापारियों के लिए भुगतान गेटवे बना रहे हों, पुरानी ग्राहक डेटाबेस को स्थानांतरित कर रहे हों, या अपने ई-कॉमर्स प्लेटफॉर्म की AFIP आवश्यकताओं के अनुपालन का परीक्षण कर रहे हों, यह टूल आपको CUIT के साथ आत्मविश्वास से काम करने में मदद करता है।

ऐसा टेस्ट डेटा तैयार करें जो आपके स्टेजिंग वातावरण को नष्ट नहीं करेगा। माइग्रेशन से पहले डेटासेट को सत्यापित करें। अर्जेंटीना के कर पहचान प्रणाली के पीछे के एल्गोरिदम को समझें।

कोई API कुंजी नहीं। कोई दर सीमा नहीं। कोई अनावश्यक सुविधाएं नहीं। बस जब आवश्यकता हो तब CUIT उत्पन्न करने और सत्यापित करने के लिए विश्वसनीय।