Генератор и валидатор на аргентински CUIT/CUIL
Генерирайте валидни аргентински номера CUIT/CUIL за тестване или валидирайте съществуващи. Прост инструмент за разработчици, работещи с аргентински данъчни и трудови идентификационни номера.
Генератор на CUIT/CUIL
Въведете 8-цифрен номер на DNI или използвайте произволния генератор
Генериран CUIT/CUIL
Документация
Генератор и валидатор на аргентински CUIT/CUIL
Въведение
Аргентинският 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
Разбиране на формата
Валидният CUIT/CUIL номер се състои от 11 цифри, обикновено показвани във формата XX-XXXXXXXX-X:
-
Код на типа (първите 2 цифри): Показва типа на субекта
- 20, 23, 24: Мъже (CUIL)
- 27: Жени (CUIL)
- 30, 33, 34: Компании и организации (CUIT)
-
Номер на DNI (средните 8 цифри): За физически лица, това е номерът на техния национален идентификационен документ (DNI), допълнен с водещи нули, ако е необходимо, за да достигне 8 цифри. За компании, това е уникално присвоен номер.
-
Проверяваща цифра (последната цифра): Цифра за проверка, изчислена с помощта на специфичен алгоритъм, за да валидира целия номер.
Изчисление на проверяващата цифра
Проверяващата цифра се изчислява с помощта на следния алгоритъм:
- Вземете първите 10 цифри на CUIT/CUIL (код на типа + DNI)
- Умножете всяка цифра по съответстваща тежест от тази последователност: 5, 4, 3, 2, 7, 6, 5, 4, 3, 2
- Сумирайте всички получени произведения
- Изчислете 11 минус остатъка от сумата, разделена на 11
- Ако резултатът е 11, проверяващата цифра е 0
- Ако резултатът е 10, проверяващата цифра е 9
- В противен случай, резултатът е проверяващата цифра
Математически, това може да бъде изразено като:
Където:
- е проверяващата цифра
- е -та цифра от първите 10 цифри
- е съответстващата тежест от последователността [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
- Специални случаи: ако , тогава , ако , тогава
Стъпка по стъпка ръководство
Използване на генератора
-
Изберете таба "Генератор" в горната част на интерфейса на инструмента.
-
Изберете код на типа от падащото меню:
- 20: Мъж (CUIL)
- 23: Бизнес (CUIT)
- 24: Временен бизнес (CUIT)
- 27: Жена (CUIL)
- 30: Корпорация (CUIT)
- 33: Гражданска асоциация (CUIT)
- 34: Фондация (CUIT)
-
Въведете номер на DNI (по избор):
- Въведете 8-цифрен номер на DNI в предоставеното поле
- Ако оставите празно, инструментът ще използва произволно генериран DNI
- Ако въведете по-малко от 8 цифри, системата ще добави водещи нули
-
Генерирайте произволен DNI (по избор):
- Кликнете върху бутона "Произволен", за да генерирате произволен 8-цифрен номер на DNI
-
Вижте генерирания CUIT/CUIL:
- Инструментът автоматично показва валиден CUIT/CUIL на базата на вашите входни данни
- Форматът ще бъде XX-XXXXXXXX-X с правилната проверяваща цифра
-
Копирайте резултата:
- Кликнете върху иконата за копиране, за да копирате генерирания CUIT/CUIL в клипборда си
- Съобщение за потвърждение ще се появи, когато успешно копирате
Използване на валидатора
-
Изберете таба "Валидатор" в горната част на интерфейса на инструмента.
-
Въведете CUIT/CUIL за валидиране:
- Въведете CUIT/CUIL във формата XX-XXXXXXXX-X
- Инструментът автоматично ще форматира вашия вход с тирета, докато пишете
- Можете също да въведете номера без тирета (XXXXXXXXXXX)
-
Кликнете върху бутона "Валидирай":
- Инструментът ще провери формата, кода на типа и проверяващата цифра
-
Вижте резултата от валидирането:
- За валидни CUIT/CUIL номера ще се появи зелено съобщение за успех
- За невалидни номера, червено съобщение за грешка ще обясни проблема:
- Невалиден формат (трябва да бъде XX-XXXXXXXX-X)
- Невалиден код на типа (трябва да бъде един от: 20, 23, 24, 27, 30, 33, 34)
- Невалидна проверяваща цифра
-
Допълнителна информация:
- За валидни номера, инструментът показва разбивка на компонентите:
- Код на типа и неговото значение
- Номер на DNI
- Проверяваща цифра
- За валидни номера, инструментът показва разбивка на компонентите:
Сценарии на употреба
Разработка и тестване
-
Софтуерна разработка: Генерирайте валидни CUIT/CUIL номера, за да тествате приложения, които обработват аргентински данъчни идентификатори, като:
- Платформи за електронна търговия
- Счетоводен софтуер
- Системи за управление на човешките ресурси
- Портали за правителствени услуги
- Банкови приложения
-
Попълване на база данни: Създайте реалистични тестови данни за системи, които съхраняват информация за аргентински потребители, за да се уверите, че ограниченията на базата данни и правилата за валидиране работят правилно.
-
Тестване на валидиране на формуляри: Тествайте валидирането на входа за уеб формуляри, които събират информация за CUIT/CUIL, проверявайки, че правилните съобщения за грешка се появяват за невалидни записи.
-
Тестване на API: Генерирайте валидни полезни товари за API крайни точки, които изискват номера на CUIT/CUIL, уверявайки се, че вашите интеграционни тестове използват валидни данни.
-
Автоматизация на QA: Включете генерирането на CUIT/CUIL в автоматизирани тестови скриптове, за да създадете динамични тестови случаи, вместо да използвате статични тестови данни.
Образователни цели
-
Научаване на алгоритми за валидиране: Разберете как работят алгоритмите за проверка в практиката, като видите процеса на валидиране на CUIT/CUIL в действие.
-
Обучение за валидиране на данни: Използвайте като образователен пример при преподаването на техники за валидиране на формуляри на нови разработчици.
-
Разбиране на аргентинските бизнес изисквания: Научете за идентификационната система, използвана в Аржентина за международно бизнес развитие.
Алтернативи
Докато нашият инструмент предлага прост начин за генериране и валидиране на CUIT/CUIL номера, има алтернативни подходи, които можете да обмислите:
-
Официална правителствена валидизация: За производствени среди винаги валидирайте CUIT/CUIL номера срещу официалната база данни на AFIP (Administración Federal de Ingresos Públicos), когато е възможно.
-
Библиотеки и пакети: Няколко програмни езика имат библиотеки, специално проектирани за валидиране на аргентински данъчни идентификатори:
- JavaScript:
validar-cuit
npm пакет - PHP:
afip-php
библиотека - Python:
py-cuit
пакет
- JavaScript:
-
Ръчно изчисление: За образователни цели можете да изчислите проверяващата цифра ръчно, използвайки описания алгоритъм.
-
Всеобхватни услуги за валидиране на бизнес: За корпоративни приложения, обмислете използването на всеобхватни услуги за валидиране, които не само проверяват формата, но и валидират съществуването и статуса на субекта, свързан с CUIT/CUIL.
История на системата CUIT/CUIL
Системата за идентификация CUIT/CUIL в Аржентина е преминала значителна еволюция от създаването си:
Произход и внедряване
CUIT (Clave Única de Identificación Tributaria) беше първоначално въведен в Аржентина през 70-те години на миналия век в рамките на усилията за модернизиране на системата за събиране на данъци. Федералната администрация на публичните приходи (AFIP) внедри този уникален идентификатор, за да проследява данъкоплатците по-ефективно и да намали данъчната измама.
CUIL (Clave Única de Identificación Laboral) беше въведен по-късно, за да идентифицира конкретно работниците в системата за социално осигуряване, създавайки разлика между данъчната идентификация и трудовата идентификация, като същевременно запазва последователен формат.
Еволюция и цифровизация
През 90-те години, когато Аржентина премина през значителни икономически реформи, системата CUIT/CUIL стана все по-важна за проследяване на икономическата активност. Системата беше допълнително цифровизирана и бяха внедрени онлайн системи за проверка.
Началото на 2000-те години доведе до интеграцията на системата CUIT/CUIL с различни цифрови правителствени услуги, което я направи основен компонент на инициативите за електронно правителство на Аржентина. Този период също така видя стандартизация на алгоритъма за проверка и формата, които остават в употреба и до днес.
Последни развития
През последните години AFIP подобри процесите за сигурност и валидиране на номерата CUIT/CUIL, внедрявайки по-сложни системи за проверка и интегрирайки ги с други правителствени бази данни. Системата сега играе решаваща роля в усилията на Аржентина да се бори с данъчната измама и да формализира икономиката.
Днес CUIT/CUIL се използва не само за данъчни и трудови цели, но и за широк спектър от дейности, включително банкови операции, сделки с имоти, услуги за комунални услуги и онлайн покупки, което го прави съществен идентификатор за физически лица и бизнеси, опериращи в Аржентина.
Примери за код
Python
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, ако не е предоставен
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
JavaScript
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, ако не е предоставен
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
Java
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, ако не е предоставен
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
PHP
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, ако не е предоставен
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 и CUIL?
CUIT (Clave Única de Identificación Tributaria) се използва за данъчна идентификация и се присвоява на физически лица и юридически лица, които трябва да плащат данъци в Аржентина. CUIL (Clave Única de Identificación Laboral) е специфичен за работниците и се използва за трудови и социалноосигурителни цели. Въпреки че споделят същия формат и алгоритъм за изчисление, те служат за различни административни цели.
Кои кодове на типа се използват за физически лица и кои за компании?
За физически лица:
- 20, 23, 24: Мъже (CUIL)
- 27: Жени (CUIL)
За компании и организации:
- 30: Корпорации (CUIT)
- 33: Граждански асоциации (CUIT)
- 34: Фондации (CUIT)
Как се изчислява проверяващата цифра?
Проверяващата цифра се изчислява с алгоритъм за теглене. Всяка от първите 10 цифри се умножава по съответстваща тежест (5, 4, 3, 2, 7, 6, 5, 4, 3, 2), а резултатите се сумират. Проверяващата цифра е 11 минус остатъка, когато тази сума се раздели на 11. Специални случаи: ако резултатът е 11, проверяващата цифра е 0; ако резултатът е 10, проверяващата цифра е 9.
Мога ли да използвам този инструмент, за да генерирам реални, официални CUIT/CUIL номера?
Не, този инструмент е предназначен само за тестови и образователни цели. Генерираните номера са математически валидни според алгоритъма на CUIT/CUIL, но не са официално регистрирани в аргентинските данъчни власти (AFIP). За официална регистрация на CUIT/CUIL, физическите лица и компаниите трябва да следват правилните законови процедури чрез AFIP.
Защо валидирането на моя CUIT/CUIL не успява, въпреки че форматът изглежда правилен?
Валидирането може да не успее по няколко причини:
- Кодът на типа не е един от валидните кодове (20, 23, 24, 27, 30, 33, 34)
- Проверяващата цифра не съвпада с изчислената стойност на базата на алгоритъма
- Форматът е неправилен (трябва да бъде XX-XXXXXXXX-X)
- Има нецифрови символи в входа (освен тирета)
Нужни ли са тирета в CUIT/CUIL номерата?
Докато CUIT/CUIL номерата обикновено се пишат и показват с тирета (XX-XXXXXXXX-X), тиретата не са част от действителния номер за целите на изчислението. Нашият валидатор приема и двата формата (с или без тирета) и ще валидира правилно всеки формат.
Може ли CUIT/CUIL номер да има по-малко от 8 цифри в частта DNI?
Не, частта DNI винаги трябва да бъде точно 8 цифри. Ако действителният DNI има по-малко цифри, той трябва да бъде допълнен с водещи нули, за да достигне 8 цифри. Например, ако номерът на DNI на някого е 1234567, в CUIT/CUIL той ще бъде представен като 01234567.
Как мога да проверя дали CUIT/CUIL е официално регистриран в Аржентина?
За да проверите дали CUIT/CUIL е официално регистриран и активен, трябва да използвате официалния уебсайт или услуги на AFIP (Administración Federal de Ingresos Públicos). Нашият инструмент само проверява математическата валидност на номера, а не неговия официален статус на регистрация.
Мога ли да използвам този инструмент в търговското си приложение?
Да, можете да интегрирате алгоритъма и логиката, демонстрирани в този инструмент, в търговските си приложения. Алгоритъмът за валидиране на CUIT/CUIL е обществен стандарт. Въпреки това, за производствени среди, препоръчваме да внедрите правилно обработване на грешки и да обмислите допълнителна валидизация срещу официални източници, когато е необходимо.
Съхранява ли инструментът някои от генерираните или валидирани 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/
-
Официален бюлетин на Република Аржентина. "Резолюция Генерал AFIP 2854/2010: Процедура. Clave Única de Identificación Tributaria (C.U.I.T.)."
-
Данъчен кодекс на Република Аржентина. "Идентификация и регистрация на данъкоплатци."
Готови ли сте да генерирате или валидирате аргентински CUIT/CUIL номера? Опитайте нашия инструмент сега и опростете процеса на тестване!
Обратна връзка
Щракнете върху тост за обратна връзка, за да започнете да давате обратна връзка за този инструмент
Свързани инструменти
Открийте още инструменти, които могат да бъдат полезни за вашия работен процес