चाचणीसाठी वैध अर्जेंटिनाचा CUIT/CUIL क्रमांक तयार करा किंवा विद्यमान क्रमांकांची मान्यता करा. अर्जेंटिनाच्या कर आणि कामगार ओळख क्रमांकांसह काम करणाऱ्या विकासकांसाठी साधा साधन.
8 अंकी DNI क्रमांक प्रविष्ट करा किंवा यादृच्छिक जनक वापरा
अर्जेंटिनाचा 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 क्रमांक 11 अंकी असतो, जो सामान्यतः XX-XXXXXXXX-X स्वरूपात दर्शविला जातो:
प्रकार कोड (पहिले 2 अंक): संस्थेचा प्रकार दर्शवितो
DNI क्रमांक (मधले 8 अंक): व्यक्तींसाठी, हा त्यांच्या राष्ट्रीय ओळखपत्र क्रमांक (DNI) आहे, जो आवश्यक असल्यास 8 अंक गाठण्यासाठी आघाडीच्या शून्यांनी भरला जातो. कंपन्यांसाठी, हा एक अद्वितीय असाइन केलेला क्रमांक आहे.
प्रमाणीकरण अंक (शेवटचा अंक): संपूर्ण क्रमांकाची वैधता तपासण्यासाठी विशिष्ट अल्गोरिदम वापरून गणना केलेला चेक अंक.
प्रमाणीकरण अंक खालील अल्गोरिदम वापरून गणना केली जाते:
गणितीयदृष्ट्या, हे असे व्यक्त केले जाऊ शकते:
जिथे:
साधनाच्या इंटरफेसच्या वरच्या भागात "जनक" टॅब निवडा.
ड्रॉपडाउन मेनूमधून एक प्रकार कोड निवडा:
DNI क्रमांक प्रविष्ट करा (पर्यायी):
यादृच्छिक DNI तयार करा (पर्यायी):
तयार केलेला CUIT/CUIL पहा:
परिणाम कॉपी करा:
साधनाच्या इंटरफेसच्या वरच्या भागात "प्रमाणीकरण" टॅब निवडा.
प्रमाणीकरणासाठी CUIT/CUIL प्रविष्ट करा:
"प्रमाणीकरण" बटणावर क्लिक करा:
प्रमाणीकरण परिणाम पहा:
अतिरिक्त माहिती:
सॉफ्टवेअर विकास: अर्जेंटिनाच्या कर ओळखपत्र हाताळणाऱ्या अनुप्रयोगांची चाचणी करण्यासाठी वैध CUIT/CUIL क्रमांक तयार करा, जसे की:
डेटाबेस लोकशाहीकरण: अर्जेंटिनाच्या वापरकर्त्यांची माहिती संग्रहित करणाऱ्या प्रणालीसाठी वास्तविक चाचणी डेटा तयार करा, जेणेकरून डेटाबेसच्या बंधनांचा आणि प्रमाणीकरण नियमांचा योग्यपणे कार्य करतो.
फॉर्म प्रमाणीकरण चाचणी: CUIT/CUIL माहिती गोळा करणाऱ्या वेब फॉर्मसाठी इनपुट प्रमाणीकरणाची चाचणी करा, जेणेकरून अवैध प्रविष्ट्यांसाठी योग्य त्रुटी संदेश उपस्थित राहतात.
API चाचणी: CUIT/CUIL क्रमांक आवश्यक असलेल्या API एंडपॉइंटसाठी वैध पेलोड तयार करा, जेणेकरून तुमच्या एकत्रीकरण चाचणींमध्ये वैध डेटा वापरला जाईल.
QA स्वयंचलन: स्वयंचलित चाचणी स्क्रिप्टमध्ये CUIT/CUIL जनन समाविष्ट करा, जेणेकरून स्थिर चाचणी डेटाऐवजी गतिशील चाचणी प्रकरणे तयार केली जातील.
प्रमाणीकरण अल्गोरिदम शिकणे: CUIT/CUIL प्रमाणीकरण प्रक्रियेत प्रत्यक्षात कसे कार्य करते ते पाहून चेक अंक अल्गोरिदम कसे कार्य करते हे समजून घ्या.
डेटा प्रमाणीकरण शिकवणे: नवीन विकसकांना फॉर्म प्रमाणीकरण तंत्र शिकवताना शैक्षणिक उदाहरण म्हणून वापरा.
अर्जेंटिनाच्या व्यवसाय आवश्यकतांचा समज: आंतरराष्ट्रीय व्यवसाय विकासासाठी अर्जेंटिनामध्ये वापरल्या जाणाऱ्या ओळख प्रणालीबद्दल जाणून घ्या.
आमचे साधन वैध CUIT/CUIL क्रमांक तयार करण्याचा आणि प्रमाणीकरण करण्याचा एक सोपा मार्ग प्रदान करते, परंतु तुम्ही विचार करू शकता की काही पर्यायी पद्धती आहेत:
आधिकारिक सरकारी प्रमाणीकरण: उत्पादन वातावरणात, शक्य असल्यास, CUIT/CUIL क्रमांक अधिकृत AFIP (Administración Federal de Ingresos Públicos) डेटाबेसविरुद्ध प्रमाणीकरण करा.
लायब्ररी आणि पॅकेजेस: अनेक प्रोग्रामिंग भाषांमध्ये अर्जेंटिनाच्या कर आयडी प्रमाणीकरणासाठी विशेष लायब्ररी आहेत:
validar-cuit
npm पॅकेजafip-php
लायब्ररीpy-cuit
पॅकेजहाताने गणना: शैक्षणिक उद्देशांसाठी, तुम्ही वरील वर्णन केलेल्या अल्गोरिदमचा वापर करून प्रमाणीकरण अंक हाताने गणना करू शकता.
संपूर्ण व्यवसाय प्रमाणीकरण सेवा: उद्यम अनुप्रयोगांसाठी, फक्त स्वरूप तपासण्याऐवजी 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 नसल्यास यादृच्छिक 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 नसल्यास यादृच्छिक 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 नसल्यास यादृच्छिक 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
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 (Clave Única de Identificación Tributaria) कर ओळखपत्रासाठी वापरला जातो आणि अर्जेंटिनामध्ये कर भरण्यासाठी आवश्यक असलेल्या व्यक्ती आणि कायदेशीर संस्थांना दिला जातो. CUIL (Clave Única de Identificación Laboral) विशेषतः कामगारांना सामाजिक सुरक्षा प्रणालीमध्ये ओळखण्यासाठी वापरला जातो. जरी त्यांचा समान स्वरूप आणि गणितीय अल्गोरिदम असला तरी, ते वेगवेगळ्या प्रशासकीय उद्देशांसाठी सेवा करतात.
व्यक्तींसाठी:
कंपन्या आणि संघटनांसाठी:
प्रमाणीकरण अंक वजनित बेरीज अल्गोरिदम वापरून गणना केला जातो. पहिल्या 10 अंकांना संबंधित वजनाने (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) गुणाकार केला जातो, आणि परिणामांची बेरीज केली जाते. प्रमाणीकरण अंक 11 वजा करून या बेरीजच्या शेषावर आधारित असतो. विशेष प्रकरणे: जर परिणाम 11 असेल, तर प्रमाणीकरण अंक 0 आहे; जर परिणाम 10 असेल, तर प्रमाणीकरण अंक 9 आहे.
नाही, हे साधन चाचणी आणि शैक्षणिक उद्देशांसाठीच डिझाइन केलेले आहे. तयार केलेले क्रमांक गणितीयदृष्ट्या वैध आहेत, परंतु अर्जेंटिनाच्या कर प्राधिकरणांमध्ये (AFIP) अधिकृतपणे नोंदणीकृत नाहीत. अधिकृत CUIT/CUIL नोंदणीसाठी, व्यक्ती आणि कंपन्यांनी AFIP च्या माध्यमातून योग्य कायदेशीर प्रक्रियेचे पालन करणे आवश्यक आहे.
प्रमाणीकरण अनेक कारणांमुळे अपयशी होऊ शकते:
नाही, DNI भाग नेहमीच 8 अंकांचा असावा लागतो. वास्तविक DNI मध्ये कमी अंक असल्यास, 8 अंक गाठण्यासाठी आघाडीच्या शून्यांनी भरले पाहिजे. उदाहरणार्थ, जर कोणाचा DNI 1234567 असेल, तर CUIT/CUIL मध्ये तो 01234567 म्हणून दर्शविला जाईल.
CUIT/CUIL अधिकृतपणे नोंदणीकृत आणि सक्रिय आहे का हे सत्यापित करण्यासाठी, तुम्ही अधिकृत AFIP (Administración Federal de Ingresos Públicos) वेबसाइट किंवा सेवांचा वापर करावा. आमचे साधन फक्त क्रमांकाची गणितीय वैधता तपासते, त्याची अधिकृत नोंदणी स्थिती नाही.
होय, तुम्ही या साधनामध्ये दर्शविलेल्या अल्गोरिदम आणि तत्त्वज्ञानाचे तुमच्या व्यावसायिक अनुप्रयोगांमध्ये समावेश करू शकता. CUIT/CUIL प्रमाणीकरण अल्गोरिदम एक सार्वजनिक मानक आहे. तथापि, उत्पादन वातावरणासाठी, आम्ही योग्य त्रुटी हाताळणी लागू करण्याची शिफारस करतो आणि आवश्यकतेनुसार अधिकृत स्रोतांविरुद्ध अतिरिक्त प्रमाणीकरणाचा विचार करतो.
नाही, हे साधन कोणतीही माहिती संग्रहित करत नाही. सर्व प्रक्रिया तुमच्या ब्राउझरमध्ये क्लायंट-साइडवर केली जाते, आणि कोणतीही डेटा आमच्या सर्व्हरवर पाठवली जात नाही किंवा संग्रहित केली जात नाही. यामुळे तुम्ही प्रविष्ट केलेल्या कोणत्याही माहितीची गोपनीयता आणि सुरक्षा सुनिश्चित होते.
AFIP (Administración Federal de Ingresos Públicos). "CUIT/CUIL/CDI." अधिकृत वेबसाइट. https://www.afip.gob.ar/
मंत्रालय कार्य, रोजगार आणि सामाजिक सुरक्षा. "CUIL - Clave Única de Identificación Laboral." https://www.argentina.gob.ar/trabajo
ANSES (Administración Nacional de la Seguridad Social). "माझा CUIL मिळवा." https://www.anses.gob.ar/
बोलेटिन ऑफिसियल डे ला रिपब्लिका अर्जेंटिना. "Resolución General AFIP 2854/2010: प्रक्रिया. Clave Única de Identificación Tributaria (C.U.I.T.)."
Código Fiscal de la República Argentina. "ओळख आणि करदात्यांची नोंदणी."
अर्जेंटिनाचे CUIT/CUIL क्रमांक तयार करण्यासाठी किंवा प्रमाणीकरण करण्यासाठी तयार आहात का? आमचे साधन आता वापरा आणि तुमच्या चाचणी प्रक्रियेला सुलभ करा!
आपल्या कामच्या प्रक्रियेसाठी उपयुक्त असणारे अधिक उपकरण शोधा.