با این ابزار ساده طراحی شده برای سناریوهای آزمایشی، شمارههای CUIT معتبر آرژانتینی (کدهای شناسایی مالیاتی) را تولید کنید و شمارههای موجود را اعتبارسنجی کنید. هیچ ویژگی پیچیدهای وجود ندارد، فقط تولید و اعتبارسنجی CUIT به طور مستقیم.
ابزاری ساده برای تولید و اعتبارسنجی کدهای شناسایی مالیاتی آرژانتینی (CUIT) برای مقاصد آزمایشی.
فرمت: XX-XXXXXXXX-X
CUIT (کد شناسایی مالیاتی منحصر به فرد) کد شناسایی مالیاتی است که در آرژانتین برای افراد و نهادهای قانونی استفاده میشود.
CUIT (Código Único de Identificación Tributaria) کد شناسایی مالیاتی منحصر به فرد آرژانتین است که یک شناساییکننده حیاتی برای تمام مالیاتدهندگان در سیستم مالیاتی آرژانتین به شمار میرود. این کد عددی اساسی به عنوان شناساییکننده اصلی برای افراد و نهادهای حقوقی هنگام تعامل با AFIP (اداره کل درآمدهای عمومی فدرال) و انجام عملیات تجاری در سراسر آرژانتین عمل میکند. ابزار تولید و اعتبارسنجی CUIT آرژانتین ما یک راهحل ساده و کارآمد برای تولید CUITهای معتبر از نظر ریاضی برای مقاصد آزمایشی و اعتبارسنجی شمارههای CUIT موجود ارائه میدهد.
چه شما یک توسعهدهنده باشید که در حال آزمایش برنامههایی هستید که اطلاعات مالیاتی آرژانتینی را پردازش میکنند، یک متخصص QA که در حال بررسی یکپارچگی دادهها هستید، یا یک تحلیلگر تجاری که در حال آمادهسازی مجموعههای داده آزمایشی هستید، این ابزار روند کار با شمارههای CUIT را بدون پیچیدگی ادغام API یا ویژگیهای غیرضروری تسهیل میکند.
CUIT آرژانتین از یک فرمت خاص پیروی میکند که شامل ۱۱ رقم به صورت زیر است:
1XX-XXXXXXXX-X
2
این فرمت استاندارد را میتوان به سه جزء متمایز تقسیم کرد:
دو رقم اول یک CUIT نوع مالیاتدهنده را نشان میدهد:
نوع نهاد | کد نوع | توضیحات |
---|---|---|
شرکت | ۳۰ | شرکتها، LLCها و سایر نهادهای تجاری |
انجمن | ۳۳ | انجمنهای غیرانتفاعی |
بنیاد | ۳۰ | بنیادهای خیریه |
جامعه | ۳۰ | مشارکتها و سایر ساختارهای اجتماعی |
دولت | ۳۰ | نهادهای دولتی و مؤسسات عمومی |
شرکت خارجی | ۳۰ | شرکتهایی که خارج از آرژانتین هستند |
فرد (مرد) | ۲۰ | افراد مرد |
فرد (زن) | ۲۷ | افراد زن |
تراست | ۳۰ | نهادهای تراست |
درک این کدهای نوع برای تولید CUITهای مناسب برای سناریوهای آزمایشی مختلف ضروری است.
ابزار ما دو عملکرد اصلی را ارائه میدهد: تولید CUITهای معتبر و اعتبارسنجی CUITهای موجود. در اینجا نحوه استفاده مؤثر از هر ویژگی آورده شده است:
تولیدکننده CUITهای تصادفی اما معتبر از نظر ریاضی را ایجاد میکند که از الگوریتم رسمی استفاده شده توسط AFIP پیروی میکند. این CUITها برای آزمایش سیستمهایی که به فرمتهای معتبر CUIT نیاز دارند، عالی هستند، هرچند که در پایگاههای داده رسمی ثبت نشدهاند.
ابزار اعتبارسنجی هم فرمت و هم اعتبار ریاضی CUIT را با بررسی اینکه آیا رقم تأیید با مقدار محاسبه شده بر اساس ارقام قبلی مطابقت دارد، بررسی میکند.
رقم تأیید (آخرین رقم) یک CUIT با استفاده از الگوریتم خاصی محاسبه میشود که برای شناسایی خطاهای رایج در ورود دادهها طراحی شده است. درک این الگوریتم کمک میکند تا توضیح دهیم که چگونه ابزار ما CUITها را اعتبارسنجی میکند:
بیایید رقم تأیید را برای CUIT با کد نوع ۳۰ و شماره شناسایی ۱۲۳۴۵۶۷۸ محاسبه کنیم:
بنابراین، CUIT کامل معتبر ۳۰-۱۲۳۴۵۶۷۸-۱ است.
ابزار تولید و اعتبارسنجی CUIT آرژانتین کاربردهای عملی متعددی در زمینههای حرفهای مختلف دارد:
کدهای زیر نحوه پیادهسازی اعتبارسنجی و تولید CUIT را در زبانهای برنامهنویسی مختلف نشان میدهد:
1// اعتبارسنجی CUIT در جاوا اسکریپت
2function validateCUIT(cuit) {
3 // حذف هر کاراکتر غیر عددی
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // بررسی اینکه آیا دقیقاً ۱۱ رقم دارد
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 # تولید شماره تصادفی ۸ رقمی
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
1<?php
2// اعتبارسنجی CUIT در PHP
3function validateCUIT($cuit) {
4 // حذف هر کاراکتر غیر عددی
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // بررسی اینکه آیا دقیقاً ۱۱ رقم دارد
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 // تولید شماره تصادفی ۸ رقمی
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 // بررسی اینکه آیا دقیقاً ۱۱ رقم دارد
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
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 // بررسی اینکه آیا دقیقاً ۱۱ رقم دارد
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; // در صورت عدم وجود ۱۱ رقم، اصلی را بازگردانید
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 شامل موارد زیر است:
CUIT به یک عنصر اساسی از سیستمهای اقتصادی و مالی آرژانتین تبدیل شده است که نه تنها برای اهداف مالیاتی بلکه برای بانکداری، اشتغال، تأمین اجتماعی و معاملات تجاری نیز استفاده میشود.
CUIT (Código Único de Identificación Tributaria) کد شناسایی مالیاتی منحصر به فرد آرژانتین است که به افراد و نهادهای حقوقی برای اهداف مالیاتی اختصاص داده میشود. این کد شامل ۱۱ رقم به فرمت XX-XXXXXXXX-X است که دو رقم اول نوع نهاد را نشان میدهد، هشت رقم وسط شماره شناسایی و آخرین رقم رقم تأیید است.
یک CUIT معتبر باید:
ابزار اعتبارسنجی CUIT ما میتواند به سرعت بررسی کند که آیا یک CUIT این معیارها را برآورده میکند یا خیر.
در حالی که CUIT و CUIL از نظر فرمت مشابه هستند، اما برای اهداف مختلفی استفاده میشوند:
هر دو از همان فرمت و الگوریتم تأیید پیروی میکنند، اما در زمینههای مختلفی استفاده میشوند.
خیر. CUITهای تولید شده توسط این ابزار از نظر ریاضی معتبر هستند اما در پایگاه دادههای رسمی AFIP ثبت نشدهاند. این CUITها فقط برای مقاصد آزمایشی، توسعه یا آموزشی باید استفاده شوند. استفاده از CUITهای خیالی برای مستندات یا معاملات رسمی ممکن است به عنوان تقلب محسوب شود.
AFIP کد نوع مشابه (۳۰) را به چندین نوع نهاد از جمله شرکتها، بنیادها و نهادهای دولتی اختصاص داده است. این بخشی از سیستم طبقهبندی رسمی است و بر اعتبار CUIT تأثیری ندارد. نوع نهاد خاص با اطلاعات ثبت اضافی در سیستمهای AFIP تعیین میشود.
CUITها شناسههای دائمی هستند که معمولاً در طول زندگی یک فرد یا نهاد تغییر نمیکنند. با این حال، در برخی موارد خاص مانند تغییر وضعیت قانونی یا تغییر جنسیت، ممکن است یک CUIT جدید اختصاص داده شود.
بله، اما نه از طریق ابزار ما. AFIP یک خدمات رسمی به نام "Constancia de Inscripción" در وبسایت خود ارائه میدهد که میتوانید بررسی کنید آیا یک CUIT به طور رسمی ثبت شده و فعال است یا خیر. ابزار ما فقط صحت ریاضی یک CUIT را اعتبارسنجی میکند.
خطاهای رایج شامل موارد زیر است:
ابزار اعتبارسنجی ما به شناسایی این مشکلات با بررسی هر دو فرمت و اعتبار ریاضی CUIT کمک میکند.
ابزار ما به شما اجازه میدهد تا قبل از تولید یک CUIT از انواع نهاد مختلف انتخاب کنید. به سادگی نوع نهاد مناسب را از منوی کشویی انتخاب کنید و روی "تولید CUIT" کلیک کنید. ابزار به طور خودکار از کد نوع صحیح برای انتخاب شما استفاده میکند.
خیر، ابزار ما هیچ محدودیتی برای تعداد CUITهایی که میتوانید تولید یا اعتبارسنجی کنید، اعمال نمیکند. این ابزار برای راحتی در سناریوهای آزمایشی و آموزشی که ممکن است به CUITهای معتبر متعددی نیاز داشته باشید، طراحی شده است.
Administración Federal de Ingresos Públicos (AFIP). "Identificación Tributaria." https://www.afip.gob.ar/
Ministerio de Economía de la República Argentina. "Sistema Tributario Argentino." https://www.argentina.gob.ar/economia
Ley 11.683 de Procedimiento Tributario. Boletín Oficial de la República Argentina.
Resolución General AFIP 1817/2005. "Procedimientos de inscripción و registración."
Chicote, J. (2018). "Tax Identification Systems in Latin America: A Comparative Analysis." Journal of Tax Administration, 4(1), 88-106.
Gómez Sabaini, J.C., & Morán, D. (2016). "Tax Policy in Latin America: Assessment and Guidelines for Reform." United Nations Economic Commission for Latin America and the Caribbean (ECLAC).
ابزار تولید و اعتبارسنجی CUIT آرژانتین یک راهحل ساده و کارآمد برای کار با کدهای شناسایی مالیاتی آرژانتینی در محیطهای آزمایشی و توسعه ارائه میدهد. با درک ساختار، فرمت و الگوریتم تأیید CUITها، کاربران میتوانند از یکپارچگی دادهها و انطباق با استانداردهای شناسایی مالیاتی آرژانتین اطمینان حاصل کنند.
چه شما در حال توسعه نرمافزاری باشید که با سیستمهای مالی آرژانتینی تعامل دارد، در حال آزمایش روالهای اعتبارسنجی دادهها باشید یا صرفاً در حال یادگیری درباره سیستمهای شناسایی مالیاتی بینالمللی باشید، ابزار ما عملکردی که نیاز دارید را بدون پیچیدگیهای غیرضروری ارائه میدهد.
اکنون یک CUIT تولید کنید یا یک CUIT موجود را اعتبارسنجی کنید تا به سادگی و کارآمدی ابزار ما به طور مستقیم تجربه کنید.
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند