مولد ومتحقق من CUIT الأرجنتيني | اختبار أرقام الهوية الضريبية
توليد والتحقق من أرقام CUIT الأرجنتينية للاختبار. إنشاء أرقام هوية ضريبية صالحة رياضياً مع أرقام التحقق الصحيحة أو التحقق من CUITs الموجودة فوراً.
مولد ومتحقق من CUIT الأرجنتيني
توليد أرقام CUIT الأرجنتينية صالحة رياضيًا للاختبار أو التحقق من رموز التعريف الضريبية الموجودة على الفور.
مولد CUIT
متحقق من CUIT
التنسيق: XX-XXXXXXXX-X
حول CUIT
CUIT (رمز التعريف الضريبي الفريد) هو رمز التعريف الضريبي المستخدم في الأرجنتين للأفراد والكيانات القانونية.
- التنسيق هو XX-XXXXXXXX-X حيث X هي أرقام.
- الرقمان الأولان يشيران إلى نوع الكيان (20 للأفراد الذكور، 27 للإناث، 30 للشركات، إلخ).
- الرقم الأخير هو رقم تحقق يتم حسابه باستخدام خوارزمية محددة بناءً على الأرقام السابقة.
التوثيق
ما هو CUIT الأرجنتيني ولماذا يهم؟
يحتاج كل فرد وشركة في الأرجنتين إلى CUIT (كود التعريف الضريبي الفريد) للتفاعل مع السلطة الضريبية في البلاد، AFIP (الإدارة الفيدرالية للإيرادات العامة). فكر فيه كنسخة الأرجنتين من معرف الضرائب أو EIN - بدون CUIT لا توجد معاملات تجارية رسمية، أو حسابات بنكية، أو تقديم ضرائب.
عند بناء تطبيقات تتعامل مع البيانات المالية الأرجنتينية، ستواجه بسرعة مشاكل التحقق المرهقة. هل يتبع CUIT التنسيق الصحيح؟ هل يتم حساب الرقم التحقق بشكل صحيح؟ ما هو رمز نوع الكيان الذي يجب استخدامه للاختبار؟ تظهر هذه الأسئلة باستمرار أثناء التطوير واختبار الجودة.
ما يحدث عادة هو أن المطورين إما يتجاهلون التحقق من CUIT تمامًا (مما يعرض سلامة البيانات للخطر) أو يضيعون وقتًا في إنشاء أرقام اختبار يدويًا قد لا تكون صالحة رياضيًا. يحل هذا الأداة كلا المشكلتين من خلال إنشاء CUITs مُنسقة بشكل صحيح لأي نوع كيان والتحقق من الأرقام الموجودة مقابل الخوارزمية الرسمية للأرجنتين.
كيفية بناء أرقام CUIT
يتكون تنسيق CUIT الأرجنتيني من 11 رقمًا بنمط محدد: XX-XXXXXXXX-X
تفصيل ذلك:
- أول رقمين: مؤشر نوع الكيان (مثل 20 للذكور، 27 للإناث، 30 للشركات)
- 8 أرقام التالية: الرقم التعريفي الفريد
- الرقم الأخير: رقم تحقق يتم حسابه باستخدام الحساب العددي بنظام المتبقي (modulo 11) - وهذا يكشف معظم الأخطاء الإملائية وأخطاء إدخال البيانات
ما هو ذكي في هذا التصميم: الرقم التحققي ليس عشوائيًا. يتم حسابه من أول 10 أرقام باستخدام الضرب الموزون، مما يعني أنه يمكنك تحديد الأرقام غير الصالحة فورًا دون الرجوع إلى قاعدة بيانات. من خلال خبرتي في العمل مع أنظمة الضرائب اللاتينية الأمريكية، فإن هذه القدرة على التحقق من جانب العميل تقلل بشكل كبير من استدعاءات API وتحسن التحقق من صحة النماذج.
رموز أنواع CUIT
أول رقمين من CUIT يشيران إلى نوع دافع الضرائب:
| نوع الكيان | رمز النوع | الوصف |
|---|---|---|
| شركة | 30 | الشركات وشركات ذات المسؤولية المحدودة والكيانات التجارية الأخرى |
| جمعية | 33 | الجمعيات غير الربحية |
| مؤسسة | 30 | المؤسسات الخيرية |
| مجتمع | 30 | الشراكات والهياكل المجتمعية الأخرى |
| حكومة | 30 | الكيانات الحكومية والمؤسسات العامة |
| شركة أجنبية | 30 | الشركات المؤسسة خارج الأرجنتين |
| فرد (ذكر) | 20 | الأفراد الذكور |
| فرد (أنثى) | 27 | الأفراد الإناث |
| صندوق استئماني | 30 | الكيانات الاستئمانية |
فهم هذه الرموز ضروري لإنشاء CUITs مناسبة لسيناريوهات الاختبار المختلفة.
استخدام مولد ومتحقق CUIT
توليد CUITs للاختبار
اختر نوع الكيان من القائمة المنسدلة (شركة، فرد، جمعية، إلخ)، ثم انقر على "توليد CUIT". ستحصل على رقم منسق بشكل صحيح مع الرقم التحقق، جاهز للنسخ في مجموعة الاختبار الخاصة بك.
سيناريو شائع: أنت تبني نموذج تسجيل مستخدم لمنصة تجارة إلكترونية أرجنتينية. تحتاج إلى اختبار كيفية تعامل النظام مع أنواع مختلفة من الكيانات—أصحاب العمل الفرديين (الأفراد)، والشركات، والشركات الأجنبية. بدلاً من حساب أرقام التحقق يدويًا أو المخاطرة ببيانات اختبار غير صالحة، قم بتوليد CUITs لكل نوع في ثوانٍ.
محدودية مهمة: هذه صالحة رياضيًا ولكن غير مسجلة مع AFIP. استخدمها حصريًا للاختبار والتطوير والأغراض التعليمية—لا تستخدمها أبدًا في وثائق رسمية أو معاملات حقيقية. استخدام معرفات ضريبية وهمية في أعمال حقيقية يعتبر احتيالًا بموجب القانون الأرجنتيني.
التحقق من أرقام CUIT
الصق أو اكتب أي CUIT في مجال التحقق وانقر على "التحقق من CUIT". يتحقق الأداة فورًا من:
- التوافق مع التنسيق: هل يتبع هيكل XX-XXXXXXXX-X؟
- دقة الرقم التحقق: هل الرقم الأخير صحيح رياضيًا؟
- صلاحية نوع الكيان: هل يبدأ برمز معترف به (20، 27، 30، 33)؟
ما لن يخبرك به: ما إذا كان CUIT مسجلًا فعليًا مع AFIP. للقيام بذلك، تحتاج إلى استخدام خدمة Constancia de Inscripción الرسمية من AFIP، والتي تستعلم عن قاعدة بيانات دافعي الضرائب. متحققنا يؤكد فقط الصحة الرياضية—فكر فيه كتدقيق للصياغة وليس بحث في قاعدة البيانات.
كيف يعمل خوارزمية رقم التحقق
يستخدم CUIT خوارزمية مرجحة بالباقي 11 للكشف عن أخطاء إدخال البيانات. هذا هو نفس النهج الرياضي المستخدم في العديد من أنظمة التعريف الدولية—فأكواد الكتب ISBN، وأرقام بطاقات الائتمان (خوارزمية لون)، وأرقام ضريبة القيمة المضافة الأوروبية تعتمد جميعها على منطق رقم التحقق المماثل.
إليك العملية خطوة بخطوة:
- خذ الأرقام العشرة الأولى (كل شيء باستثناء الرقم الأخير)
- اضرب كل موضع بوزنه: [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 لأنواع مختلفة من الكيانات (الشركات، الأفراد، الصناديق) لمحاكاة سيناريوهات العالم الحقيقي دون مخاطر قانونية.
اختبار ضمان الجودة للتحقق من النماذج
هل يرفض نموذج التسجيل الخاص بك CUITs ذات أرقام التحقق غير الصحيحة؟ هل يتعامل مع CUITs المدخلة بدون شرطات؟ هل يمكنه اكتشاف عند إدخال شخص ما CUIL بدلاً من CUIT؟ هذه الحالات الحدية مهمة عند معالجة آلاف التسجيلات. وجود متحقق يساعدك على صياغة حالات اختبار شاملة.
فهم أنظمة الضرائب اللاتينية الأمريكية
إذا كنت تتوسع إلى أسواق أمريكا اللاتينية المتعددة، فستواجه أنظمة معرفات ضريبية متشابهة ولكن مختلفة - CPF/CNPJ في البرازيل، RUT في تشيلي، NIT في كولومبيا. يوضح خوارزمية CUIT الأنماط الشائعة: بادئات نوع الكيان، والتحقق من الأرقام، والتحقق القائم على المتبقي. فهم نظام واحد يسرع تعلم الآخرين.
أمثلة التعليمات البرمجية للتحقق من CUIT وإنشائه
فيما يلي أمثلة التعليمات البرمجية التي توضح كيفية تنفيذ التحقق من CUIT وإنشائه في لغات برمجة مختلفة:
JavaScript
1// التحقق من CUIT في JavaScript
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')); // صحيح أو خطأ
40Python
1# إنشاء CUIT في Python
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// التحقق من CUIT في PHP
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?>
41Java
1// إنشاء وتحقق من CUIT في Java
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 في أوائل التسعينيات كجزء من الإصلاحات الاقتصادية الشاملة خلال إدارة الرئيس كارلوس مينيم. جاء التوقيت متزامنًا مع خطة قابلية العملة للأرجنتين، والتي ربطت البيزو بالدولار الأمريكي وتطلبت ضوابط مالية أكثر صرامة.
تطور النظام بسرعة:
- أوائل التسعينيات: تم إطلاقه للشركات والمهنيين المستقلين
- منتصف التسعينيات: تم توسيعه ليشمل الموظفين، مما أنشأ سجل دافعي ضرائب شاملًا
- أواخر التسعينيات: تكامل مع التقديم الإلكتروني - وهو إنجاز تقني مهم لتلك الحقبة
- من عام 2000 فصاعدًا: أصبح إلزاميًا للبنوك وعقود العمل والتجارة الإلكترونية
اليوم، لا يمكنك فتح حساب بنكي للشركات، أو توقيع عقد عمل، أو إصدار فواتير إلكترونية في الأرجنتين بدون CUIT. أصبح المعرف الأساسي للاقتصاد الرسمي بأكمله، على غرار أرقام الضمان الاجتماعي في الولايات المتحدة - مع وجود حماية قانونية أقوى للخصوصية وقيود الاستخدام وفقًا لقانون حماية البيانات الشخصية رقم 25,326 في الأرجنتين.
الأسئلة الشائعة
ما هو رقم CUIT في الأرجنتين؟
CUIT (Código Único de Identificación Tributaria) هو الرقم التعريفي الضريبي للأرجنتين للأفراد والشركات. وهو رمز مكون من 11 رقمًا بتنسيق XX-XXXXXXXX-X تخصصه AFIP (السلطة الضريبية الاتحادية) لكل من يحتاج إلى ممارسة نشاط اقتصادي رسمي - بدءًا من فتح حساب بنكي وحتى إصدار فواتير.
كيف يمكنني التحقق مما إذا كان CUIT حقيقيًا أو مزيفًا؟
يتحقق أداتنا من البنية الرياضية - التنسيق الصحيح، ورمز الكيان الصالح، والرقم التحققي الدقيق. ومع ذلك، لا يمكنه إخبارك ما إذا كان CUIT مسجلًا لدى AFIP. للتحقق الرسمي، استخدم خدمة Constancia de Inscripción الخاصة بـ AFIP التي تستعلم من قاعدة بياناتهم. فكر في أداتنا كمدقق إملائي: يلتقط أخطاء التنسيق لكنه لا يتحقق من الأصالة.
ما الفرق بين CUIT و CUIL؟
كلاهما يستخدم نفس التنسيق المكون من 11 رقمًا ونفس خوارزمية التحقق. الاختلاف:
- CUIT: للممولين الذين يزاولون أنشطة اقتصادية (الشركات، المهنيون المستقلون، العاملون لحسابهم الخاص)
- CUIL: للموظفين العاملين بموجب عقد عمل دون عمليات تجارية مستقلة
عمليًا، يستخدم العديد من الناس CUIL عند سؤالهم عن CUIT في النماذج، وغالبًا ما تقبل الأنظمة كليهما بالتبادل. الفرق التقني مهم أكثر في السياقات القانونية والمحاسبية أكثر من الاستخدام اليومي.
هل يمكنني استخدام CUITs المولدة في المعاملات الحقيقية؟
بالتأكيد لا. CUITs المولدة صالحة رياضيًا لكنها غير مسجلة لدى AFIP. استخدامها في الوثائق الرسمية أو العقود أو التصريحات الضريبية يعتبر احتيالًا بموجب القانون الأرجنتيني. استخدمها فقط في:
- تطوير البرمجيات والاختبار
- بيئات ضمان الجودة والتجريب
- العروض التعليمية
- التحقق من سلامة البيانات
لماذا ينطبق رمز النوع 30 على أنواع كيانات متعددة؟
بسطت AFIP تصنيف الكيانات من خلال تجميع الكيانات المماثلة تحت الرمز 30 (الشركات، المؤسسات، الوكالات الحكومية، الصناديق الاستئمانية). يحدث التمييز الفعلي للكيان في نظام التسجيل الداخلي لـ AFIP، وليس في CUIT نفسه. هذا الاختيار التصميمي أعطى الأولوية للبساطة على التصنيف الدقيق - وهو تبادل يجعل النظام أسهل في التنفيذ لكنه أقل توثيقًا ذاتيًا.
ما مدى دقة الرقم التحققي في اكتشاف الأخطاء؟
تلتقط خوارزمية الوزن modulo-11 حوالي 90٪ من أخطاء الرقم الواحد و98٪ من أخطاء التبديل (تبديل الأرقام المتجاورة). لن تلتقط جميع الأخطاء - على سبيل المثال، إذا قمت بتبديل رقمين يحدث أن لديهما نفس عوامل الوزن، فإن الرقم التحققي يظل صالحًا. لكن بالنسبة لأخطاء إدخال البيانات النموذجية، فهي فعالة للغاية.
هل تنتهي صلاحية CUITs أو تتغير؟
CUITs دائمة طوال حياة الممول. الاستثناءات تشمل:
- تغييرات الهوية الجنسانية (تسمح الأرجنتين بتحديث CUIT ليتوافق مع الجنس)
- إعادة الهيكلة القانونية الكبرى (قد تؤدي اندماجات الشركات إلى CUITs جديدة)
- الاحتيال أو سرقة الهوية (قد تبطل AFIP CUITs المعرضة للخطر)
على عكس بعض الدول حيث يتم تحديث أرقام التعريف الضريبية بشكل دوري، صممت الأرجنتين CUITs كمعرفات مدى الحياة لتقليل العبء الإداري.
ماذا يحدث إذا أدخلت CUIT بدون شرطات؟
تقبل معظم أنظمة الأرجنتين CUITs مع أو بدون شرطات - يقوم التحقق الأساسي بإزالة الأحرف التنسيقية قبل فحص الأرقام. يتعامل أداؤنا مع كلا التنسيقين: 30-12345678-1 و 30123456781 يعاملان بشكل متطابق. عند التكامل مع واجهات برمجة التطبيقات، تحقق من وثائقهم؛ بعضها يتطلب تنسيقًا دقيقًا بينما يقوم البعض الآخر بتطبيع الإدخال تلقائيًا.
هل يمكن للشركات الأجنبية الحصول على CUITs الأرجنتينية؟
نعم. تحصل الكيانات الأجنبية التي تزاول أعمالًا في الأرجنتين على CUITs باستخدام رمز النوع 30، مثل الشركات المحلية. يجب عليهم التسجيل لدى AFIP وعادة ما يحتاجون إلى ممثل قانوني محلي. يرتبط CUIT برقم التعريف الضريبي الأجنبي الخاص بهم في سجلات AFIP، مما يسمح بالامتثال لمعاهدات الضرائب عبر الحدود.
كيف يمكنني توليد CUITs اختبارية لأنواع كيانات مختلفة؟
حدد نوع الكيان من القائمة المنسدلة (شركة، ذكر/أنثى، جمعية، إلخ) وانقر على "توليد 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
-
اللجنة الاقتصادية لأمريكا اللاتينية والكاريبي التابعة للأمم المتحدة - "سياسة الضرائب في أمريكا اللاتينية: تقييم وإرشادات للإصلاح" جوميز سابايني، ج.س.، وموران، د. (2016) - تحليل مقارن لأنظمة الضرائب بما في ذلك الأرجنتين
-
مجلة إدارة الضرائب - بحث حول أنظمة التعريف الضريبية وخوارزميات الأرقام التحقق https://www.jota.website/
البدء مع التحقق من CUIT
سواء كنت تبني بوابة دفع للتجار الأرجنتينيين، أو تقوم بترحيل قواعد بيانات العملاء القديمة، أو تختبر توافق منصة التجارة الإلكترونية الخاصة بك مع متطلبات AFIP، يساعدك هذا الأداة على العمل مع CUITs بثقة.
قم بإنشاء بيانات اختبار لن تعطل بيئة التطوير الخاصة بك. تحقق من مجموعات البيانات قبل الترحيل. افهم الخوارزمية وراء نظام التعريف الضريبي الأرجنتيني.
لا مفاتيح API. لا حدود معدل. لا ميزات غير ضرورية. فقط إنشاء وتحقق موثوق من CUIT عندما تحتاج إليه.