Generați numere CUIT valide din Argentina (coduri de identificare fiscală) și validați cele existente cu acest instrument simplu conceput pentru scenarii de testare. Fără caracteristici complexe, doar generare și validare CUIT directă.
Un instrument simplu pentru a genera și valida coduri de identificare fiscală argentiniene (CUIT) în scopuri de testare.
Format: XX-XXXXXXXX-X
CUIT (Cod Unic de Identificare Fiscală) este codul de identificare fiscală utilizat în Argentina pentru persoane fizice și entități legale.
CUIT (Código Único de Identificación Tributaria) este Codul Unic de Identificare Fiscală al Argentinei, un identificator esențial pentru toți contribuabilii din sistemul fiscal argentinian. Acest cod numeric esențial servește ca principal identificator pentru persoane fizice și entități juridice atunci când interacționează cu AFIP (Administrația Federală a Veniturilor Publice) și desfășoară operațiuni comerciale în întreaga Argentină. Instrumentul nostru Generator și Validator CUIT Argentina oferă o soluție simplă și eficientă pentru generarea de CUIT-uri valide din punct de vedere matematic pentru scopuri de testare și validarea numerelor CUIT existente.
Indiferent dacă ești un dezvoltator care testează aplicații ce procesează informații fiscale argentiniene, un specialist QA care verifică integritatea datelor sau un analist de afaceri care pregătește seturi de date pentru teste, acest instrument simplifică procesul de lucru cu numerele CUIT fără complexitatea integrărilor API sau caracteristicilor inutile.
CUIT-ul argentinian urmează un format specific constând din 11 cifre aranjate astfel:
1XX-XXXXXXXX-X
2
Acest format standardizat poate fi împărțit în trei componente distincte:
Primele două cifre ale unui CUIT indică tipul de contribuabil:
Tip de entitate | Cod de tip | Descriere |
---|---|---|
Companie | 30 | Corporații, LLC-uri și alte entități de afaceri |
Asociație | 33 | Asociații non-profit |
Fundație | 30 | Fundații caritabile |
Societate | 30 | Parteneriate și alte structuri de societate |
Guvern | 30 | Entități guvernamentale și instituții publice |
Companie străină | 30 | Companii din afara Argentinei |
Persoană fizică (Bărbat) | 20 | Persoane fizice de sex masculin |
Persoană fizică (Femeie) | 27 | Persoane fizice de sex feminin |
Trust | 30 | Entități de tip trust |
Înțelegerea acestor coduri de tip este esențială pentru generarea de CUIT-uri corespunzătoare pentru diferite scenarii de testare.
Instrumentul nostru oferă două funcții principale: generarea de CUIT-uri valide și validarea celor existente. Iată cum să folosești fiecare caracteristică eficient:
Generatorul creează CUIT-uri valide din punct de vedere matematic, dar aleatorii, care urmează algoritmul oficial utilizat de AFIP. Aceste CUIT-uri sunt perfecte pentru testarea sistemelor care necesită formate valide de CUIT, deși nu sunt înregistrate în bazele de date oficiale.
Validatorul verifică atât formatul, cât și validitatea matematică a CUIT-ului, verificând dacă cifra de verificare se potrivește cu valoarea calculată pe baza cifrelor anterioare.
Cifra de verificare (ultima cifră) a unui CUIT este calculată folosind un algoritm specific conceput pentru a detecta erori comune în introducerea datelor. Înțelegerea acestui algoritm ajută la explicarea modului în care instrumentul nostru validează CUIT-urile:
Să calculăm cifra de verificare pentru un CUIT cu cod de tip 30 și numărul de identificare 12345678:
Prin urmare, CUIT-ul complet valid este 30-12345678-1.
Instrumentul Generator și Validator CUIT Argentina servește mai multor scopuri practice în diferite contexte profesionale:
Următoarele exemple de cod demonstrează cum să implementezi validarea și generarea CUIT-ului în diferite limbaje de programare:
1// Validarea CUIT-ului în JavaScript
2function validateCUIT(cuit) {
3 // Elimină orice caracter non-digital
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Verifică dacă are exact 11 cifre
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Extrage părțile
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // Calculează cifra de verificare
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// Exemplu de utilizare
39console.log(validateCUIT('30-12345678-1')); // true sau false
40
1# Generarea CUIT-ului în Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Definirea codurilor de tip de entitate
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 # Obține codul de tip pentru tipul de entitate selectat
19 type_code = entity_types.get(entity_type, 30)
20
21 # Generează un număr aleatoriu de 8 cifre
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Calculează cifra de verificare
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 # Formatează și returnează CUIT-ul
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Exemplu de utilizare
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// Validarea CUIT-ului în PHP
3function validateCUIT($cuit) {
4 // Elimină orice caracter non-digital
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Verifică dacă are exact 11 cifre
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Extrage părțile
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Calculează cifra de verificare
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// Exemplu de utilizare
39echo validateCUIT('30-12345678-1') ? 'Valid' : 'Invalid';
40?>
41
1// Generarea și Validarea CUIT-ului în Java
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Codurile de tip de entitate
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 // Generează un CUIT valid
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Determină codul de tip în funcție de tipul de entitate
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 // Generează un număr aleatoriu de 8 cifre
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 // Calculează cifra de verificare
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Formatează și returnează CUIT-ul
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Calculează cifra de verificare
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 // Validează un CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Elimină orice caracter non-digital
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Verifică dacă are exact 11 cifre
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Extrage cifra de verificare
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Calculează cifra de verificare așteptată
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Compară cifrele de verificare
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Exemplu de utilizare
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("CUIT generat: " + generatedCUIT);
92 System.out.println("Este valid: " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Validează un CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Elimină orice caracter non-digital
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Verifică dacă are exact 11 cifre
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Extrage cifra de verificare
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Calculează cifra de verificare așteptată
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 // Formatează un CUIT cu separatoare corespunzătoare
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; // Returnează originalul dacă nu are 11 cifre
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
Sistemul CUIT a fost stabilit în Argentina la începutul anilor 1990 ca parte a unei inițiative mai ample de reformă fiscală menită să modernizeze infrastructura fiscală a țării și să reducă evaziunea fiscală. Administrația Federală a Veniturilor Publice (AFIP), autoritatea fiscală a Argentinei, a implementat CUIT-ul ca un sistem standardizat de identificare pentru toți contribuabilii.
Înainte de introducerea CUIT-ului, Argentina folosea diverse sisteme de identificare inconsistente pentru diferite tipuri de contribuabili, făcând administrarea fiscală ineficientă și creând oportunități pentru neconformitate. CUIT-ul a unificat aceste sisteme într-un singur identificator verificabil care putea fi folosit în toate activitățile legate de impozite.
Punctele cheie din evoluția sistemului CUIT includ:
CUIT-ul a devenit un element esențial al sistemelor economice și financiare ale Argentinei, servind nu doar pentru scopuri fiscale, ci și pentru bancarizare, angajare, securitate socială și tranzacții comerciale.
Un CUIT (Código Único de Identificación Tributaria) este Codul Unic de Identificare Fiscală al Argentinei atribuit persoanelor fizice și entităților juridice în scopuri fiscale. Acesta constă din 11 cifre în formatul XX-XXXXXXXX-X, unde primele două cifre indică tipul de entitate, cele opt cifre din mijloc sunt un număr de identificare, iar ultima cifră este o cifră de verificare.
Un CUIT valid trebuie să:
Instrumentul nostru de validare a CUIT-urilor poate verifica instantaneu dacă un CUIT îndeplinește aceste criterii.
Deși sunt similare ca format, CUIT și CUIL servesc scopuri diferite:
Ambele urmează același format și algoritm de verificare, dar sunt folosite în contexte diferite.
Nu. CUIT-urile generate de acest instrument sunt valide din punct de vedere matematic, dar nu sunt înregistrate în baza de date oficială a AFIP. Ele ar trebui folosite doar pentru teste, dezvoltare sau scopuri educaționale. Utilizarea CUIT-urilor fictive în documente sau tranzacții oficiale poate constitui fraudă.
AFIP a atribuit același cod de tip (30) mai multor tipuri de entități, inclusiv companii, fundații și entități guvernamentale. Aceasta face parte din sistemul oficial de clasificare și nu afectează validitatea CUIT-ului. Tipul specific de entitate este determinat de informațiile suplimentare de înregistrare în sistemele AFIP.
CUIT-urile sunt identificatori permanenți care, în general, nu se schimbă pe parcursul vieții unei persoane sau entități. Totuși, în unele cazuri specifice, cum ar fi schimbările de statut legal sau reasignarea de gen, un nou CUIT poate fi atribuit.
Da, dar nu prin instrumentul nostru. AFIP oferă un serviciu oficial numit "Constancia de Inscripción" pe site-ul lor, unde poți verifica dacă un CUIT este înregistrat oficial și activ. Instrumentul nostru validează doar corectitudinea matematică a unui CUIT.
Erorile comune includ:
Validatorul nostru ajută la identificarea acestor probleme prin verificarea atât a formatului, cât și a validității matematice.
Instrumentul nostru îți permite să selectezi dintre diferite tipuri de entități înainte de a genera un CUIT. Pur și simplu alege tipul de entitate corespunzător din meniul derulant și apasă "Generează CUIT". Instrumentul va folosi automat codul de tip corect pentru selecția ta.
Nu, instrumentul nostru nu impune limite asupra numărului de CUIT-uri pe care le poți genera sau valida. Este conceput pentru comoditate în scenarii de testare și educaționale unde ai putea avea nevoie de mai multe CUIT-uri valide.
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 y 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).
Instrumentul Generator și Validator CUIT Argentina oferă o soluție simplă și eficientă pentru lucrul cu codurile de identificare fiscală argentiniene în medii de testare și dezvoltare. Prin înțelegerea structurii, formatului și algoritmului de verificare al CUIT-urilor, utilizatorii pot asigura integritatea datelor și conformitatea cu standardele de identificare fiscală argentiniene.
Indiferent dacă dezvolți software care interacționează cu sistemele financiare argentiniene, testezi rutine de validare a datelor sau pur și simplu înveți despre sistemele internaționale de identificare fiscală, instrumentul nostru oferă funcționalitatea de care ai nevoie fără complexitate inutilă.
Încearcă să generezi un CUIT acum sau validează unul existent pentru a experimenta simplitatea și eficiența instrumentului nostru din prima mână.
Descoperiți mai multe instrumente care ar putea fi utile pentru fluxul dvs. de lucru