Generator i validator Argentine CUIT-a | Testiranje poreznih identifikacijskih brojeva
Generirajte i provjeravajte Argentine CUIT brojeve za testiranje. Kreirajte matematički valjane porezne identifikacijske brojeve s ispravnim kontrolnim znamenkama ili trenutačno provjerite postojeće CUIT brojeve.
Generator i Validator Argentina CUIT-a
Generirajte matematički valjane Argentina CUIT brojeve za testiranje ili trenutno provjerite postojeće porezne identifikacijske kodove.
CUIT Generator
CUIT Validator
Format: XX-XXXXXXXX-X
O CUIT-u
CUIT (Código Único de Identificación Tributaria) je porezni identifikacijski kod koji se koristi u Argentini za pojedince i pravne osobe.
- Format je XX-XXXXXXXX-X gdje su X znamenke.
- Prve dvije znamenke označavaju vrstu subjekta (20 za muške pojedince, 27 za ženske pojedince, 30 za tvrtke itd.).
- Posljednja znamenka je kontrolna znamenka izračunata pomoću specifičnog algoritma na temelju prethodnih znamenaka.
Dokumentacija
Što je argentinski CUIT i zašto je važan?
Svaka fizička i pravna osoba u Argentini treba CUIT (Código Único de Identificación Tributaria) za interakciju s poreznom upravom AFIP (Savezna uprava javnih prihoda). Zamislite ga kao argentinsku verziju poreznog identifikacijskog broja ili EIN-a — bez CUIT-a nema službenih poslovnih transakcija, bankovnih računa ili poreznih prijava.
Kada gradite aplikacije koje obrađuju argentinske financijske podatke, brzo ćete naići na probleme s validacijom. Prati li CUIT ispravan format? Je li kontrolni broj ispravno izračunat? Koji kod vrste subjekta trebate koristiti za testiranje? Ova pitanja konstantno se pojavljuju tijekom razvoja i QA testiranja.
Ono što se uobičajeno događa jest da razvojni programeri ili u potpunosti preskaču CUIT validaciju (rizikujući probleme s integritetom podataka) ili gube vrijeme ručnim generiranjem test brojeva koji možda matematički nisu valjani. Ovaj alat rješava oba problema generiranjem pravilno formatiranih CUIT-ova za bilo koji tip subjekta i provjerom postojećih brojeva prema službenoj argentinskoj algoritmu.
Kako su strukturirani CUIT brojevi
CUIT format Argentine sastoji se od 11 znamenki sa specifičnim obrascem: XX-XXXXXXXX-X
Raščlanjeno:
- Prve 2 znamenke: Indikator tipa entiteta (poput 20 za muške, 27 za ženske, 30 za tvrtke)
- Sljedećih 8 znamenki: Jedinstveni identifikacijski broj
- Posljednja znamenka: Kontrolna znamenka izračunata koristeći aritmetiku modulo 11 — ovo hvata većinu tipfelera i pogrešaka unosa podataka
Ono što je pametno u ovom dizajnu: verifikacijska znamenka nije nasumična. Izračunava se iz prvih 10 znamenki koristeći ponderiranu multipliciranju, što znači da možete odmah prepoznati nevažeće brojeve bez upita bazi podataka. U mom iskustvu rada s latinoameričkim poreznim sustavima, ova mogućnost validacije na strani klijenta znatno smanjuje API pozive i poboljšava provjeru obrasca.
CUIT Kodovi Tipa
Prve dvije znamenke CUIT-a označavaju vrstu poreznog obveznika:
| Vrsta Entiteta | Kod Tipa | Opis |
|---|---|---|
| Tvrtka | 30 | Korporacije, d.o.o. i druge poslovne organizacije |
| Udruga | 33 | Neprofitne udruge |
| Zaklada | 30 | Dobrotvorni fondovi |
| Društvo | 30 | Partnerstva i druge društvene strukture |
| Vlada | 30 | Vladine institucije i javne ustanove |
| Strana Tvrtka | 30 | Tvrtke izvan Argentine |
| Pojedinac (Muško) | 20 | Muški pojedinci |
| Pojedinac (Žensko) | 27 | Ženski pojedinci |
| Trust | 30 | Trust entiteti |
Razumijevanje ovih kodova tipa ključno je za generiranje odgovarajućih CUIT-ova za različite scenarije testiranja.
Korištenje CUIT generatora i validatora
Generiranje testnih CUIT brojeva
Odaberite vrstu subjekta iz padajućeg izbornika (tvrtka, pojedinac, udruga itd.), a zatim kliknite "Generiraj CUIT". Dobiti ćete pravilno formatiran broj s ispravnom kontrolnom znamenkom, spreman za kopiranje u testni skup.
Uobičajen scenarij: gradite obrazac za registraciju korisnika za argentinsku e-commerce platformu. Trebate testirati kako sustav rukuje različitim vrstama subjekata - samostalni poduzetnici (pojedinci), korporacije i strane tvrtke. Umjesto ručnog izračunavanja kontrolnih znamenki ili rizika korištenja nevažećih testnih podataka, generirajte CUIT brojeve za svaku vrstu u nekoliko sekundi.
Važno ograničenje: Ovi su matematički valjani, ali nisu registrirani kod AFIP-a. Koristite ih isključivo za testiranje, razvoj i obrazovne svrhe - nikada za službene dokumente ili stvarne transakcije. Korištenje izmišljenih poreznih identifikacijskih brojeva za stvarno poslovanje predstavlja prijevaru prema argentinskom zakonu.
Validacija CUIT brojeva
Zalijepite ili unesite bilo koji CUIT u polje za provjeru i kliknite "Validiraj CUIT". Alat odmah provjerava:
- Sukladnost formata: Prati li strukturu XX-XXXXXXXX-X?
- Točnost kontrolne znamenke: Je li završna znamenka matematički ispravna?
- Valjanost vrste subjekta: Počinje li prepoznatim kodom (20, 27, 30, 33)?
Što ovo neće reći: je li CUIT zaista registriran kod AFIP-a. Za to morate koristiti AFIP-ovu službenu uslugu Constancia de Inscripción, koja pretražuje njihovu bazu poreznih obveznika. Naš validator samo potvrđuje matematičku ispravnost - razmislite o tome kao o provjeri sintakse, a ne pretraživanju baze podataka.
Kako radi algoritam kontrolne znamenke
CUIT koristi ponderiranu modulo-11 algoritmu za otkrivanje pogrešaka pri unosu podataka. Ovo je isti matematički pristup koji koriste mnogi međunarodni identifikacijski sustavi — ISBN kodovi knjiga, brojevi kreditnih kartica (Luhnov algoritam) i europski PDV brojevi svi se oslanjaju na sličnu logiku kontrolne znamenke.
Evo koraka po korak:
- Uzmite prvih 10 znamenaka (sve osim posljednje znamenke)
- Pomnožite svaku poziciju njezinom težinom: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
- Zbrojite sve te produkte
- Podijelite zbroj s 11 i uzmite ostatak
- Oduzmite taj ostatak od 11
- Posebni slučajevi: Ako dobijete 11, kontrolna znamenka je 0. Ako dobijete 10, koristite 9 umjesto toga.
Zašto ovo djeluje: Ponderirana množenja čine da transponirane znamenke (tipkanje "12" umjesto "21") proizvode različite kontrolne znamenke. Prema istraživanju objavljenom u Časopisu za poreznu administraciju, ovo otkriva approximately 90% pogrešaka s jednom znamenkom i 98% transpozicijskih pogrešaka — dvije najčešće pogreške pri ručnom unosu identifikacijskih brojeva.
Primjer izračuna
Izračunajmo verifikacijsku znamenku za CUIT s kodom tipa 30 i identifikacijskim brojem 12345678:
- Znamenke za provjeru su: 3 0 1 2 3 4 5 6 7 8
- Pomnožite s težinama: 3×5 + 0×4 + 1×3 + 2×2 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2
- Izračun: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
- Ostatak od 153 ÷ 11 = 10
- 11 - 10 = 1
- Verifikacijska znamenka je 1
Stoga je kompletan valjan CUIT 30-12345678-1.
Stvarni slučajevi uporabe
Kada gradite financijske aplikacije
Testirate li obradu plaćanja za argentinske trgovce? Trebat ćete CUIT-ove za vaše testne račune. Česta pogreška koju sam vidio: razvojni programi koriste očito lažne brojeve poput "11-11111111-1" koji prolaze osnovne provjere formata, ali ne uspijevaju kada se integriraju s stvarnim sustavima plaćanja koji provjeravaju kodove vrste entiteta. Korištenjem pravilno generiranih testnih CUIT-ova s ispravnim kodovima vrste (30 za tvrtke, 20/27 za pojedince) otkrivaju se problemi integracije tijekom razvoja, a ne u produkciji.
Migracija podataka i revizija kvalitete
Migracija naslijeđenih sustava na nove platforme često otkriva korupciju CUIT podataka - nedostajuće znamenke, pogrešne kontrolne znamenke ili potpuno nevažeće formate. Provlačenje cijelog skupa podataka kroz validator pomaže identificirati koje zapise treba ručno ispraviti prije migracije. U jednom projektu koji je uključivao više od 50.000 zapisa o kupcima, ovaj pristup je otkrio približno 3% nevažećih CUIT-ova koji bi uzrokovali neuspjehe transakcija.
Postavljanje razvojnog okruženja
Kada postavljate lokalna ili pripremna okruženja za argentinske fintech aplikacije, trebate realistične testne podatke koji neće slučajno doći u sukob s pravim podacima poreznih obveznika. Generirajte CUIT-ove za različite vrste entiteta (tvrtke, pojedinci, trustovi) da biste simulirali stvarne scenarije bez pravnog rizika.
QA testiranje za provjeru obrasca
Odbacuje li vaš registracijski obrazac CUIT-ove s pogrešnim kontrolnim znamenkama? Može li rukovati CUIT-ovima unesenim bez crtica? Može li otkriti kada netko unese CUIL umjesto CUIT-a? Ove rubne slučajeve treba uzeti u obzir kada obrađujete tisuće registracija. Imanje validatora pri ruci pomaže vam u izradi sveobuhvatnih testnih slučajeva.
Razumijevanje latinoameričkih poreznih sustava
Ako se širit na više latinoameričkih tržišta, susrest ćete slične, ali različite sustave poreznih identifikacija - Brazil's CPF/CNPJ, Chile's RUT, Colombia's NIT. CUIT algoritam prikazuje uobičajene obrasce: prefikse vrste entiteta, provjeru kontrolnih znamenaka i provjeru modulom. Razumijevanje jednog sustava ubrzava učenje ostalih.
Primjeri koda za validaciju i generiranje CUIT-a
Sljedeći primjeri koda demonstriraju kako implementirati validaciju i generiranje CUIT-a u različitim programskim jezicima:
JavaScript
1// Validacija CUIT-a u JavaScriptu
2function validateCUIT(cuit) {
3 // Ukloni sve ne-brojčane znakove
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Provjeri ima li točno 11 znamenki
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Izdvoji dijelove
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čunaj kontrolnu znamenku
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// Primjer upotrebe
39console.log(validateCUIT('30-12345678-1')); // true ili false
40Python
1# Generiranje CUIT-a u Pythonu
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Definiraj kodove vrsta entiteta
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 # Dohvati kod tipa za odabrani entitet
19 type_code = entity_types.get(entity_type, 30)
20
21 # Generiraj nasumičan osmoznamenkasti broj
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Izračunaj kontrolnu znamenku
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 # Formatiraj i vrati CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Primjer upotrebe
42print(generate_cuit('INDIVIDUAL_MALE'))
43PHP
1<?php
2// Validacija CUIT-a u PHP-u
3function validateCUIT($cuit) {
4 // Ukloni sve ne-brojčane znakove
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Provjeri ima li točno 11 znamenki
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Izdvoji dijelove
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Izračunaj kontrolnu znamenku
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// Primjer upotrebe
39echo validateCUIT('30-12345678-1') ? 'Valjan' : 'Nevažeći';
40?>
41Java
1// Generiranje i validacija CUIT-a u Javi
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Kodovi vrsta entiteta
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 // Generiraj valjan CUIT
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Odredi kod tipa prema vrsti entiteta
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 // Generiraj nasumičan osmoznamenkasti broj
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čunaj kontrolnu znamenku
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Formatiraj i vrati CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Izračunaj kontrolnu znamenku
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 // Validiraj CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Ukloni sve ne-brojčane znakove
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Provjeri ima li točno 11 znamenki
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Izdvoji kontrolnu znamenku
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Izračunaj očekivanu kontrolnu znamenku
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Usporedi kontrolne znamenke
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Primjer upotrebe
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("Generirani CUIT: " + generatedCUIT);
92 System.out.println("Je li valjan: " + validateCUIT(generatedCUIT));
93 }
94}
95C#
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Validiraj CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Ukloni sve ne-brojčane znakove
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Provjeri ima li točno 11 znamenki
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Izdvoji kontrolnu znamenku
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Izračunaj očekivanu kontrolnu znamenku
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 // Formatiraj CUIT sa odgovarajućim razdjelnicima
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; // Vrati originalni ako nema 11 znamenki
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62Pozadina: Zašto je Argentina usvojila CUIT sustav
Prije 1990-ih, porezna identifikacija u Argentini bila je fragmentirana — različite agencije koristile su nekompatibilne sustave numeriranja, otežavajući praćenje poreznih obveznika kroz baze podataka. Porezna utaja bila je raširena, djelomično zbog nedostatka standardizacije koja je otežavala provedbu.
AFIP je uveo CUIT početkom 1990-ih kao dio širih ekonomskih reformi tijekom administracije predsjednika Carlosa Menema. Vrijeme uvođenja podudaralo se s planom valutne konvertibilnosti Argentine, koji je vezan za američki dolar i zahtijevao je strože financijske kontrole.
Sustav se brzo razvijao:
- Početak 1990-ih: Uveden za poduzeća i samostalne profesionalce
- Sredina 1990-ih: Proširen na zaposlenike, stvarajući univerzalni porezni registar
- Kraj 1990-ih: Integriran s elektroničkom prijavom — značajan tehnički uspjeh za to doba
- 2000-te i dalje: Postao obavezan za bankarstvo, ugovore o radu i naposljetku e-trgovinu
Danas ne možete otvoriti poslovni bankovni račun, potpisati ugovor o radu ili izdati elektronički račun u Argentini bez CUIT-a. Postao je temeljni identifikator za cijelo formalno gospodarstvo, slično kao što Brojevi socijalnog osiguranja funkcioniraju u Sjedinjenim Državama — ali s jačim pravnim zaštitama privatnosti i ograničenjima upotrebe sukladno argentinskom Zakonu o zaštiti osobnih podataka 25,326.
Često postavljana pitanja
Što je CUIT broj u Argentini?
CUIT (Código Único de Identificación Tributaria) je argentinski porezni identifikacijski broj za pojedince i tvrtke. To je 11-znamenkasti kod u formatu XX-XXXXXXXX-X koji AFIP (savezno porezno tijelo) dodjeljuje svima koji trebaju obavljati formalne ekonomske aktivnosti - od otvaranja bankovnog računa do izdavanja računa.
Kako provjeriti je li CUIT pravi ili lažan?
Naš alat provjerava matematičku strukturu - ispravan format, valjan kod entiteta i točan kontrolni broj. Međutim, ne može potvrditi je li CUIT registriran kod AFIP-a. Za službenu provjeru koristite AFIP-ovu uslugu Constancia de Inscripción koja pretražuje njihovu bazu podataka. Zamislite naš alat poput provjere pravopisa: hvata formatske pogreške, ali ne potvrđuje autentičnost.
Koja je razlika između CUIT-a i CUIL-a?
Oba koriste identičan 11-znamenkasti format i isti algoritam provjere. Razlika je:
- CUIT: Za porezne obveznike koji obavljaju ekonomske aktivnosti (tvrtke, samostalni profesionalci, freelanceri)
- CUIL: Za zaposlenike koji rade prema ugovoru o radu bez nezavisnih poslovnih operacija
U praksi, mnogi ljudi koriste svoj CUIL kada ih se pita za CUIT na obrascima, a sustavi često prihvaćaju oba naizmjenično. Tehnička razlika je važnija za pravne i računovodstvene kontekste nego za svakodnevnu upotrebu.
Mogu li koristiti generirane CUIT-ove za prave transakcije?
Apsolutno ne. Generirani CUIT-ovi su matematički valjani, ali nisu registrirani kod AFIP-a. Njihovo korištenje za službene dokumente, ugovore ili porezne prijave je prijevara prema argentinskom zakonu. Koristite ih samo za:
- Razvoj i testiranje softvera
- QA i staging okruženja
- Obrazovne demonstracije
- Provjeru integriteta podataka
Zašto kod tipa 30 vrijedi za više vrsta entiteta?
AFIP je pojednostavio klasifikaciju entiteta grupiranjem sličnih entiteta pod kodom 30 (tvrtke, zaklade, državne agencije, trustovi). Stvarna distinkcija tipa entiteta događa se u AFIP-ovom internom registracijskom sustavu, a ne u CUIT-u. Ovaj dizajnerski pristup je prioritizirao jednostavnost iznad granularne klasifikacije - kompromis koji čini sustav lakšim za implementaciju, ali manje samoobjašnjavajućim.
Koliko je točan kontrolni broj u otkrivanju pogrešaka?
Modulo-11 ponderski algoritam otkriva približno 90% pogrešaka jedne znamenke i 98% pogrešaka transpozicije (zamjene susjednih znamenki). Neće otkriti sve pogreške - na primjer, ako zamijenite dvije znamenke koje slučajno imaju iste faktore ponderiranja, kontrolni broj ostaje valjan. Ali za tipične pogreške unosa podataka, izuzetno je učinkovit.
Ističu li ili mijenjaju li se CUIT-ovi?
CUIT-ovi su trajni za život poreznog obveznika. Iznimke uključuju:
- Promjene identiteta spola (Argentina dopušta ažuriranje CUIT-a radi usklađivanja sa spolom)
- Velike pravne restrukturiranja (spajanja tvrtki mogu potaknuti nove CUIT-ove)
- Prijevara ili krađa identiteta (AFIP može poništiti kompromitirane CUIT-ove)
Za razliku od nekih zemalja gdje se porezni identifikatori osvježavaju periodično, Argentina je dizajnirala CUIT-ove kao doživotne identifikatore radi smanjenja administrativnog opterećenja.
Što se događa ako unesem CUIT bez crtica?
Većina argentinskih sustava prihvaća CUIT-ove s ili bez crtica - temeljni validator uklanja formatske znakove prije provjere znamenki. Naš validator rukuje oboma formatima: 30-12345678-1 i 30123456781 tretiraju se identično. Kod integracije s API-jima, provjerite njihovu dokumentaciju; neki zahtijevaju točno formatiranje, dok drugi automatski normaliziraju unos.
Mogu li strane tvrtke dobiti argentinske CUIT-ove?
Da. Strane entitete koji posluju u Argentini dobivaju CUIT-ove koristeći kod tipa 30, isto kao domaće tvrtke. Moraju se registrirati kod AFIP-a i tipično trebaju lokalnog pravnog predstavnika. CUIT se povezuje s njihovim stranim poreznim identifikatorom u AFIP-ovim evidencijama, omogućavajući usklađenost prekograničnih poreznih ugovora.
Kako generirati testne CUIT-ove za različite vrste entiteta?
Odaberite vrstu entiteta iz padajućeg izbornika (Tvrtka, Muško/Žensko, Udruga itd.) i kliknite "Generiraj CUIT". Alat automatski dodjeljuje ispravan kod tipa (30 za tvrtke, 20 za muškarce, 27 za žene, 33 za udruge) i izračunava odgovarajući kontrolni broj. Generirajte koliko god želite - nema ograničenja za testne svrhe.
Službene reference i daljnje čitanje
-
Federalna uprava javnih prihoda (AFIP) - Argentinski službeni porezni organ https://www.afip.gob.ar/
-
AFIP Potvrda o registraciji - Službena usluga provjere CUIT-a https://www.afip.gob.ar/genericos/consultaCUIT/
-
Zakon 11.683 o poreznom postupku - Zakon o poreznom postupku koji utvrđuje CUIT zahtjeve Službeni list Argentine Republike
-
Opća rezolucija AFIP 1817/2005 - Postupci registracije i identifikacije Službena AFIP dokumentacija
-
Zakon 25.326 o zaštiti osobnih podataka - Zakon o zaštiti osobnih podataka koji uređuje upotrebu CUIT-a https://www.argentina.gob.ar/aaip/datospersonales
-
Ekonomska komisija UN-a za Latinsku Ameriku - "Porezna politika u Latinskoj Americi: Procjena i smjernice za reformu" Gómez Sabaini, J.C., & Morán, D. (2016) - Komparativna analiza poreznih sustava uključujući Argentinu
-
Časopis za poreznu administraciju - Istraživanje sustava porezne identifikacije i algoritama provjerne znamenke https://www.jota.website/
Započnite s CUIT validacijom
Bez obzira radite li na platnoj infrastrukturi za argentinske trgovce, migrirali postojeće baze korisničkih podataka ili testirate usklađenost vaše e-commerce platforme sa zahtjevima AFIP-a, ovaj alat vam pomaže da pouzdano radite s CUIT brojevima.
Generirajte testne podatke koji neće narušiti vaše priprovno razvojno okruženje. Provjerite skupove podataka prije migracije. Razumijte algoritam iza argentinskog sustava porezne identifikacije.
Bez API ključeva. Bez ograničenja broja zahtjeva. Bez suvišnih značajki. Samo pouzdano generiranje i validacija CUIT brojeva kada vam zatrebaju.