Generator in validator Argentine CUIT | Preizkus davčnih ID
Ustvarjanje in preverjanje Argentine CUIT številk za testiranje. Ustvarjanje matematično veljavnih davčnih ID-jev s pravilnimi kontrolnimi številkami ali takojšnje preverjanje obstoječih CUIT številk.
Generator in validator Argentine CUIT
Ustvarjanje matematično veljavnih Argentine CUIT številk za testiranje ali takojšnje preverjanje obstoječih davčnih identifikacijskih kod.
Generator CUIT
Validator CUIT
Format: XX-XXXXXXXX-X
O CUIT
CUIT (Código Único de Identificación Tributaria) je davčna identifikacijska koda, ki se uporablja v Argentini za posameznike in pravne osebe.
- Format je XX-XXXXXXXX-X, kjer so X številke.
- Prve dve številki označujeta vrsto subjekta (20 za moške posameznike, 27 za ženske posameznike, 30 za podjetja itd.).
- Zadnja številka je preveritvena številka, izračunana z določenim algoritmom na podlagi prejšnjih številk.
Dokumentacija
Kaj je argentinski CUIT in zakaj je pomemben?
Vsaka fizična in pravna oseba v Argentini potrebuje CUIT (Código Único de Identificación Tributaria) za interakcijo z davčnim organom AFIP (Zvezna uprava javnih prihodkov). Lahko ga razumemo kot argentinsko različico davčne identifikacijske številke ali EIN - brez CUIT ni možnih uradnih poslovnih transakcij, bančnih računov ali davčnih vlaganj.
Ko gradite aplikacije, ki obdelujejo argentinske finančne podatke, se hitro srečate z izzaji pri validaciji. Ali CUIT sledi pravilnemu formatu? Ali je kontrolna številka pravilno izračunana? Katero kodo entitetnega tipa bi morali uporabiti za testiranje? Ta vprašanja se konstantno pojavljajo med razvojem in testiranjem kakovosti.
Običajno se razvijalci bodisi popolnoma izognejo validaciji CUIT (s čimer tvegajo probleme z integriteto podatkov) ali porabijo čas z ročnim generiranjem testnih številk, ki morda matematično niso veljavne. To orodje rešuje oba problema z generiranjem pravilno oblikovanih CUIT za katerokoli entitetno vrsto in preverjanjem obstoječih številk glede na uraden argentinski algoritem.
Kako so strukturirane CUIT številke
Format Argentine CUIT sestoji iz 11 številk s specifičnim vzorcem: XX-XXXXXXXX-X
Razčlenitev:
- Prvih 5 številk: Indikator vrste subjekta (npr. 20 za moške, 27 za ženske, 30 za podjetja)
- Naslednjih 8 številk: Edinstvena identifikacijska številka
- Zadnja številka: Kontrolna številka, izračunana z aritmetiko modulo 11 — ta zazna večino tipkarskih napak in napak pri vnosu podatkov
Pametnost te zasnove je v tem: kontrolna številka ni naključna. Izračuna se iz prvih 10 številk z uteženim množenjem, kar pomeni, da lahko takoj prepoznate neveljavne številke brez poizvedovanja v podatkovni bazi. Iz mojih izkušenj z latinsko-ameriškimi davčnimi sistemi ta zmožnost validacije na strani odjemalca bistveno zmanjšuje API klice in izboljšuje preverjanje obrazcev.
CUIT Kode Vrst
Prvih dve številki CUIT označujeta vrsto davčnega zavezanca:
| Vrsta Subjekta | Koda Vrste | Opis |
|---|---|---|
| Podjetje | 30 | Korporacije, d.o.o. in druge poslovne entitete |
| Združenje | 33 | Neprofitna združenja |
| Fundacija | 30 | Dobrodelne fundacije |
| Družba | 30 | Partnerstva in druge strukture družb |
| Vlada | 30 | Vladne entitete in javne institucije |
| Tuje Podjetje | 30 | Podjetja zunaj Argentine |
| Posameznik (Moški) | 20 | Moški posamezniki |
| Posameznik (Ženska) | 27 | Ženske posameznice |
| Sklad | 30 | Entitete skladov |
Razumevanje teh kod vrst je bistveno za ustvarjanje ustreznih CUIT številk za različne testne scenarije.
Uporaba generatorja in validatorja CUIT
Generiranje testnih CUIT-ov
Izberite vrsto subjekta iz spustnega menija (podjetje, posameznik, združenje itd.), nato kliknite "Generiraj CUIT". Dobili boste pravilno oblikovano številko s pravilno kontrolno številko, pripravljeno za kopiranje v testni niz.
Pogost scenarij: gradite obrazec za registracijo uporabnikov na argentinski platformi e-trgovine. Potrebujete preizkusiti, kako sistem obravnava različne vrste subjektov - samostojni podjetniki (posamezniki), korporacije in tuja podjetja. Namesto ročnega izračunavanja kontrolnih številk ali tveganja z neveljavnimi testnimi podatki, lahko v sekundah generirate CUIT-e za vsako vrsto.
Pomembna omejitev: Ti so matematično veljavni, vendar niso registrirani pri AFIP. Uporabljajte jih izključno za testiranje, razvoj in izobraževalne namene - nikoli za uradne dokumente ali prave transakcije. Uporaba izmišljenih davčnih ID-jev za dejanske posle pomeni goljufijo po argentinski zakonodaji.
Preverjanje CUIT številk
Prilepite ali vtipkajte katerikoli CUIT v polje za preverjanje in kliknite "Preveri CUIT". Orodje takoj preveri:
- Skladnost formata: Ali sledi strukturi XX-XXXXXXXX-X?
- Natančnost kontrolne številke: Ali je zadnja številka matematično pravilna?
- Veljavnost vrste subjekta: Ali se začne s prepoznano kodo (20, 27, 30, 33)?
Česa to ne bo povedalo: ali je CUIT dejansko registriran pri AFIP. Za to morate uporabiti uradno storitev Constancia de Inscripción AFIP, ki poizveduje njihovo bazo davčnih zavezancev. Naš validator samo potrjuje matematično pravilnost - razmislite o tem kot preverjanju sintakse in ne poizvedovanju v bazi podatkov.
Kako deluje algoritem za preverjanje številke
CUIT uporablja uteženi modulo-11 algoritem za odkrivanje napak pri vnosu podatkov. To je enak matematični pristop, ki ga uporabljajo številni mednarodni identifikacijski sistemi - ISBN knjižne kode, številke kreditnih kartic (Luhnov algoritem) in evropske DDV številke vse temeljijo na podobni logiki preverjanja številk.
Tukaj je postopek korak za korakom:
- Vzemite prvih 10 številk (vse razen zadnje številke)
- Pomnožite vsako pozicijo z njeno utežjo: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
- Seštejte vse te produkte
- Delite vsoto z 11 in vzemite ostanek
- Odštejte ta ostanek od 11
- Posebni primeri: Če dobite 11, je preverjalna številka 0. Če dobite 10, uporabite 9 namesto tega.
Zakaj to deluje: Uteženo množenje povzroči, da zamenjane številke (npr. vpis "12" namesto "21") ustvarijo različne preverjalne številke. Glede na raziskavo objavljeno v Reviji za davčno administracijo, to zazna približno 90% posameznih napak in 98% napak pri zamenjavi - dve najpogostejši napaki pri ročnem vnosu identifikacijskih številk.
Primer izračuna
Izračunajmo preverjalno številko za CUIT z oznako tipa 30 in identifikacijsko številko 12345678:
- Številke za preverjanje so: 3 0 1 2 3 4 5 6 7 8
- Pomnožite z utežmi: 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
- Ostanek 153 ÷ 11 = 10
- 11 - 10 = 1
- Preverjalna številka je 1
Torej je popolna veljavna CUIT 30-12345678-1.
Realne uporabe
Ko gradite finančne aplikacije
Preizkušate procesiranje plačil za argentinske trgovce? Potrebovali boste CUIT-e za vaše testne račune. Pogosta napaka, ki sem jo opazil: razvijalci uporabljajo očitno lažne številke kot "11-11111111-1", ki sicer prestanejo osnovne formatne preverjanje, vendar spodletijo pri integraciji z dejanskimi plačilnimi prehodi, ki preverjajo kode entitet. Uporaba pravilno generiranih testnih CUIT-ov s pravilnimi kodami tipa (30 za podjetja, 20/27 za posameznike) zazna te integracijske probleme med razvojem in ne šele v produkciji.
Migracija podatkov in kakovostni pregledi
Migracija legacy sistemov na nove platforme pogosto razkrije poškodovane CUIT podatke - manjkajoče številke, napačne kontrolne številke ali povsem neveljavne formate. Poganjanje celotnega nabora podatkov skozi validator pomaga identificirati zapise, ki potrebujejo ročno popravilo pred migracijo. V enem projektu s 50.000+ zapisi strank je ta pristop zaznal približno 3% neveljavnih CUIT-ov, ki bi povzročili napake pri transakcijah.
Postavitev razvojnega okolja
Ko postavljate lokalna ali staging okolja za argentinske fintech aplikacije, potrebujete realistične testne podatke, ki se ne bodo naključno prekrivali z resničnimi davčnimi zavezanci. Generirajte CUIT-e za različne vrste entitet (podjetja, posamezniki, skladi), da simulirate realne scenarije brez pravnih tveganj.
QA testiranje za validacijo obrazcev
Ali vaš registracijski obrazec pravilno zavrača CUIT-e z napačnimi kontrolnimi številkami? Ali lahko obdela CUIT-e, vnešene brez bindestrichov? Ali zazna, ko nekdo vnese CUIL namesto CUIT-a? Te mejne primere je treba upoštevati pri procesiranju tisoč registracij. Imeti validator pri roki vam pomaga oblikovati celovite testne primere.
Razumevanje latinsko-ameriških davčnih sistemov
Če se širite na več latinsko-ameriških trgov, boste naleteli na podobne, a različne sisteme davčnih ID-jev - brazilski CPF/CNPJ, čilenski RUT, kolumbijski NIT. CUIT algoritem prikazuje skupne vzorce: predpone vrst entitet, validacijo kontrolnih številk in preverjanje na podlagi modula. Razumevanje enega sistema pospeši učenje ostalih.
Primeri kode za preverjanje in generiranje CUIT
Naslednji primeri kode prikazujejo, kako implementirati preverjanje in generiranje CUIT v različnih programskih jezikih:
JavaScript
1// Preverjanje CUIT v JavaScript
2function validateCUIT(cuit) {
3 // Odstrani vse neoštevilčene znake
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Preveri, ali ima natančno 11 številk
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Izvleči 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čunaj 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
40Python
1# Generiranje CUIT v Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Določi 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 # Pridobi kodo vrste za izbrano vrsto entitete
19 type_code = entity_types.get(entity_type, 30)
20
21 # Generiraj naključno 8-mestno številko
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Izračunaj 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 # Oblikuj in vrni CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Primer uporabe
42print(generate_cuit('INDIVIDUAL_MALE'))
43PHP
1<?php
2// Preverjanje CUIT v PHP
3function validateCUIT($cuit) {
4 // Odstrani vse neoštevilčene znake
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Preveri, ali ima natančno 11 številk
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Izvleči dele
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Izračunaj 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') ? 'Veljavno' : 'Neveljavno';
40?>
41Java
1// Generiranje in preverjanje CUIT v Java
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 // Generiraj veljaven CUIT
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Določi kodo vrste glede na vrsto 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 // Generiraj 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čunaj preveritveno številko
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Oblikuj in vrni CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Izračunaj 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 // Preveri CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Odstrani vse neoštevilčene znake
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Preveri, ali ima natančno 11 številk
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Izvleči preveritveno številko
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Izračunaj pričakovano preveritveno številko
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Primerjaj preveritveni številki
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("Generirani CUIT: " + generatedCUIT);
92 System.out.println("Je veljaven: " + validateCUIT(generatedCUIT));
93 }
94}
95C#
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Preveri CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Odstrani vse neoštevilčene znake
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Preveri, ali ima natančno 11 številk
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Izvleči preveritveno številko
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Izračunaj 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 // Oblikuj CUIT z ustreznimi 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; // Vrni izvirnik, če ni 11 številk
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62Ozadje: Zakaj je Argentina sprejela sistem CUIT
Pred letom 1990 je bilo davčno identificiranje v Argentini razdrobljeno - različne agencije so uporabljale nezdružljive številčne sisteme, kar je otežilo sledenje davčnim zavezancem med podatkovnimi bazami. Davčna utaja je bila razširjena, deloma zaradi pomanjkanja standardizacije, ki je otežovala izvajanje.
AFIP je CUIT uvedel v začetku devetdesetih let kot del širših ekonomskih reform med upravo predsednika Carlosa Menema. Čas uvedbe je sovpadal z argentinskim načrtom valutne konvertibilnosti, ki je peso vezal na ameriški dolar in zahteval bolj rigorozno fiskalno kontrolo.
Sistem se je hitro razvijal:
- Začetek devetdesetih let: Uveden za podjetja in samozaposlene strokovnjake
- Sredina devetdesetih let: Razširjen na zaposlene, ustvarjen univerzalni davčni register
- Konec devetdesetih let: Integriran z elektronsko vložitvijo - pomemben tehnični dosežek tistega časa
- Od 2000 naprej: Postal obvezen za bančništvo, pogodbe o zaposlitvi in pozneje e-commerce
Danes v Argentini ni mogoče odpreti poslovnega bančnega računa, podpisati pogodbe o zaposlitvi ali izdati elektronskega računa brez CUIT-a. Postal je temeljni identifikator celotnega formalne ekonomije, podobno kot številke socialnega zavarovanja v Združenih državah - čeprav z močnejšimi pravnimi zaščitami zasebnosti in omejitvami uporabe skladno z argentinskim Zakonom o varstvu osebnih podatkov 25,326.
Pogosto zastavljena vprašanja
Kaj je CUIT številka v Argentini?
CUIT (Código Único de Identificación Tributaria) je argentinski davčni identifikacijski number za posameznike in podjetja. Gre za 11-mestno kodo v obliki XX-XXXXXXXX-X, ki jo AFIP (zvezni davčni organ) dodeli vsem, ki potrebujejo formalno ekonomsko aktivnost - od odpiranja bančnega računa do izdajanja računov.
Kako preverim, ali je CUIT pravi ali lažen?
Naše orodje validira matematično strukturo - pravilno obliko, veljaven kod entitete in natančno kontrolno številko. Vendar ne more potrditi, ali je CUIT registriran pri AFIP. Za uradno potrditev uporabite AFIP-jevo storitev Constancia de Inscripción, ki poizveduje njihovo bazo podatkov. Naše orodje je podobno preverjanju črkovanja: zazna formatne napake, ne potrjuje pa avtentičnosti.
Kakšna je razlika med CUIT in CUIL?
Oba uporabljata identično 11-mestno obliko in enak validacijski algoritem. Razlika je:
- CUIT: Za davčne zavezance, ki opravljajo ekonomske dejavnosti (podjetja, samostojni strokovnjaki, freelancerji)
- CUIL: Za zaposlene, ki delajo po delovni pogodbi brez samostojnih poslovnih operacij
V praksi veliko ljudi uporablja CUIL, ko se zahteva CUIT na obrazcih, in sistemi pogosto sprejemajo oba zamenljivo. Tehnična razlika je pomembnejša za pravne in računovodske kontekste kot za vsakdanjo rabo.
Ali lahko uporabljam generirane CUIT-e za prave transakcije?
Nikakor ne. Generirani CUIT-i so matematično veljavni, vendar niso registrirani pri AFIP. Njihova uporaba za uradne dokumente, pogodbe ali davčne prijave je goljufija po argentinski zakonodaji. Uporabljajte jih samo za:
- Razvoj programske opreme in testiranje
- Zagotavljanje kakovosti in testna okolja
- Izobraževalne demonstracije
- Validacijo celovitosti podatkov
Zakaj kod tipa 30 velja za več vrst entitet?
AFIP je poenostavil klasifikacijo entitet z združevanjem podobnih entitet pod kodo 30 (podjetja, fundacije, vladne agencije, skladi). Dejanska razlika tipa entitete se zgodi v AFIP-jevem notranjem registracijskem sistemu, ne v CUIT-u samem. Ta načrtovalski pristop je dal prednost preprostosti pred granularno klasifikacijo - kompromis, ki sistem naredi lažje izvedljiv, a manj sam po sebi dokumentiran.
Kako natančen je kontrolni znak pri zaznavanju napak?
Algoritem modulo-11 z utežnimi faktorji zazna približno 90% posameznih napak v številkah in 98% napak pri zamenjavi sosednjih številk. Ne bo zaznal vseh napak - na primer, če zamenjate dve številki, ki naključno sovpadajo z enakimi utežnimi faktorji, kontrolni znak ostane veljaven. Toda za tipične napake pri vnosu podatkov je zelo učinkovit.
Ali CUIT-i potečejo ali se spremenijo?
CUIT-i so trajni ves čas življenja davčnega zavezanca. Izjeme vključujejo:
- Spremembe identitete spola (Argentina dovoljuje posodobitev CUIT-a glede na spol)
- Velike pravne prestrukturacije (spojitve podjetij lahko sprožijo nove CUIT-e)
- Goljufija ali kraja identitete (AFIP lahko razveljavi ogrožene CUIT-e)
Za razliko od nekaterih držav, kjer se davčne identifikacijske številke periodično osvežujejo, so CUIT-i v Argentini zasnovani kot življenjski identifikatorji za zmanjšanje administrativnih stroškov.
Kaj se zgodi, če vnesem CUIT brez pomišljajev?
Večina argentinskih sistemov sprejema CUIT-e z ali brez pomišljajev - osnovna validacija odstrani formatne znake pred preverjanjem številk. Naš validator obravnava obe obliki: 30-12345678-1 in 30123456781 se obravnavata identično. Pri integraciji z API-ji preverite njihovo dokumentacijo; nekateri zahtevajo natančno formatiranje, medtem ko drugi samodejno normalizirajo vnos.
Ali lahko tuja podjetja dobijo argentinske CUIT-e?
Da. Tuje entitete, ki poslujejo v Argentini, prejmejo CUIT-e z uporabo kode tipa 30, enako kot domača podjetja. Morajo se registrirati pri AFIP-u in običajno potrebujejo lokalnega pravnega zastopnika. CUIT se poveže z njihovo tujo davčno identifikacijsko številko v AFIP-ovih evidencah, kar omogoča čezmejno usklajevanje davčnih sporazumov.
Kako generiram testne CUIT-e za različne vrste entitet?
Izberite vrsto entitete iz spustnega menija (Podjetje, Moški/Ženski posameznik, Združenje itd.) in kliknite "Generiraj CUIT". Orodje samodejno dodeli pravilno kodo tipa (30 za podjetja, 20 za moške, 27 za ženske, 33 za združenja) in izračuna ustrezno kontrolno številko. Generirajte jih toliko, kot jih potrebujete - ni omejitev za testne namene.
Uradne reference in nadaljnje branje
-
Zvezna uprava za javne prihodke (AFIP) - Argentinski uradni davčni organ https://www.afip.gob.ar/
-
Potrdilo o vpisu AFIP - Uradna storitev preverjanja CUIT https://www.afip.gob.ar/genericos/consultaCUIT/
-
Zakon 11.683 o davčnem postopku - Davčni postopkovni zakon, ki določa zahteve CUIT Uradni list Argentine
-
Splošna resolucija AFIP 1817/2005 - Postopki registracije in identifikacije Uradna dokumentacija AFIP
-
Zakon 25.326 o varstvu osebnih podatkov - Zakon o varstvu osebnih podatkov, ki ureja uporabo CUIT https://www.argentina.gob.ar/aaip/datospersonales
-
Ekonomska komisija Združenih narodov za Latinsko Ameriko - "Davčna politika v Latinski Ameriki: Ocena in smernice za reformo" Gómez Sabaini, J.C., & Morán, D. (2016) - Primerjalna analiza davčnih sistemov, vključno z Argentino
-
Revija za davčno upravo - Raziskave o sistemih davčne identifikacije in algoritmih kontrolnih številk https://www.jota.website/
Začnite z validacijo CUIT
Ne glede na to, ali gradite plačilni prehod za argentinske trgovce, selite stare podatkovne zbirke strank ali preverjate skladnost vaše e-commerce platforme z zahtevami AFIP, vam to orodje pomaga zaupljivo delati s CUIT-i.
Ustvarjajte testne podatke, ki ne bodo pokvarili vašega staging okolja. Preverjajte nabore podatkov pred migracijo. Razumite algoritem Argentine davčne identifikacije.
Brez API ključev. Brez omejitev hitrosti. Brez nepotrebnih funkcij. Samo zanesljivo generiranje in validacija CUIT-a, ko jih potrebujete.