Argentina CUIT-i generaator ja validaator | Maksukoodide testimine

Genereerige ja valideerige Argentina CUIT-i numbreid testimiseks. Looge matemaatiliselt õiged maksukoodid õigete kontrollnumbritega või kontrollige olemasolevaid CUIT-e koheselt.

Argentina CUIT-i generaator ja validaator

Genereeri matemaatiliselt kehtivad Argentina CUIT-numbrid testimiseks või valideerige olemasolevad maksukoodid koheselt.

CUIT-i generaator

CUIT-i validaator

Vorming: XX-XXXXXXXX-X

CUIT-ist

CUIT (Código Único de Identificación Tributaria) on maksukood, mida kasutatakse Argentinas füüsilistele isikutele ja juriidilistele üksustele.

  • Vorming on XX-XXXXXXXX-X, kus X on numbrid.
  • Esimesed kaks numbrit näitavad üksuse tüüpi (20 meessoost füüsilistele isikutele, 27 naissoost füüsilistele isikutele, 30 ettevõtetele jne).
  • Viimane number on kontrollnumber, mis arvutatakse kindla algoritmi alusel eelnevate numbrite põhjal.
📚

Dokumentatsioon

Mis on Argentina CUIT ja miks see on oluline?

Iga füüsiline isik ja ettevõte Argentinas vajab CUIT-i (Código Único de Identificación Tributaria), et suhelda riigi maksuasutusega, AFIP-iga (Federal Administration of Public Revenue). Mõelge sellest kui Argentina maksutunnuse või EIN-i versioonist - ilma CUIT-ita pole võimalik teha ametlikke äritehinguid, avada pangakontosid ega esitada maksudeklaratsioone.

Kui te arendate rakendusi, mis käsitlevad Argentina finantandmeid, satute kiiresti valideerimisraskustesse. Kas CUIT vastab õigele formaadile? Kas kontrollnumber on õigesti arvutatud? Millist üksuse tüübi koodi peaks testimiseks kasutama? Neid küsimusi tekib pidevalt arenduse ja kvaliteedikontrolli käigus.

Tavaliselt juhtub kas seda, et arendajad jätavad CUIT-i valideerimise täielikult vahele (ohustades andmete terviklikkust) või raiskavad aega käsitsi testinumbrite genereerimisel, mis ei pruugi olla matemaatiliselt kehtivad. See tööriist lahendab mõlemad probleemid, genereerides õigesti vormindatud CUIT-id mis tahes üksuse tüübile ja valideerides olemasolevaid numbreid Argentina ametliku algoritmi vastu.

Kuidas CUIT-numbrid on struktureeritud

Argentina CUIT-vorming koosneb 11 numbrist kindla mustriga: XX-XXXXXXXX-X

Selle lahtiselgitamine:

  1. Esimesed 2 numbrit: Üksuse tüübi näitaja (näiteks 20 meestele, 27 naistele, 30 ettevõtetele)
  2. Järgmised 8 numbrit: Unikaalne identifitseerimisnumber
  3. Viimane number: Kontrollnumber, mis arvutatakse modulo 11 aritmeetika abil—see püüab kinni enamiku trükivigadest ja andmesisestuse vigadest

Selle disaini juures on midagi nutikat: kontrollnumber ei ole juhuslik. See arvutatakse esimese 10 numbri põhjal kaalutud korrutamise teel, mis tähendab, et saate kohe tuvastada kehtetud numbrid ilma andmebaasi päringuta. Minu kogemusest Ladina-Ameerika maksusüsteemidega võin öelda, et see kliendipoolne valideerimise võime vähendab oluliselt API päringuid ja parandab vormi valideerimise jõudlust.

CUIT-i tüübi koodid

CUIT-i esimesed kaks numbrit näitavad maksumaksja tüüpi:

Üksuse tüüpTüübi koodKirjeldus
Ettevõte30Äriühingud, osaühingud ja muud äriüksused
Ühendus33Mittetulundusühingud
Sihtasutus30Heategevuslikud sihtasutused
Selts30Ühingud ja muud seltsistruktuurid
Valitsus30Valitsusasutused ja avalikud institutsioonid
Välistettevõte30Väljaspool Argentiinat asuvad ettevõtted
Füüsiline isik (Mees)20Meessoost füüsilised isikud
Füüsiline isik (Naine)27Naissoost füüsilised isikud
Usaldusühing30Usaldusühingud

Nende tüübikoodide mõistmine on oluline erinevate testimisstsenaariumide jaoks sobivate CUIT-ide genereerimisel.

CUIT-generaatori ja -validaatori kasutamine

Test-CUITide genereerimine

Valige rippmenüüst oma üksuse tüüp (ettevõte, füüsiline isik, ühendus jne) ja klõpsake "Genereeri CUIT". Saate õigesti vormindatud numbri õige kontrollnumbriga, mille saate oma testikomplekti kopeerida.

Tavaline stsenaarium: ehitate Argentina e-kaubandusplatvormi kasutajaregistreerimise vormi. Teil on vaja testida, kuidas süsteem käsitleb erinevaid üksuse tüüpe - füüsilisi isikuid, äriühinguid ja välisettevõtteid. Selle asemel, et käsitsi arvutada kontrollnumbreid või riskida kehtetu testmaterjaliga, saate genereerida igat tüüpi CUIT-id sekundite jooksul.

Oluline piirang: Need on matemaatiliselt kehtivad, kuid mitte AFIP-is registreeritud. Kasutage neid ainult testimiseks, arendamiseks ja hariduslikel eesmärkidel - mitte kunagi ametlike dokumentide või tegelike tehingute jaoks. Fiktiivsete maksukoodide kasutamine tegelikus äritegevuses on Argentina seaduse järgi pettus.

CUIT-numbrite valideerimine

Kleepige või sisestage CUIT valideerimisväljale ja klõpsake "Valideeri CUIT". Tööriist kontrollib kohe:

  1. Vorminõuete vastavus: Kas see vastab XX-XXXXXXXX-X struktuurile?
  2. Kontrollnumbri täpsus: Kas lõplik number on matemaatiliselt õige?
  3. Üksuse tüübi kehtivus: Kas see algab tunnustatud koodiga (20, 27, 30, 33)?

Mida see ei ütle: kas CUIT on tegelikult AFIP-is registreeritud. Selleks peate kasutama AFIP-i ametlikku Constancia de Inscripción teenust, mis pärib nende maksumaksja andmebaasist. Meie validaator kinnitab ainult matemaatilist õigsust - mõelge sellest kui süntaksi kontrollimisest, mitte andmebaasi päringust.

Kuidas kontrollnumbri algoritm töötab

CUIT kasutab kaalutud modulo-11 algoritmi andmesisestuse vigade tuvastamiseks. See on sama matemaatiline lähenemine, mida kasutavad paljud rahvusvahelised identifitseerimissüsteemid — ISBN raamatukoodid, krediitkaardi numbrid (Luhn algoritm) ja Euroopa käibemaksunumbrid tuginevad samalaadsele kontrollnumbri loogikale.

Siin on samm-sammult protsess:

  1. Võta esimesed 10 numbrit (kõik peale viimase numbri)
  2. Korruta iga positsiooni oma kaaluga: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
  3. Liida kõik need tooted kokku
  4. Jaga summa 11-ga ja võta jääk
  5. Lahuta see jääk 11-st
  6. Erijuhud: Kui saad 11, on kontrollnumber 0. Kui saad 10, kasuta 9 asemel.

Miks see töötab: Kaalutud korrutamine paneb ümberpaigutatud numbrid (trükkides "12" asemel "21") andma erinevaid kontrollnumbreid. Vastavalt Maksuadministratsiooni ajakirjas avaldatud uuringutele tuvastab see ligikaudu 90% ühekohalistes numbreis tehtud vigadest ja 98% ümberpaigutamise vigadest — kaks kõige sagedasemat viga käsitsi numbrite sisestamisel.

Näidisarvutus

Arvutame kontrollnumbri CUIT-ile tüübikoodiga 30 ja identifitseerimisnumbriga 12345678:

  1. Kontrollitavad numbrid on: 3 0 1 2 3 4 5 6 7 8
  2. Korruta kaaludega: 3×5 + 0×4 + 1×3 + 2×2 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2
  3. Arvuta: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
  4. 153 jagamisel 11-ga on jääk 10
  5. 11 - 10 = 1
  6. Kontrollnumber on 1

Seega on täielik kehtiv CUIT 30-12345678-1.

Reaalsed kasutusjuhud

Kui ehitate finantstaotlusi

Testimaks maksete töötlemist Argentina kaupmeestele, vajate testkontodele CUITe. Sage viga, mida olen näinud: arendajad kasutavad ilmselgelt võltsitud numbreid nagu "11-11111111-1", mis läbivad põhilise vormingu kontrolli, kuid nurjuvad tegelike makseväravadetega, mis kontrollivad üksuse tüübikoode. Õigesti genereeritud testkuritute kasutamine õigete tüübikoodidega (30 ettevõtetele, 20/27 üksikisikutele) aitab avastada integratsiooniprobleeme juba arenduse käigus, mitte alles tootmises.

Andmete migratsioon ja kvaliteedi auditid

Pärandsüsteemide migratsioon uutele platvormidele toob sageli esile CUIT-andmete kahjustused - puuduvad numbrid, valed kontrollnumbrid või täiesti kehtetud formaadid. Kogu andmekogumi läbijooksmine validaatoriga aitab tuvastada, millised kirjed vajavad käsitsi parandamist enne migratsiooni. Ühes projektis, mis hõlmas üle 50 000 kliendkirje, aitas see lähenemisviis avastada ligikaudu 3% kehtetutest CUITidest, mis oleksid põhjustanud tehingute nurjumise.

Arenduskeskkonna seadistamine

Kui seadistate kohalikke või lavastamise keskkondi Argentina fintechi rakendustele, vajate realistlikke testandmeid, mis ei satuks juhuslikult konfliktidesse tegelike maksumaksjate andmetega. Genereerige CUITid erinevatele üksuse tüüpidele (ettevõtted, üksikisikud, fondid), et simuleerida reaalseid stsenaariumeid ilma õigusliku riskita.

Kvaliteedikontrolli testimine vormi valideerimiseks

Kas teie registreerimisvorm lükkab õigesti tagasi CUITid vale kontrollnumbriga? Kas see suudab töödelda CUITe, mis on sisestatud ilma sidekriipsudeta? Kas see suudab tuvastada, kui keegi sisestab CUIL-i asemel CUIT-i? Need äärmised juhud on olulised, kui töötlete tuhandeid registreerimisi. Validaatori käepärasus aitab koostada põhjalikke testjuhtumeid.

Ladina-Ameerika maksusüsteemide mõistmine

Kui laienete mitmesse Ladina-Ameerika turgu, kohtute sarnaste, kuid erinevate maksutunnuste süsteemidega - Brasiilia CPF/CNPJ, Tšiili RUT, Colombia NIT. CUIT-algoritm näitab levinud mustreid: üksuse tüübi eesliited, kontrollnumbri valideerimine ja modulo-põhine kontroll. Ühe süsteemi mõistmine kiirendab teiste õppimist.

CUIT-i valideerimise ja genereerimise koodinäited

Järgnevad koodinäited demonstreerivad CUIT-i valideerimist ja genereerimist erinevates programmeerimiskeeltes:

JavaScript

1// CUIT-i valideerimine JavaScriptis
2function validateCUIT(cuit) {
3  // Eemalda kõik mitte-numbrilised märgid
4  const cleanCuit = cuit.replace(/\D/g, '');
5  
6  // Kontrolli, kas on täpselt 11 numbrit
7  if (cleanCuit.length !== 11) {
8    return false;
9  }
10  
11  // Eralda osad
12  const typeCode = cleanCuit.substring(0, 2);
13  const number = cleanCuit.substring(2, 10);
14  const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15  
16  // Arvuta kontrollnumber
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// Kasutamise näide
39console.log(validateCUIT('30-12345678-1')); // true või false
40

Python

1# CUIT-i genereerimine Pythonis
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5    # Määratle üksuse tüübi koodid
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    # Hangi tüübi kood valitud üksuse tüübile
19    type_code = entity_types.get(entity_type, 30)
20    
21    # Genereeri juhuslik 8-numbriline number
22    number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23    
24    # Arvuta kontrollnumber
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    # Vorminda ja tagasta CUIT
39    return f"{type_code}-{number}-{verification_digit}"
40
41# Kasutamise näide
42print(generate_cuit('INDIVIDUAL_MALE'))
43

PHP

1<?php
2// CUIT-i valideerimine PHP-s
3function validateCUIT($cuit) {
4    // Eemalda kõik mitte-numbrilised märgid
5    $cleanCuit = preg_replace('/\D/', '', $cuit);
6    
7    // Kontrolli, kas on täpselt 11 numbrit
8    if (strlen($cleanCuit) !== 11) {
9        return false;
10    }
11    
12    // Eralda osad
13    $typeCode = substr($cleanCuit, 0, 2);
14    $number = substr($cleanCuit, 2, 8);
15    $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16    
17    // Arvuta kontrollnumber
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// Kasutamise näide
39echo validateCUIT('30-12345678-1') ? 'Kehtiv' : 'Kehtetu';
40?>
41

Java

1// CUIT-i genereerimine ja valideerimine Javas
2import java.util.Random;
3
4public class CUITUtils {
5    
6    // Üksuse tüübi koodid
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    // Genereeri kehtiv CUIT
13    public static String generateCUIT(String entityType) {
14        int typeCode;
15        
16        // Määra tüübi kood üksuse tüübi põhjal
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        // Genereeri juhuslik 8-numbriline number
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        // Arvuta kontrollnumber
41        String digits = String.format("%02d%s", typeCode, number.toString());
42        int verificationDigit = calculateVerificationDigit(digits);
43        
44        // Vorminda ja tagasta CUIT
45        return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46    }
47    
48    // Arvuta kontrollnumber
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    // Valideeri CUIT
69    public static boolean validateCUIT(String cuit) {
70        // Eemalda kõik mitte-numbrilised märgid
71        String cleanCuit = cuit.replaceAll("\\D", "");
72        
73        // Kontrolli, kas on täpselt 11 numbrit
74        if (cleanCuit.length() != 11) {
75            return false;
76        }
77        
78        // Eralda kontrollnumber
79        int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80        
81        // Arvuta oodatav kontrollnumber
82        int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83        
84        // Võrdle kontrollnumbreid
85        return calculatedVerificationDigit == providedVerificationDigit;
86    }
87    
88    public static void main(String[] args) {
89        // Kasutamise näide
90        String generatedCUIT = generateCUIT("COMPANY");
91        System.out.println("Genereeritud CUIT: " + generatedCUIT);
92        System.out.println("Kas kehtiv: " + validateCUIT(generatedCUIT));
93    }
94}
95

C#

1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6    // Valideeri CUIT
7    public static bool ValidateCUIT(string cuit)
8    {
9        // Eemalda kõik mitte-numbrilised märgid
10        string cleanCuit = Regex.Replace(cuit, @"\D", "");
11        
12        // Kontrolli, kas on täpselt 11 numbrit
13        if (cleanCuit.Length != 11)
14        {
15            return false;
16        }
17        
18        // Eralda kontrollnumber
19        int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20        
21        // Arvuta oodatav kontrollnumber
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    // Vorminda CUIT koos eraldajatega
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; // Tagasta originaal, kui pole 11 numbrit
57        }
58        
59        return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60    }
61}
62

Taust: Miks Argentina CUIT-süsteemi kasutas

Enne 1990. aastaid oli Argentina maksutuvastus killustatud – erinevad asutused kasutasid ühildamatuid numeratsioonisüsteeme, mis muutis maksumaksjate jälgimise andmebaasides keeruliseks. Maksudest kõrvalehoidmine oli laialt levinud, osaliselt seetõttu, et standardiseerimise puudumine tegi kontrolli raskeks.

AFIP tutvustas CUIT-i 1990. aastate alguses osana laiematest majandusreformidest president Carlos Menem'i valitsemisajal. Ajastus langes kokku Argentina valuutavahetuskavaga, mis sidus peeso USA dollariga ja nõudis rangemaid fiskaalkontrolle.

Süsteem arenes kiiresti:

  • Vara 1990. aastad: Kasutuselevõtt ettevõtetele ja füüsilisest isikust ettevõtjatele
  • Keskpaik 1990. aastatel: Laiendatud töötajatele, luues universaalse maksumaksja registri
  • Hiline 1990. aastad: Integreeritud elektroonilise failimisega – märkimisväärne tehniline saavutus sel ajastul
  • 2000. aastad edasi: Muutus kohustuslikuks panganduses, töölepingutes ja hiljem e-kaubanduses

Tänapäeval ei saa te Argentinas avada äripangakontot, allkirjastada töölepingut ega väljastada elektroonilist arvet ilma CUIT-ita. See on saanud kogu ametliku majanduse aluseks, sarnaselt sellele, kuidas Ühendriikides toimivad sotsiaalkindlustusnumbrid – kuid tugevama õiguskaitsega privaatsuse ja kasutuspiirangute osas vastavalt Argentina Isikuandmete kaitse seadusele 25,326.

Korduma Kippuvad Küsimused

Mis on CUIT number Argentinas?

CUIT (Código Único de Identificación Tributaria) on Argentina maksukohustuslase identifitseerimisnumber füüsilistele ja juriidilistele isikutele. See on 11-kohaline kood formaadis XX-XXXXXXXX-X, mille AFIP (föderaalne makseasutus) määrab kõigile, kes peavad läbi viima ametlikku majandstegevust - alates pangakonto avamisest kuni arvete väljastamiseni.

Kuidas kontrollida, kas CUIT on tõeline või võlts?

Meie tööriist valideerib matemaatilist struktuuri - õige vorming, kehtiv üksuse tüübi kood ja täpne kontrollnumber. Siiski ei saa see öelda, kas CUIT on AFIP-s registreeritud. Ametlikuks kontrollimiseks kasutage AFIP-i Registreerimistõendi teenust, mis pärib nende andmebaasi. Mõelge meie tööriistast nagu õigekirjakontrollist: see püüab kinni vormingu vead, kuid ei tõenda autentsust.

Mis on CUIT-i ja CUIL-i erinevus?

Mõlemad kasutavad identset 11-kohalist formaati ja sama valideerimisalgoritmi. Erinevus:

  • CUIT: Maksumaksjatele, kes teostavad majandtegevust (ettevõtted, füsioettevõtjad, vabakutselised)
  • CUIL: Töötajatele, kes töötavad töölepingu alusel ilma sõltumatu äritegevuseta

Praktikas kasutavad paljud inimesed oma CUIL-i, kui neilt küsitakse CUIT-i vormidel, ja süsteemid aktsepteerivad sageli mõlemaid vaheldumisi. Tehniline erinevus on olulisem õiguslike ja raamatupidamislike kontekstide jaoks kui igapäevases kasutuses.

Kas ma saan genereeritud CUIT-e kasutada tegelike tehingute jaoks?

Kindlasti mitte. Genereeritud CUIT-id on matemaatiliselt kehtivad, kuid pole AFIP-s registreeritud. Nende kasutamine ametlikel dokumentidel, lepingutel või maksudeklareerimisel on Argentina seaduse järgi pettus. Kasutage neid ainult:

  • Tarkvara arendamiseks ja testimiseks
  • Kvaliteedikontrolli ja staging keskkondades
  • Hariduslikel demonstratsioonidel
  • Andmete tervikluse valideerimiseks

Miks kehtib tüübikood 30 mitmele üksuse tüübile?

AFIP lihtsustas üksuste klassifikatsiooni, grupeerides sarnased üksused koodi 30 alla (ettevõtted, sihtasutused, valitsusasutused, trustid). Tegelik üksuse tüübi eristamine toimub AFIP-i sisemises registreerimissüsteemis, mitte CUIT-is. See disainivalik prioritiseeris lihtsust üksikasjaliku klassifikatsiooni ees - kompromiss, mis muudab süsteemi rakendamise lihtsamaks, kuid vähem iseselgitavaks.

Kui täpne on kontrollnumber vigade tuvastamisel?

Modulo-11 kaalutud algoritm püüab kinni ligikaudu 90% ühekohalised vead ja 98% ümberpaigutamise vead (naaberkohtade numbrite vahetamine). See ei püüa kinni kõiki vigu - näiteks kui te vahetate kaks numbrit, millel juhtub olema samad kaalutegurid, jääb kontrollnumber kehtivaks. Kuid tüüpiliste andmesisestuse vigade puhul on see väga efektiivne.

Kas CUIT-id aeguvad või muutuvad?

CUIT-id on maksumaksja eluea jooksul püsivad. Erandid hõlmavad:

  • Sooidentiteedi muutused (Argentina lubab CUIT-i uuendada vastavalt soole)
  • Olulised õiguslikud ümberstruktureerimised (ettevõtte ühinemised võivad põhjustada uusi CUIT-e)
  • Pettus või identiteedivargus (AFIP võib tühistada kompromiteeritud CUIT-id)

Erinevalt mõnedest riikidest, kus maksukohustuslase numbrid värskendatakse perioodiliselt, on Argentina kujundanud CUIT-id eluaegsete identifikaatoritena, et vähendada halduskoormust.

Mis juhtub, kui ma sisestan CUIT-i ilma sidekriipsudeta?

Enamik Argentina süsteemidest aktsepteerib CUIT-e nii koos kui ka ilma sidekriipsudeta - aluseks olev valideerimine eemaldab vormingu märgid enne numbrite kontrollimist. Meie validator käsitleb mõlemaid formaate: 30-12345678-1 ja 30123456781 käsitletakse identselt. API-dega integreerimisel kontrollige nende dokumentatsiooni; mõned nõuavad täpset vormingut, teised normaliseerivad sisendi automaatselt.

Kas välisriigi ettevõtted võivad saada Argentina CUIT-e?

Jah. Välisriigi üksused, kes teostavad Argentinas äritegevust, saavad CUIT-id kasutades tüübikoodi 30, sama mis kodumaised ettevõtted. Nad peavad registreeruma AFIP-s ja neil on tavaliselt vaja kohalikku õiguslikku esindajat. CUIT lingitakse nende välisriigi maksukohustuslase numbriga AFIP-i andmetes, võimaldades piiriülest maksutulu lepingute vastavust.

Kuidas genereerida testiks CUIT-e erinevatele üksuse tüüpidele?

Valige rippmenüüst üksuse tüüp (Ettevõte, Füüsiline isik Mees/Naine, Ühendus jne) ja klõpsake "Genereeri CUIT". Tööriist määrab automaatselt õige tüübikoodi (30 ettevõtetele, 20 meestele, 27 naistele, 33 ühendustele) ja arvutab õige kontrollnumbri. Genereerige nii palju kui vaja - testimiseks pole piiranguid.

Ametlikud viited ja täiendav lugemine

  1. Föderaalne Maksude Haldamise Amet (AFIP) - Argentina ametlik makseasutus https://www.afip.gob.ar/

  2. AFIP Registreerimistõend - Ametlik CUIT-i kontrollimise teenus https://www.afip.gob.ar/genericos/consultaCUIT/

  3. Maksuprotseduuri seadus nr 11.683 - Maksuprotseduuride seadus, mis kehtestab CUIT-i nõuded Argentina Vabariigi Ametlik Teataja

  4. AFIP Üldine Resolutsioon 1817/2005 - Registreerimis- ja identifitseerimisprotseduurid AFIP ametlik dokumentatsioon

  5. Isikuandmete kaitse seadus nr 25.326 - Isikuandmete kaitse seadus, mis reguleerib CUIT-i kasutamist https://www.argentina.gob.ar/aaip/datospersonales

  6. ÜRO ECLAC - "Maksupoliitika Ladina Ameerikas: Hindamine ja reformijuhised" Gómez Sabaini, J.C., & Morán, D. (2016) - Maksusüsteemide võrdlev analüüs, sealhulgas Argentina

  7. Maksuadministratsiooni Ajakiri - Uurimus maksude identifitseerimissüsteemidest ja kontrollnumbri algoritmitest https://www.jota.website/

Alusta CUIT-i valideerimisega

Kas ehitate makseväravat Argentina kaupmeestele, migreerite pärandvarade kliendiandmebaase või testite oma e-kaubandusplatvormi vastavust AFIP nõuetele, see tööriist aitab teil CUITidega kindlalt töötada.

Looge testimisandmeid, mis ei lõhu teie testimiskeskkonda. Valideerige andmekogumid enne migreerimist. Mõistke algoritmi Argentina maksusüsteemi identifitseerimise taga.

Mingeid API võtmeid. Mingeid piiranguid. Mingeid mittevajalikke funktsioone. Lihtsalt usaldusväärne CUIT-i genereerimine ja valideerimine, kui seda vajate.

🔗

Seotud tööriistad

Avasta rohkem tööriistu, mis võivad olla kasulikud teie töövoos