Ģenerējiet derīgus Argentīnas CUIT numurus (nodokļu identifikācijas kodus) un validējiet esošos ar šo vienkāršo rīku, kas paredzēts testēšanas scenārijiem. Nav sarežģītu funkciju, tikai vienkārša CUIT ģenerēšana un validācija.
Vienkāršs rīks Argentīnas nodokļu identifikācijas kodu (CUIT) ģenerēšanai un validēšanai testēšanas nolūkiem.
Formāts: XX-XXXXXXXX-X
CUIT (Código Único de Identificación Tributaria) ir nodokļu identifikācijas kods, ko izmanto Argentīnā fiziskām un juridiskām personām.
CUIT (Código Único de Identificación Tributaria) ir Argentīnas unikālais nodokļu identifikācijas kods, kas ir svarīgs identifikators visiem nodokļu maksātājiem Argentīnas nodokļu sistēmā. Šis būtiskais skaitlis kalpo kā galvenais identifikators fiziskām un juridiskām personām, mijiedarbojoties ar AFIP (Federālā ieņēmumu administrācija) un veicot biznesa operācijas visā Argentīnā. Mūsu Argentīnas CUIT ģeneratora un validētāja rīks nodrošina vienkāršu, efektīvu risinājumu matemātiski derīgu CUIT ģenerēšanai testēšanas nolūkiem un esošo CUIT numuru validēšanai.
Neatkarīgi no tā, vai esat izstrādātājs, kas testē lietojumprogrammas, kas apstrādā Argentīnas nodokļu informāciju, QA speciālists, kas pārbauda datu integritāti, vai biznesa analītiķis, kas sagatavo testēšanas datu kopas, šis rīks vienkāršo CUIT numuru apstrādes procesu bez API integrāciju vai nevajadzīgu funkciju sarežģītības.
Argentīnas CUIT seko specifiskam formātam, kas sastāv no 11 cipariem, kas sakārtoti šādi:
1XX-XXXXXXXX-X
2
Šis standartizētais formāts var tikt sadalīts trīs atšķirīgās sastāvdaļās:
Pirmie divi cipari CUIT norāda nodokļu maksātāja veidu:
Subjekta veids | Veida kods | Apraksts |
---|---|---|
Uzņēmums | 30 | Korporācijas, SIA un citi biznesa subjekti |
Asociācija | 33 | Bezpeļņas asociācijas |
Fonds | 30 | Labdarības fondi |
Sabiedrība | 30 | Partnerības un citu sabiedrību struktūras |
Valdība | 30 | Valdības iestādes un publiskas institūcijas |
Ārzemju uzņēmums | 30 | Uzņēmumi, kas atrodas ārpus Argentīnas |
Individuāls (vīrietis) | 20 | Vīriešu indivīdi |
Individuāls (sieviete) | 27 | Sieviešu indivīdi |
Uzticība | 30 | Uzticības subjekti |
Šo veidu kodu izpratne ir būtiska, lai ģenerētu atbilstošus CUIT testēšanas scenārijiem.
Mūsu rīks piedāvā divas galvenās funkcijas: derīgu CUIT ģenerēšanu un esošo validēšanu. Šeit ir norādīts, kā efektīvi izmantot katru funkciju:
Ģeneratora radītie CUIT ir nejauši, taču matemātiski derīgi, un tie atbilst oficiālajai algoritmai, ko izmanto AFIP. Šie CUIT ir ideāli piemēroti testēšanas sistēmām, kurām nepieciešami derīgi CUIT formāti, lai gan tie nav reģistrēti oficiālajās datu bāzēs.
Validētājs pārbauda gan formātu, gan matemātisko derīgumu, pārbaudot, vai pārbaudes cipars atbilst aprēķinātajai vērtībai, pamatojoties uz iepriekšējiem cipariem.
Verifikācijas cipars (pēdējais cipars) CUIT tiek aprēķināts, izmantojot specifisku algoritmu, kas izstrādāts, lai atklātu bieži sastopamas datu ievades kļūdas. Šī algoritma izpratne palīdz izskaidrot, kā mūsu rīks validē CUIT:
Aprēķletim verifikācijas cipara vērtību CUIT ar veida kodu 30 un identifikācijas numuru 12345678:
Tādējādi pilnīgais derīgais CUIT ir 30-12345678-1.
Argentīnas CUIT ģeneratora un validētāja rīks kalpo vairākiem praktiskiem mērķiem dažādās profesionālās jomās:
Šie koda piemēri demonstrē, kā īstenot CUIT validēšanu un ģenerēšanu dažādās programmēšanas valodās:
1// CUIT validācija JavaScript
2function validateCUIT(cuit) {
3 // Noņemiet visus neciparu simbolus
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Pārbaudiet, vai tam ir tieši 11 cipari
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Izvelciet daļas
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // Aprēķiniet verifikācijas ciparu
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// Piemēra izmantošana
39console.log(validateCUIT('30-12345678-1')); // true vai false
40
1# CUIT ģenerēšana Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Definējiet subjekta veidu kodus
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 # Iegūstiet veida kodu izvēlētajam subjektam
19 type_code = entity_types.get(entity_type, 30)
20
21 # Ģenerējiet nejaušu 8 ciparu skaitli
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Aprēķiniet verifikācijas ciparu
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 # Formatējiet un atgrieziet CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Piemēra izmantošana
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// CUIT validācija PHP
3function validateCUIT($cuit) {
4 // Noņemiet visus neciparu simbolus
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Pārbaudiet, vai tam ir tieši 11 cipari
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Izvelciet daļas
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Aprēķiniet verifikācijas ciparu
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// Piemēra izmantošana
39echo validateCUIT('30-12345678-1') ? 'Derīgs' : 'Nederīgs';
40?>
41
1// CUIT ģenerēšana un validācija Java
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Subjekta veidu kodi
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 // Ģenerēt derīgu CUIT
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Noteikt veida kodu atkarībā no subjekta veida
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 // Ģenerējiet nejaušu 8 ciparu skaitli
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 // Aprēķiniet verifikācijas ciparu
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Formatējiet un atgrieziet CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Aprēķiniet verifikācijas ciparu
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 // Validēt CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Noņemiet visus neciparu simbolus
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Pārbaudiet, vai tam ir tieši 11 cipari
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Izvelciet verifikācijas ciparu
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Aprēķiniet sagaidāmo verifikācijas ciparu
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Salīdziniet verifikācijas ciparus
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Piemēra izmantošana
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("Ģenerētais CUIT: " + generatedCUIT);
92 System.out.println("Ir derīgs: " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Validēt CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Noņemiet visus neciparu simbolus
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Pārbaudiet, vai tam ir tieši 11 cipari
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Izvelciet verifikācijas ciparu
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Aprēķiniet sagaidāmo verifikācijas ciparu
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 // Formatēt CUIT ar pareiziem atdalītājiem
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; // Atgriezt oriģinālo, ja nav 11 ciparu
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
CUIT sistēma tika izveidota Argentīnā 1990. gadu sākumā kā daļa no plašāka nodokļu reformas pasākuma, kura mērķis bija modernizēt valsts fiskālo infrastruktūru un samazināt nodokļu izvairīšanos. Federālā ieņēmumu administrācija (AFIP), Argentīnas nodokļu iestāde, ieviesa CUIT kā standartizētu identifikācijas sistēmu visiem nodokļu maksātājiem.
Pirms CUIT ieviešanas Argentīnā tika izmantotas dažādas nesakārtotas identifikācijas sistēmas dažādiem nodokļu maksātājiem, kas padarīja nodokļu administrēšanu neefektīvu un radīja iespējas neievērošanai. CUIT apvienoja šīs sistēmas vienā, pārbaudāmā identifikatorā, ko var izmantot visās nodokļu saistītās aktivitātēs.
Galvenie notikumi CUIT sistēmas attīstībā ietver:
CUIT ir kļuvis par būtisku Argentīnas ekonomikas un finanšu sistēmas elementu, kalpojot ne tikai nodokļu nolūkiem, bet arī banku, nodarbinātības, sociālās apdrošināšanas un biznesa darījumiem.
CUIT (Código Único de Identificación Tributaria) ir Argentīnas unikālais nodokļu identifikācijas kods, kas piešķirts fiziskām un juridiskām personām nodokļu nolūkos. Tam ir 11 ciparu formāts XX-XXXXXXXX-X, kur pirmajiem diviem cipariem ir subjekta veida norāde, vidējiem astoņiem cipariem ir identifikācijas numurs, un pēdējais cipars ir verifikācijas cipars.
Derīgs CUIT ir jā:
Mūsu CUIT validētāja rīks var nekavējoties pārbaudīt, vai CUIT atbilst šīm prasībām.
Lai gan tie ir līdzīgi formātā, CUIT un CUIL kalpo dažādiem mērķiem:
Abiem ir tāds pats formāts un verifikācijas algoritms, taču tie tiek izmantoti dažādos kontekstos.
Nē. Šī rīka ģenerētie CUIT ir matemātiski derīgi, taču tie nav reģistrēti AFIP oficiālajā datu bāzē. Tie jāizmanto tikai testēšanas, izstrādes vai izglītības nolūkos. Fiktīvu CUIT izmantošana oficiālos dokumentos vai darījumos var būt krāpšana.
AFIP ir piešķīrusi to pašu veida kodu (30) vairākiem subjekta veidiem, tostarp uzņēmumiem, fondiem un valdības iestādēm. Tas ir daļa no oficiālās klasifikācijas sistēmas un neietekmē CUIT derīgumu. Konkrētais subjekta veids tiek noteikts, pamatojoties uz papildu reģistrācijas informāciju AFIP sistēmās.
CUIT ir pastāvīgi identifikatori, kas parasti nemainās fiziskas personas vai juridiskas personas dzīves laikā. Tomēr dažos specifiskos gadījumos, piemēram, mainoties juridiskajam statusam vai dzimuma maiņai, var piešķirt jaunu CUIT.
Jā, bet ne caur mūsu rīku. AFIP sniedz oficiālu pakalpojumu, ko sauc par "Constancia de Inscripción" savā vietnē, kur varat pārbaudīt, vai CUIT ir oficiāli reģistrēts un aktīvs. Mūsu rīks tikai validē CUIT matemātisko pareizību.
Biežākās kļūdas ietver:
Mūsu validētājs palīdz identificēt šīs problēmas, pārbaudot gan formātu, gan matemātisko derīgumu.
Mūsu rīks ļauj jums izvēlēties no dažādiem subjekta veidiem, pirms ģenerējat CUIT. Vienkārši izvēlieties atbilstošo subjekta veidu no nolaižamā saraksta un noklikšķiniet uz "Ģenerēt CUIT". Rīks automātiski izmantos pareizo veida kodu jūsu izvēlei.
Nē, mūsu rīks neuzliek ierobežojumus CUIT skaitam, ko varat ģenerēt vai validēt. Tas ir izstrādāts ērtībai testēšanas un izglītības scenārijos, kur jums var būt nepieciešami vairāki derīgi CUIT.
Administrācija Federālā de Ingresos Públicos (AFIP). "Identificación Tributaria." https://www.afip.gob.ar/
Ekonomikas ministrija Argentīnas Republika. "Argentīnas nodokļu sistēma." https://www.argentina.gob.ar/economia
Likums 11.683 par nodokļu procedūrām. Oficiālais biļetens Argentīnas Republikā.
Vispārējā rezolūcija AFIP 1817/2005. "Reģistrācijas un reģistrācijas procedūras."
Chicote, J. (2018). "Nodokļu identifikācijas sistēmas Latīņamerikā: salīdzinoša analīze." Nodokļu administrācijas žurnāls, 4(1), 88-106.
Gómez Sabaini, J.C., & Morán, D. (2016). "Nodokļu politika Latīņamerikā: novērtējums un reformas vadlīnijas." Apvienoto Nāciju Organizācijas Ekonomikas komisija Latīņamerikai un Karību jūras reģionam (ECLAC).
Argentīnas CUIT ģeneratora un validētāja rīks nodrošina vienkāršu, efektīvu risinājumu, lai strādātu ar Argentīnas nodokļu identifikācijas kodiem testēšanas un izstrādes vidēs. Izprotot CUIT struktūru, formātu un verifikācijas algoritmu, lietotāji var nodrošināt datu integritāti un atbilstību Argentīnas nodokļu identifikācijas standartiem.
Neatkarīgi no tā, vai jūs izstrādājat programmatūru, kas mijiedarbojas ar Argentīnas finanšu sistēmām, testējat datu validācijas rutīnas vai vienkārši mācāties par starptautiskajām nodokļu identifikācijas sistēmām, mūsu rīks piedāvā nepieciešamās funkcionalitātes bez nevajadzīgas sarežģītības.
Pamēģiniet ģenerēt CUIT tagad vai validējiet esošo, lai paši piedzīvotu mūsu rīka vienkāršību un efektivitāti.
Atklājiet vairāk rīku, kas varētu būt noderīgi jūsu darbplūsmai