Generirajte veljavne argentinske številke CUIT (davčne identifikacijske kode) in preverite obstoječe s tem preprostim orodjem, zasnovanim za testne scenarije. Brez zapletenih funkcij, le preprosta generacija in validacija CUIT.
Enostavno orodje za generiranje in preverjanje argentinskih davčnih identifikacijskih številk (CUIT) za testne namene.
Format: XX-XXXXXXXX-X
CUIT (Código Único de Identificación Tributaria) je davčna identifikacijska številka, ki se uporablja v Argentini za posameznike in pravne osebe.
CUIT (Código Único de Identificación Tributaria) je edinstvena davčna identifikacijska koda Argentine, ključni identifikator za vse davčne zavezance v argentinskem davčnem sistemu. Ta esencialna številčna koda služi kot glavni identifikator za posameznike in pravne osebe pri interakciji z AFIP (Administración Federal de Ingresos Públicos) in pri poslovanju po vsej Argentini. Naš orodje za generiranje in preverjanje CUIT v Argentini ponuja preprosto, učinkovito rešitev za generiranje matematično veljavnih CUIT-ov za testne namene in preverjanje obstoječih številk CUIT.
Ne glede na to, ali ste razvijalec, ki testira aplikacije, ki obdelujejo argentinske davčne informacije, specialist za zagotavljanje kakovosti, ki preverja celovitost podatkov, ali poslovni analitik, ki pripravlja testne podatke, to orodje poenostavi postopek dela s številkami CUIT brez zapletenosti API integracij ali nepotrebnih funkcij.
Argentinski CUIT sledi specifičnemu formatu, ki se sestoji iz 11 številk razporejenih kot:
1XX-XXXXXXXX-X
2
Ta standardizirani format lahko razdelimo na tri različne komponente:
Prvi dve številki CUIT-a označujeta vrsto davčnega zavezanca:
Tip entitete | Koda tipa | Opis |
---|---|---|
Podjetje | 30 | Korporacije, LLC in druge poslovne entitete |
Združenje | 33 | Neprofitna združenja |
Fundacija | 30 | Dobrodelne fundacije |
Družba | 30 | Partnerstva in druge družbene strukture |
Vlada | 30 | Vladne entitete in javne institucije |
Tuj podjetje | 30 | Podjetja, ki so registrirana zunaj Argentine |
Posameznik (moški) | 20 | Moški posamezniki |
Posameznik (ženska) | 27 | Ženske posameznice |
Trust | 30 | Trustne entitete |
Razumevanje teh kod tipov je ključno za generiranje ustreznih CUIT-ov za različne testne scenarije.
Naše orodje ponuja dve glavni funkciji: generiranje veljavnih CUIT-ov in preverjanje obstoječih. Tukaj je, kako učinkovito uporabiti vsako funkcijo:
Generator ustvari naključne, a matematično veljavne CUIT-e, ki sledijo uradnemu algoritmu, ki ga uporablja AFIP. Ti CUIT-i so odlični za testiranje sistemov, ki zahtevajo veljavne formate CUIT, čeprav niso registrirani v uradnih bazah podatkov.
Preverjalnik preverja tako format kot matematično veljavnost CUIT-a s preverjanjem, ali se preveritvena številka ujema z izračunano vrednostjo na podlagi prejšnjih številk.
Preveritvena številka (zadnja številka) CUIT-a se izračuna z uporabo specifičnega algoritma, zasnovanega za odkrivanje pogostih napak pri vnosu podatkov. Razumevanje tega algoritma pomaga razložiti, kako naše orodje preverja CUIT-e:
Izračunajmo preveritveno številko za CUIT s kodo tipa 30 in identifikacijsko številko 12345678:
Zato je popoln veljaven CUIT 30-12345678-1.
Orodje za generiranje in preverjanje CUIT v Argentini služi več praktičnim namenom v različnih profesionalnih kontekstih:
Naslednje kode prikazujejo, kako implementirati preverjanje in generiranje CUIT-ov v različnih programskih jezikih:
1// Preverjanje CUIT-a v JavaScriptu
2function validateCUIT(cuit) {
3 // Odstranite vse znake, ki niso številke
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Preverite, ali ima natančno 11 številk
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Izvlecite dele
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // Izračunajte preveritveno številko
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// Primer uporabe
39console.log(validateCUIT('30-12345678-1')); // true ali false
40
1# Generiranje CUIT-a v Pythonu
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Določite kode vrst entitet
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 # Pridobite kodo tipa za izbrano vrsto entitete
19 type_code = entity_types.get(entity_type, 30)
20
21 # Generirajte naključno 8-mestno številko
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Izračunajte preveritveno številko
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 # Oblikujte in vrnite CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Primer uporabe
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// Preverjanje CUIT-a v PHP-ju
3function validateCUIT($cuit) {
4 // Odstranite vse znake, ki niso številke
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Preverite, ali ima natančno 11 številk
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Izvlecite dele
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Izračunajte preveritveno številko
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// Primer uporabe
39echo validateCUIT('30-12345678-1') ? 'Veljaven' : 'Neveljaven';
40?>
41
1// Generiranje in preverjanje CUIT-a v Javi
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Kode vrst entitet
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 // Generirajte veljaven CUIT
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Določite kodo tipa na podlagi vrste entitete
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 // Generirajte naključno 8-mestno številko
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 // Izračunajte preveritveno številko
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Oblikujte in vrnite CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Izračunajte preveritveno številko
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 // Preverite CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Odstranite vse znake, ki niso številke
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Preverite, ali ima natančno 11 številk
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Izvlecite preveritveno številko
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Izračunajte pričakovano preveritveno številko
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Primerjajte preveritvene številke
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Primer uporabe
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("Generiran CUIT: " + generatedCUIT);
92 System.out.println("Je veljaven: " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Preverjanje CUIT-a
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Odstranite vse znake, ki niso številke
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Preverite, ali ima natančno 11 številk
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Izvlecite preveritveno številko
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Izračunajte pričakovano preveritveno številko
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 // Oblikujte CUIT s pravilnimi ločili
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; // Vrnite izvirno, če ni 11 številk
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
Sistem CUIT je bil vzpostavljen v Argentini v zgodnjih devetdesetih letih prejšnjega stoletja kot del širše davčne reforme, katere cilj je bil modernizirati davčno infrastrukturo države in zmanjšati davčno utajo. Zvezna uprava za javne prihodke (AFIP), argentinska davčna agencija, je uvedla CUIT kot standardiziran identifikacijski sistem za vse davčne zavezance.
Pred uvedbo CUIT-a je Argentina uporabljala različne nekonsistentne identifikacijske sisteme za različne vrste davčnih zavezancev, kar je oteževalo davčno upravljanje in ustvarjalo priložnosti za neupoštevanje. CUIT je te sisteme poenotil v enega samega, preverljivega identifikatorja, ki se lahko uporablja pri vseh davčnih dejavnostih.
Ključni mejniki v razvoju sistema CUIT vključujejo:
CUIT je postal bistven element argentinskega ekonomskega in finančnega sistema, ki služi ne samo za davčne namene, temveč tudi za bančne, zaposlitvene, socialne in poslovne transakcije.
CUIT (Código Único de Identificación Tributaria) je edinstvena davčna identifikacijska koda Argentine, dodeljena posameznikom in pravnim osebam za davčne namene. Sestoji iz 11 številk v formatu XX-XXXXXXXX-X, kjer prve dve številki označujeta vrsto entitete, srednjih osem številk je identifikacijska številka, zadnja številka pa je preveritvena številka.
Veljaven CUIT mora:
Naš orodje za preverjanje CUIT-a lahko takoj preveri, ali CUIT izpolnjuje te kriterije.
Čeprav sta si podobna v formatu, CUIT in CUIL služita različnim namenom:
Oba sledita istemu formatu in algoritmu preverjanja, vendar se uporabljata v različnih kontekstih.
Ne. CUIT-i, ki jih generira to orodje, so matematično veljavni, vendar niso registrirani v uradni bazi AFIP. Uporabiti jih je mogoče le za testiranje, razvoj ali izobraževalne namene. Uporaba fiktivnih CUIT-ov za uradne dokumente ali transakcije lahko predstavlja goljufijo.
AFIP je dodelil isto kodo tipa (30) več različnim vrstam entitet, vključno s podjetji, fundacijami in vladnimi entitetami. To je del uradnega klasifikacijskega sistema in ne vpliva na veljavnost CUIT-a. Specifična vrsta entitete je določena z dodatnimi registracijskimi podatki v sistemih AFIP.
CUIT-i so trajni identifikatorji, ki se na splošno ne spreminjajo skozi življenje posameznika ali entitete. Vendar pa v nekaterih specifičnih primerih, kot so spremembe pravnega statusa ali sprememba spola, lahko dodelijo nov CUIT.
Da, vendar ne preko našega orodja. AFIP ponuja uradno storitev, imenovano "Constancia de Inscripción" na svoji spletni strani, kjer lahko preverite, ali je CUIT uradno registriran in aktiven. Naše orodje preverja le matematično pravilnost CUIT-a.
Pogoste napake vključujejo:
Naš preverjalnik pomaga identificirati te težave s preverjanjem tako formata kot matematične veljavnosti.
Naše orodje vam omogoča, da pred generiranjem CUIT-a izberete med različnimi vrstami entitet. Preprosto izberite ustrezno vrsto entitete iz spustnega menija in kliknite "Generiraj CUIT." Orodje bo samodejno uporabilo pravilno kodo tipa za vašo izbiro.
Ne, naše orodje ne nalaga nobenih omejitev glede števila CUIT-ov, ki jih lahko generirate ali preverite. Namenjeno je udobju pri testiranju in izobraževalnih scenarijih, kjer morda potrebujete več veljavnih CUIT-ov.
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).
Orodje za generiranje in preverjanje CUIT v Argentini ponuja preprosto, učinkovito rešitev za delo z argentinskimi davčnimi identifikacijskimi kodami v testnih in razvojnih okoljih. Z razumevanjem strukture, formata in algoritma preverjanja CUIT-ov lahko uporabniki zagotovijo celovitost podatkov in skladnost s standardi argentinske davčne identifikacije.
Ne glede na to, ali razvijate programsko opremo, ki se povezuje z argentinskimi finančnimi sistemi, testirate rutine preverjanja podatkov ali se preprosto učite o mednarodnih sistemih davčne identifikacije, naše orodje ponuja funkcionalnost, ki jo potrebujete, brez nepotrebne zapletenosti.
Poskusite zdaj generirati CUIT ali preveriti obstoječega, da izkusite preprostost in učinkovitost našega orodja na lastni koži.
Odkrijte več orodij, ki bi lahko bila koristna za vaš delovni proces