अर्जेंटिना CUIT जनरेटर आणि व्हॅलिडेटर | टेस्ट कर ओळखपत्र
टेस्टिंगसाठी अर्जेंटिना CUIT क्रमांक तयार करा आणि व्हॅलिडेट करा. योग्य तपासणी अंक असलेले गणितीय रित्या वैध कर ओळखपत्र तयार करा किंवा अस्तित्वात असलेल्या CUIT ची तत्काळ पडताळणी करा.
अर्जेंटिना CUIT जनरेटर आणि व्हॅलिडेटर
परीक्षण किंवा अस्तित्वातील कर ओळख कोड तत्काळ व्हॅलिडेट करण्यासाठी गणितीयदृष्ट्या वैध अर्जेंटिना CUIT क्रमांक तयार करा.
CUIT जनरेटर
CUIT व्हॅलिडेटर
स्वरूप: XX-XXXXXXXX-X
CUIT बद्दल
CUIT (Código Único de Identificación Tributaria) हा अर्जेंटिनामध्ये व्यक्ती आणि कायदेशीर संस्थांसाठी वापरला जाणारा कर ओळख कोड आहे.
- स्वरूप XX-XXXXXXXX-X असून X म्हणजे अंक असतात.
- पहिले दोन अंक संस्थेचा प्रकार दर्शवतात (पुरुष व्यक्तींसाठी 20, महिला व्यक्तींसाठी 27, कंपन्यांसाठी 30 इत्यादी).
- शेवटचा अंक एक सत्यापन अंक असतो जो मागील अंकांवर आधारित विशिष्ट अल्गोरिदमद्वारे काढला जातो.
साहित्यिकरण
अर्जेंटिनाचा CUIT काय आहे आणि तो का महत्त्वाचा आहे?
अर्जेंटिनामध्ये प्रत्येक व्यक्ती आणि व्यवसायाला AFIP (फेडरल अॅडमिनिस्ट्रेशन ऑफ पब्लिक रेव्हेन्यू) या कर प्राधिकरणाशी संवाद साधण्यासाठी CUIT (कोडिगो युनिको डी आयडेंटिफिकेशन ट्रिब्यूटेरिया) आवश्यक असतो. याला अर्जेंटिनाचा टॅक्स आयडी किंवा EIN समजा—CUIT नसेल तर कोणतीही अधिकृत व्यावसायिक व्यवहार, बँक खाते किंवा कर दाखल करणे शक्य नाही.
अर्जेंटिनच्या आर्थिक डेटा हाताळणाऱ्या अनुप्रयोग बनवताना, तुम्हाला लगेच वैधता अडचणींना सामोरे जावे लागेल. CUIT योग्य स्वरूपात आहे का? चेक अंक बरोबर काढला गेला आहे का? चाचणीसाठी कोणता संस्था प्रकार कोड वापरावा? विकास आणि QA चाचणी दरम्यान या प्रश्न सातत्याने येतात.
सामान्यतः असे होते की डेव्हलपर्स CUIT वैधता पूर्णपणे वगळतात (डेटा अखंडतेच्या धोक्यात) किंवा मॅथमॅटिकली वैध नसलेले चाचणी क्रमांक मॅन्युअली तयार करण्यात वेळ वाया घालवतात. हे साधन दोन्ही समस्यांचे समाधान करते—कोणत्याही संस्था प्रकारासाठी योग्यरित्या स्वरूपित CUIT तयार करून आणि अर्जेंटिनाच्या अधिकृत अल्गोरिदमविरुद्ध अस्तित्वात असलेल्या संख्यांची पडताळणी करून.
CUIT क्रमांक कसे संरचित केले जातात
अर्जेंटिनाचा CUIT फॉर्मॅट 11 अंकांचा असतो ज्याची विशिष्ट पॅटर्न आहे: XX-XXXXXXXX-X
हे पुढीलप्रमाणे विभाजित केले जाते:
- पहिले 2 अंक: संस्था प्रकार दर्शक (जसे पुरुषांसाठी 20, महिलांसाठी 27, कंपन्यांसाठी 30)
- पुढील 8 अंक: अद्वितीय ओळख क्रमांक
- शेवटचा अंक: मॉड्युलो 11 अंकगणिताचा वापर करून गणना केलेला तपासणी अंक—हा बहुतेक टाइपो आणि डेटा एंट्री त्रुटी पकडतो
या डिझाइनमध्ये काही हुशार गोष्ट आहे: सत्यापन अंक अनियमित नसतो. हा पहिल्या 10 अंकांपासून वजनाच्या गुणाकाराने गणना केला जातो, ज्याचा अर्थ आहे की तुम्ही डेटाबेसला क्वेरी न करता लगेचच अवैध क्रमांक ओळखू शकता. माझ्या लॅटिन अमेरिकन कर प्रणालींशी काम करण्याच्या अनुभवानुसार, हा क्लायंट-साइड सत्यापन क्षमता API कॉल्स लक्षणीयरित्या कमी करतो आणि फॉर्म सत्यापन कार्यक्षमता सुधारतो.
CUIT प्रकार कोड
CUIT चे पहिले दोन अंक करदाता प्रकार दर्शवतात:
| संस्था प्रकार | प्रकार कोड | वर्णन |
|---|---|---|
| कंपनी | 30 | कॉर्पोरेशन्स, एलएलसी आणि इतर व्यावसायिक संस्था |
| संघटना | 33 | विना नफा संघटना |
| फाउंडेशन | 30 | धर्मादाय संस्था |
| समाज | 30 | भागीदारी आणि इतर समाज संरचना |
| सरकार | 30 | सरकारी संस्था आणि सार्वजनिक संस्था |
| परदेशी कंपनी | 30 | अर्जेंटिनाबाहेरील कंपन्या |
| व्यक्तिगत (पुरुष) | 20 | पुरुष व्यक्ती |
| व्यक्तिगत (महिला) | 27 | महिला व्यक्ती |
| ट्रस्ट | 30 | ट्रस्ट संस्था |
विविध चाचणी परिदृश्यांसाठी योग्य CUIT तयार करण्यासाठी या प्रकार कोडांचे समझणे आवश्यक आहे.
CUIT जनरेटर आणि व्हॅलिडेटर वापरणे
टेस्ट CUIT तयार करणे
ड्रॉपडाउनमधून आपला संस्था प्रकार निवडा (कंपनी, व्यक्ती, संघटना इत्यादी), नंतर "CUIT जनरेट करा" वर क्लिक करा. आपल्याला योग्यरित्या फॉर्मेट केलेला चेक अंक असलेला क्रमांक मिळेल, जो आपल्या टेस्ट सुइटमध्ये कॉपी करण्यास तयार असेल.
एक सामान्य परिदृश्य: आपण अर्जेंटाइन ई-कॉमर्स प्लॅटफॉर्मसाठी वापरकर्ता नोंदणी फॉर्म तयार करत आहात. आपल्याला विविध संस्था प्रकारांसाठी सिस्टम कसे काम करते याची चाचणी करायची आहे - एकल मालक (व्यक्ती), कॉर्पोरेशन्स आणि परदेशी कंपन्या. चेक अंक मॅन्युअली काढण्याऐवजी किंवा अवैध टेस्ट डेटाचा धोका न घेता, काही सेकंदांत प्रत्येक प्रकारासाठी CUIT तयार करा.
महत्वाची मर्यादा: हे गणितीय रित्या वैध आहेत परंतु AFIP मध्ये नोंदणीकृत नाहीत. केवळ चाचणी, विकास आणि शैक्षणिक हेतूंसाठी वापरा - कधीही अधिकृत दस्तऐवज किंवा वास्तविक व्यवहारांसाठी नाही. काल्पनिक कर ओळखपत्रांचा वास्तविक व्यवसायासाठी वापर अर्जेंटाइन कायद्यानुसार फसवणूक मानला जातो.
CUIT क्रमांक व्हॅलिडेट करणे
कोणताही CUIT व्हॅलिडेटर क्षेत्रात पेस्ट किंवा टाइप करा आणि "CUIT व्हॅलिडेट करा" वर क्लिक करा. साधन लगेच तपासते:
- फॉर्मेट अनुपालन: XX-XXXXXXXX-X रचनेचे पालन करते का?
- चेक अंक अचूकता: शेवटचा अंक गणितीय रित्या बरोबर आहे का?
- संस्था प्रकार वैधता: मान्यताप्राप्त कोडने (20, 27, 30, 33) सुरू होते का?
हे सांगणार नाही: CUIT AFIP मध्ये वास्तविक रित्या नोंदणीकृत आहे का. त्यासाठी, आपल्याला AFIP चे अधिकृत Constancia de Inscripción सेवा वापरावी लागेल, जी त्यांच्या करदाता डेटाबेसला क्वेरी करते. आमचा व्हॅलिडेटर केवळ गणितीय अचूकता पुष्टी करतो - हे डेटाबेस शोधापेक्षा सिंटॅक्स तपासणी म्हणून समजा.
चेक अंक अल्गोरिदम कसे काम करते
CUIT एक वजनित मॉड्युलो-11 अल्गोरिदम वापरते जो डेटा एंट्री चुका पकडण्यासाठी वापरला जातो. हे तोच गणितीय दृष्टिकोन आहे जो अनेक आंतरराष्ट्रीय ओळख प्रणालींमध्ये वापरला जातो—ISBN पुस्तक कोड, क्रेडिट कार्ड क्रमांक (लुहन अल्गोरिदम), आणि यूरोपीय VAT क्रमांक सर्व या सारख्या चेक अंक तर्कावर अवलंबून असतात.
येथे पायऱ्या-पायऱ्यांचा प्रक्रिया आहे:
- पहिल्या 10 अंक घ्या (शेवटचा अंक वगळून)
- प्रत्येक स्थानाला त्याच्या वजनाने गुणा करा: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
- या सर्व गुणाकारांचा बेरीज करा
- बेरजेला 11 ने भागा आणि उर्वरित अंक घ्या
- त्या उर्वरितातून 11 वजा करा
- विशेष परिस्थिती: जर 11 मिळाले, तर चेक अंक 0 असेल. जर 10 मिळाले, तर 9 वापरा.
हे कसे काम करते: वजनित गुणाकार केलेल्या अंकांमध्ये बदल (टाइप करताना "12" ऐवजी "21") वेगवेगळे चेक अंक तयार करतात. जर्नल ऑफ टॅक्स अॅडमिनिस्ट्रेशन मध्ये प्रकाशित संशोधनानुसार, हे अंदाजे 90% एकल-अंक त्रुटी आणि 98% अंक बदलण्याच्या त्रुटी पकडते—जे मनुष्य हस्ते ओळख क्रमांक टाइप करताना सर्वात सामान्य चुका असतात.
उदाहरण गणना
CUIT चा चेक अंक काढण्यासाठी टाइप कोड 30 आणि ओळख क्रमांक 12345678 वापरूया:
- तपासण्यासाठी अंक आहेत: 3 0 1 2 3 4 5 6 7 8
- वजनाने गुणा करा: 3×5 + 0×4 + 1×3 + 2×2 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2
- गणना करा: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
- 153 ÷ 11 चा उर्वरित = 10
- 11 - 10 = 1
- चेक अंक 1 आहे
म्हणून, पूर्ण वैध CUIT आहे 30-12345678-1.
वास्तविक जगातील वापराचे प्रकार
जेव्हा आपण आर्थिक अनुप्रयोग बनवत असता
अर्जेंटाइन व्यापाऱ्यांसाठी पेमेंट प्रोसेसिंगची चाचणी करत असाल? तुम्हाला तुमच्या चाचणी खात्यांसाठी CUITs आवश्यक असतील. एक सामान्य चूक जी मी पाहिली आहे: डेव्हलपर्स स्पष्टपणे बनावट क्रमांक जसे "11-11111111-1" वापरतात जे मूलभूत स्वरूप तपासणीत पास होतात पण वास्तविक पेमेंट गेटवेसोबत एकीकरण करताना अयशस्वी होतात जे एंटिटी प्रकार कोड मान्य करतात. योग्य रीतीने तयार केलेल्या चाचणी CUITs वापरणे (कंपन्यांसाठी 30, व्यक्तींसाठी 20/27) विकासादरम्यान एकीकरण समस्या शोधण्यास मदत करते.
डेटा स्थलांतर आणि गुणवत्ता लेखापरीक्षा
जुन्या प्रणालींचे नवीन प्लॅटफॉर्मवर स्थलांतर करताना CUIT डेटा भ्रष्टाचार अक्सर दिसून येतो—अचूक अंक, चुकीचे तपासणी अंक किंवा पूर्णपणे अवैध स्वरूप. संपूर्ण डेटासेटला व्यालिडेटरमधून चालवून कोणते रेकॉर्ड्स स्थलांतरापूर्वी मॅन्युअल दुरुस्तीची आवश्यकता आहे ते ओळखण्यास मदत होते. 50,000+ ग्राहक रेकॉर्ड्स असलेल्या एका प्रकल्पात, या पद्धतीने अंदाजे 3% अवैध CUITs शोधले गेले जे व्यवहार अयशस्वी करण्याचा धोका होता.
विकास वातावरण सेटअप
अर्जेंटाइन फिनटेक अनुप्रयोगांसाठी स्थानिक किंवा स्टेजिंग वातावरण सेटअप करताना, तुम्हाला असे वास्तविक चाचणी डेटा आवश्यक असतात जे अचानक वास्तविक करदात्याच्या माहितीशी टक्कर लागणार नाहीत. वेगवेगळ्या एंटिटी प्रकारांसाठी CUITs तयार करा (कंपन्या, व्यक्ती, ट्रस्ट) कायदेशीर धोक्याशिवाय वास्तविक जगाच्या परिदृश्यांची अनुकरण करण्यासाठी.
फॉर्म व्यालिडेशनसाठी QA चाचणी
तुमचा नोंदणी फॉर्म चुकीच्या तपासणी अंकांसह CUITs अस्वीकारतो का? हायफन्स शिवाय CUITs एंटर केल्यास त्याचे हाताळणे करतो का? जेव्हा कोणी 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')); // true किंवा false
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'))
43PHP
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}
95C#
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 प्रणाली का अपनाली
१९९० पूर्वी, अर्जेंटिनाचे कर ओळखपत्र विखुरलेले होते - विविध एजन्सी असंगत क्रमांकन प्रणाली वापरत होत्या, ज्यामुळे डेटाबेसमध्ये करदात्यांचा शोध घेणे कठीण होते. कर टाळाव व्यापक होता, कारण मानकीकरणचा अभाव असल्यामुळे अमलबजावणी आव्हानात्मक होती.
AFIP ने राष्ट्राध्यक्ष कार्लोस मेनेम च्या प्रशासनातील व्यापक आर्थिक सुधारणांच्या भागरूपात १९९० च्या सुरुवातीला CUIT सादर केला. हा कालावधी अर्जेंटिनाच्या चलन परिवर्तनीयता योजनेशी जुळला, ज्याने अमेरिकन डॉलरशी पेसोचे मूल्य जोडले आणि अधिक कठोर राजकोषीय नियंत्रणाची आवश्यकता होती.
प्रणाली तेजीने विकसित झाली:
- १९९० च्या सुरुवातीला: व्यवसाय आणि स्वयंरोजगार पेशेवरांसाठी सुरू
- १९९० च्या मध्यभागी: कर्मचाऱ्यांपर्यंत विस्तारित, सार्वत्रिक करदाता नोंदणी तयार करून
- १९९० च्या शेवटी: इलेक्ट्रॉनिक फाइलिंगशी एकीकृत - त्या काळासाठी महत्त्वपूर्ण तांत्रिक यश
- २००० नंतर: बँकिंग, रोजगार करार आणि अखेरीस ई-वाणिज्यासाठी अनिवार्य
आज, अर्जेंटिनामध्ये व्यावसायिक बँक खाते उघडणे, रोजगार करार करणे किंवा इलेक्ट्रॉनिक बिल काढणे CUIT शिवाय शक्य नाही. हे संपूर्ण औपचारिक अर्थव्यवस्थेचे मूलभूत ओळखपत्र बनले आहे, अमेरिकेतील सोशल सिक्युरिटी क्रमांकासारखे - अर्जेंटिनाच्या वैयक्तिक डेटा संरक्षण कायदा २५,३२६ नुसार गोपनीयता आणि वापर मर्यादांबाबत अधिक मजबूत कायदेशीर संरक्षणासह.
वारंवार विचारले जाणारे प्रश्न
अर्जेंटिनामध्ये CUIT क्रमांक म्हणजे काय?
CUIT (Código Único de Identificación Tributaria) हा अर्जेंटिनाचा व्यक्ती आणि व्यवसायांसाठी कर ओळख क्रमांक आहे. हा 11 अंकी कोड XX-XXXXXXXX-X या स्वरूपात असतो जो AFIP (संघीय कर प्राधिकरण) त्या सर्वांना देतो ज्यांना औपचारिक आर्थिक कार्यासाठी आवश्यक असतो—बँक खाते उघडण्यापासून ते बिल काढण्यापर्यंत.
मी कसे तपासू शकतो की CUIT खरा आहे की बनावट?
आमचे साधन गणितीय रचनेचे सत्यापन करते—योग्य स्वरूप, वैध संस्था प्रकार कोड, आणि अचूक तपासणी अंक. तथापि, ते आपल्याला सांगू शकत नाही की CUIT AFIP सह नोंदणीकृत आहे. अधिकृत सत्यापनासाठी, AFIP चे Constancia de Inscripción सेवा वापरा जी त्यांच्या डेटाबेसला क्वेरी करते. आमच्या साधनाचा विचार स्पेल-चेक सारखा करा: हे स्वरूप त्रुटी पकडते पण प्रामाणिकपणा सत्यापित करत नाही.
CUIT आणि CUIL मध्ये काय फरक आहे?
दोघेही सारखे 11 अंकी स्वरूप आणि समान सत्यापन अल्गोरिदम वापरतात. भेद:
- CUIT: आर्थिक कार्ये करणाऱ्या करदात्यांसाठी (व्यवसाय, स्वतंत्र व्यावसायिक, फ्रीलान्सर)
- CUIL: स्वतंत्र व्यवसाय न करता श्रम करारानुसार काम करणाऱ्या कर्मचाऱ्यांसाठी
व्यवहारात, बरेच लोक CUIT साठी विचारले जाताना त्यांचा CUIL वापरतात, आणि प्रणाली दोन्हीला सामान्यतः स्वीकारतात. तांत्रिक फरक कायदेशीर आणि लेखा संदर्भांमध्ये अधिक महत्वाचा असतो तर रोजच्या वापरात कमी.
काय मी जनरेट केलेल्या CUIT चा वास्तविक व्यवहारांसाठी वापर करू शकतो?
बिल्कुल नाही. जनरेट केलेले CUIT गणितीय रीत्या वैध असतात पण AFIP सह नोंदणीकृत नसतात. त्यांचा अधिकृत कागदपत्रे, करार, किंवा कर दाखल करण्यासाठी वापर करणे अर्जेंटिना कायद्यानुसार फसवणूक आहे. त्यांचा वापर केवल:
- सॉफ्टवेअर विकास आणि चाचणी
- QA आणि स्टेजिंग वातावरण
- शैक्षणिक प्रदर्शने
- डेटा अखंडता सत्यापन
कोड 30 बहुतेक संस्था प्रकारांना का लागू होतो?
AFIP ने समान संस्थांना कोड 30 (कंपन्या, फाउंडेशन्स, सरकारी एजन्सी, ट्रस्ट) अंतर्गत गटबद्ध करून संस्था वर्गीकरण सोपे केले. वास्तविक संस्था प्रकार भेद AFIP च्या आंतरिक नोंदणी प्रणालीमध्ये होतो, CUIT मध्ये नाही. हा डिझाइन निवड सोपेपणाला प्राधान्य देते—एक असा व्यापार जो प्रणालीला अंमलबजावणीस सोपे करते पण कमी स्वयं-दस्तऐवजीकरण करते.
तपासणी अंक त्रुटी पकडण्यात किती अचूक आहे?
मोड्यूलो-11 वजनी अल्गोरिदम अंदाजे 90% एकल-अंक त्रुटी आणि 98% पुनर्रचना त्रुटी पकडतो. हे सर्व त्रुटी पकडणार नाही—उदाहरणार्थ, जर तुम्ही असे अंक बदलले जे संयोगाने समान वजन घटकांचे असतील, तर तपासणी अंक पुढेही वैध राहील. पण सामान्य डेटा प्रवेश त्रुटींसाठी, हे अत्यंत प्रभावी आहे.
काय CUIT चालू राहतात किंवा बदलतात?
CUIT करदात्याच्या आयुष्यभर कायम असतात. अपवाद:
- लिंग ओळख बदल (अर्जेंटिना लिंगाशी जुळणारा CUIT अपडेट करण्याची परवानगी देते)
- मोठी कायदेशीर पुनर्रचना (कंपनी विलीनीकरण नवीन CUIT ट्रिगर करू शकते)
- फसवणूक किंवा ओळख चोरी (AFIP संकटग्रस्त CUIT अवैध ठरवू शकते)
काही देशांच्या उलट जेथे कर ओळख नियमितपणे ताजी होतात, अर्जेंटिनाने CUIT ला प्रशासकीय खर्च कमी करण्यासाठी आयुष्यभर ओळखकर्ता म्हणून तयार केले.
जर मी CUIT हायफन्स शिवाय प्रवेश करतो तर काय होते?
बहुतेक अर्जेंटिना प्रणाली CUIT हायफन्स सह किंवा त्याशिवाय स्वीकारतात—अंतर्निहित सत्यापन स्वरूपण वर्ण काढून अंक तपासते. आमचा सत्यापक दोन्ही स्वरूप हाताळतो: 30-12345678-1 आणि 30123456781 समान रीत्या हाताळले जातात. API सह एकीकरण करताना, त्यांच्या दस्तऐवजीकरणाची तपासणी करा; काही अचूक स्वरूप आवश्यक असतात तर इतर स्वयंचलितपणे इनपुट सामान्य करतात.
काय परदेशी कंपन्या अर्जेंटिना CUIT मिळवू शकतात?
होय. अर्जेंटिनामध्ये व्यवसाय करणाऱ्या परदेशी संस्थांना कोड 30 वापरून CUIT मिळतो, घरेलू कंपन्यांप्रमाणेच. त्यांना AFIP सह नोंदणी करावी लागते आणि सामान्यतः स्थानिक कायदेशीर प्रतिनिधी आवश्यक असतो. CUIT त्यांच्या परदेशी कर ओळखीशी AFIP च्या नोंदींमध्ये जोडला जातो, सीमापार कर करार अनुपालन सक्षम करतो.
मी विभिन्न संस्था प्रकारांसाठी चाचणी CUIT कसे जनरेट करू शकतो?
ड्रॉपडाउनमधून संस्था प्रकार निवडा (कंपनी, व्यक्तिगत पुरुष/महिला, संघटना, इत्यादी) आणि "CUIT जनरेट करा" वर क्लिक करा. साधन स्वयंचलितपणे योग्य टाइप कोड (कंपन्यांसाठी 30, पुरुषांसाठी 20, महिलांसाठी 27, संघटनांसाठी 33) नियुक्त करते आणि योग्य तपासणी अंक काढते. चाचणीच्या उद्देशाने जितक्या हवे तितक्या जनरेट करा—कोणतीही मर्यादा नाही.
अधिकृत संदर्भ आणि पुढील वाचन
-
महसूल उत्पन्न सार्वजनिक प्रशासन (AFIP) - अर्जेंटिनाचे अधिकृत कर प्राधिकरण https://www.afip.gob.ar/
-
AFIP नोंदणी प्रमाणपत्र - अधिकृत CUIT सत्यापन सेवा https://www.afip.gob.ar/genericos/consultaCUIT/
-
कर प्रक्रिया कायदा 11.683 - CUIT आवश्यकता स्थापित करणारा कर प्रक्रिया कायदा अर्जेंटिना गणराज्याचे अधिकृत पत्रक
-
सामान्य ठराव AFIP 1817/2005 - नोंदणी आणि ओळख प्रक्रिया अधिकृत AFIP दस्तऐवज
-
वैयक्तिक डेटा संरक्षण कायदा 25.326 - CUIT वापरास नियंत्रित करणारा वैयक्तिक डेटा संरक्षण कायदा https://www.argentina.gob.ar/aaip/datospersonales
-
संयुक्त राष्ट्र ECLAC - "लॅटिन अमेरिकेतील कर धोरण: मूल्यांकन आणि सुधारणेचे मार्गदर्शक" गोमेज सबाइनी, जे.सी., आणि मोरान, डी. (2016) - अर्जेंटिना सहित कर प्रणालींचे तुलनात्मक विश्लेषण
-
कर प्रशासन नियतकालिक - कर ओळख प्रणाली आणि चेक अंक अल्गोरिदम वर संशोधन https://www.jota.website/
CUIT वैधतेसाठी सुरुवात करा
चाहे आपण अर्जेंटाइन व्यापाऱ्यांसाठी पेमेंट गेटवे तयार करत असाल, जुन्या ग्राहक डेटाबेसचे स्थानांतरण करत असाल किंवा आपल्या ई-कॉमर्स प्लॅटफॉर्मची AFIP आवश्यकतांशी अनुपालन तपासत असाल, हे साधन आपल्याला आत्मविश्वासाने CUIT सह काम करण्यास मदत करते.
परीक्षण वातावरणाला न मोडणारा टेस्ट डेटा तयार करा. स्थानांतरणापूर्वी डेटासेट वैध करा. अर्जेंटाइनच्या कर ओळख प्रणालीमागील अल्गोरिदम समजून घ्या.
कोणतेही API किल्ली नाहीत. कोणतेही दर मर्यादा नाहीत. कोणतीही अनावश्यक वैशिष्ट्ये नाहीत. फक्त विश्वसनीय CUIT निर्मिती आणि वैधता जेव्हा आपल्याला आवश्यक असेल.