מחולל ומאמת 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 של ארגנטינה וכיצד הוא חשוב?
כל יחיד ועסק בארגנטינה זקוקים ל-CUIT (Código Único de Identificación Tributaria) כדי לתקשר עם רשות המס של המדינה, AFIP (הרשות הפדרלית להכנסות ציבוריות). חשוב לראות זאת כמו מספר זיהוי מס של ארגנטינה - ללא CUIT אין עסקאות רשמיות, חשבונות בנק או הגשות מס.
כאשר אתה בונה יישומים המטפלים בנתונים פיננסיים ארגנטיניים, תיתקל במהרה בבעיות אימות מסובכות. האם ה-CUIT עוקב אחר הפורמט הנכון? האם ספרת הביקורת מחושבת בצורה נכונה? איזה קוד סוג ישות יש להשתמש לבדיקות? שאלות אלה עולות באופן קבוע במהלך הפיתוח ובדיקות האיכות.
מה שקורה בדרך כלל הוא שמפתחים או מדלגים על אימות CUIT לחלוטין (תוך סיכון בשלמות הנתונים) או מבזבזים זמן בהפקת מספרים ידנית לבדיקה שעלולים שלא להיות תקפים מבחינה מתמטית. כלי זה פותר את שתי הבעיות על ידי יצירת CUIT בפורמט נכון עבור כל סוג ישות ואימות מספרים קיימים כנגד האלגוריתם הרשמי של ארגנטינה.
מבנה מספרי CUIT
מבנה CUIT של ארגנטינה מורכב מ-11 ספרות בתבנית ספציפית: XX-XXXXXXXX-X
פירוק המבנה:
- שתי הספרות הראשונות: מציין סוג ישות (כמו 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, אשר שואל את מסד הנתונים של משלמי המסים. המאמת שלנו רק מאשר תקינות מתמטית—תחשוב על כך כמו בדיקת תחביר ולא כחיפוש במסד נתונים.
כיצד פועל אלגוריתם ספרת הביקורת
CUIT משתמש באלגוריתם מודולו-11 משוקלל כדי לזהות שגיאות בהזנת נתונים. זהו אותו גישה מתמטית המשמשת במערכות זיהוי בינלאומיות רבות - קודי ספרים ISBN, מספרי כרטיסי אשראי (אלגוריתם לון), ומספרי מע"מ אירופיים כולם מסתמכים על לוגיקה דומה של ספרת ביקורת.
הנה התהליך שלב אחר שלב:
- קח את 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 בשפות תכנות שונות:
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')); // true או false
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
לפני שנות ה-90, זיהוי המס בארגנטינה היה מפוצל - סוכנויות שונות השתמשו במערכות מספור לא תואמות, מה שהקשה על מעקב אחר משלמי מסים במאגרי מידע שונים. התחמקות ממסים הייתה נפוצה, בין היתר בשל חוסר האחידות שהקשה על אכיפה.
AFIP הציגה את ה-CUIT בתחילת שנות ה-90 כחלק מרפורמות כלכליות רחבות יותר בתקופת נשיאותו של קרלוס מנם. העיתוי תאם את תכנית ההמרה של המטבע, אשר קבעה את הפזו בהתאמה לדולר האמריקאי ודרשה בקרות פיסקליות מחמירות יותר.
המערכת התפתחה במהירות:
- תחילת שנות ה-90: הופעלה עבור עסקים ועצמאים
- אמצע שנות ה-90: הורחבה לעובדים, ויצרה רישום אוניברסלי של משלמי מסים
- סוף שנות ה-90: שולבה עם הגשה אלקטרונית - הישג טכנולוגי משמעותי לתקופה
- משנות ה-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. השימוש בהם במסמכים רשמיים, חוזים או הגשות מס הוא הונאה על פי החוק הארגנטיני. השתמש בהם רק עבור:
- פיתוח תוכנה ובדיקות
- סביבות QA ו-staging
- הדגמות חינוכיות
- אימות שלמות נתונים
מדוע קוד סוג 30 חל על סוגי ישויות מרובים?
AFIP פישטה סיווג ישויות על ידי קיבוץ ישויות דומות תחת קוד 30 (חברות, קרנות, סוכנויות ממשלתיות, נאמנויות). הבחנת סוג הישות בפועל מתרחשת במערכת הרישום הפנימית של AFIP, ולא ב-CUIT עצמו. בחירת עיצוב זו העדיפה פשטות על פני סיווג מפורט - פשרה שהופכת את המערכת לקלה יותר ליישום אך פחות עצמית-תיעודית.
כמה מדויקת ספרת הביקורת בתפיסת שגיאות?
האלגוריתם המשוקלל של מודולו-11 תופס כ-90% משגיאות ספרה בודדת ו-98% משגיאות החלפה (החלפת ספרות סמוכות). הוא לא יתפוס את כל השגיאות - למשל, אם תחליף שתי ספרות שבמקרה להן גורמי משקל זהים, ספרת הביקורת תישאר תקפה. אך עבור שגיאות הזנת נתונים טיפוסיות, הוא יעיל מאוד.
האם CUITs פגים או משתנים?
CUITs הם קבועים לאורך חיי משלם המס. יוצאים מן הכלל כוללים:
- שינויי זהות מגדרית (ארגנטינה מאפשרת עדכון CUIT להתאמה למגדר)
- שינויים משפטיים מהותיים (מיזוגי חברות עשויים להוביל ל-CUITs חדשים)
- הונאה או גניבת זהות (AFIP עשויה לבטל CUITs מסוכנים)
בניגוד למדינות מסוימות שבהן מספרי מס מרעננים באופן תקופתי, ארגנטינה תכננה CUITs כמזהים לכל החיים כדי להפחית עומס מנהלתי.
מה קורה אם אזין CUIT ללא מקפים?
רוב המערכות הארגנטיניות מקבלות CUITs עם או בלי מקפים - האימות הבסיסי מסיר תווי עיצוב לפני בדיקת הספרות. המאמת שלנו מטפל בשני הפורמטים: 30-12345678-1 ו-30123456781 מטופלים באופן זהה. בעת שילוב עם API, בדוק את התיעוד שלהם; חלקם דורשים עיצוב מדויק בעוד אחרים מנרמלים קלט באופן אוטומטי.
האם חברות זרות יכולות לקבל 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
-
ועדה כלכלית של האו"ם למרכז אמריקה ודרום אמריקה (ECLAC) - "מדיניות מס באמריקה הלטינית: הערכה והנחיות לרפורמה" גומז סבאיני, ג'., ומורן, ד. (2016) - ניתוח השוואתי של מערכות מס הכולל את ארגנטינה
-
כתב עת למינהל מיסוי - מחקר על מערכות זיהוי מס ואלגוריתמי ספרת בדיקה https://www.jota.website/
התחלת עבודה עם אימות CUIT
בין אם אתה בונה שער תשלומים עבור סוחרים ארגנטינאים, מבצע העברה של מסדי נתוני לקוחות ישנים, או בודק את תאימות פלטפורמת המסחר האלקטרוני שלך לדרישות AFIP, כלי זה יעזור לך לעבוד עם CUITs בביטחון.
צור נתוני בדיקה שלא יפגעו בסביבת הפיתוח שלך. אמת מערכי נתונים לפני העברה. הבן את האלגוריתם מאחורי מערכת הזיהוי המס של ארגנטינה.
ללא מפתחות API. ללא הגבלות קצב. ללא תכונות מיותרות. רק יצירה ואימות CUIT אמינים כאשר אתה צריך.