Generera giltiga argentinska CUIT-nummer (skatteidentifieringskoder) och validera befintliga med detta enkla verktyg som är utformat för testscenarier. Inga komplexa funktioner, bara enkel CUIT-generering och validering.
Ett enkelt verktyg för att generera och validera argentinska skatteidentifieringskoder (CUIT) för teständamål.
Format: XX-XXXXXXXX-X
CUIT (Código Único de Identificación Tributaria) är den skatteidentifieringskod som används i Argentina för individer och juridiska personer.
CUIT (Código Único de Identificación Tributaria) är Argentinas unika skatteidentifieringskod, en kritisk identifierare för alla skattebetalare i det argentinska skattesystemet. Denna viktiga numeriska kod fungerar som den primära identifieraren för individer och juridiska enheter när de interagerar med AFIP (Federal Administration of Public Revenue) och genomför affärsverksamhet i hela Argentina. Vårt verktyg för Argentina CUIT Generator och Validator erbjuder en enkel, effektiv lösning för att generera matematiskt giltiga CUIT:er för teständamål och validera befintliga CUIT-nummer.
Oavsett om du är utvecklare som testar applikationer som bearbetar argentinsk skatteinformation, en QA-specialist som verifierar dataintegritet eller en affärsanalytiker som förbereder testdatamängder, förenklar detta verktyg processen att arbeta med CUIT-nummer utan komplexiteten av API-integrationer eller onödiga funktioner.
Den argentinska CUIT följer ett specifikt format som består av 11 siffror arrangerade som:
1XX-XXXXXXXX-X
2
Detta standardiserade format kan delas upp i tre distinkta komponenter:
De första två siffrorna i en CUIT anger typen av skattebetalare:
Enhetstyp | Typkod | Beskrivning |
---|---|---|
Företag | 30 | Aktiemarknadsbolag, LLC:er och andra affärsenheter |
Förening | 33 | Ideella föreningar |
Stiftelse | 30 | Välgörenhetsstiftelser |
Sällskap | 30 | Partnerskap och andra sällskapsstrukturer |
Stat | 30 | Statliga enheter och offentliga institutioner |
Utländskt företag | 30 | Företag baserade utanför Argentina |
Individ (Man) | 20 | Manliga individer |
Individ (Kvinna) | 27 | Kvinna individer |
Trust | 30 | Trust-enheter |
Att förstå dessa typkoder är avgörande för att generera lämpliga CUIT:er för olika testscenarier.
Vårt verktyg erbjuder två primära funktioner: generera giltiga CUIT:er och validera befintliga. Här är hur man använder varje funktion effektivt:
Generatorn skapar slumpmässiga men matematiskt giltiga CUIT:er som följer den officiella algoritmen som används av AFIP. Dessa CUIT:er är perfekta för att testa system som kräver giltiga CUIT-format, även om de inte är registrerade i officiella databaser.
Validatorn kontrollerar både formatet och den matematiska giltigheten av CUIT:en genom att verifiera att kontrollsiffran matchar det beräknade värdet baserat på de föregående siffrorna.
Verifieringssiffran (den sista siffran) av en CUIT beräknas med hjälp av en specifik algoritm som är utformad för att upptäcka vanliga fel vid datainmatning. Att förstå denna algoritm hjälper till att förklara hur vårt verktyg validerar CUIT:er:
Låt oss beräkna verifieringssiffran för en CUIT med typkod 30 och identifieringsnummer 12345678:
Därför är den kompletta giltiga CUIT:en 30-12345678-1.
Verktyget för Argentina CUIT Generator och Validator tjänar flera praktiska syften inom olika professionella sammanhang:
Följande kodexempel visar hur man implementerar CUIT-validering och -generering i olika programmeringsspråk:
1// CUIT Validering i JavaScript
2function validateCUIT(cuit) {
3 // Ta bort alla icke-siffriga tecken
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Kontrollera om det har exakt 11 siffror
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Extrahera delar
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // Beräkna verifieringssiffra
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// Exempelanvändning
39console.log(validateCUIT('30-12345678-1')); // true eller false
40
1# CUIT Generering i Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Definiera enhetstypkoder
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 # Hämta typkod för den valda enhetstypen
19 type_code = entity_types.get(entity_type, 30)
20
21 # Generera slumpmässigt 8-siffrigt nummer
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Beräkna verifieringssiffra
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 # Formatera och returnera CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Exempelanvändning
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// CUIT Validering i PHP
3function validateCUIT($cuit) {
4 // Ta bort alla icke-siffriga tecken
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Kontrollera om det har exakt 11 siffror
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Extrahera delar
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Beräkna verifieringssiffra
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// Exempelanvändning
39echo validateCUIT('30-12345678-1') ? 'Giltig' : 'Ogiltig';
40?>
41
1// CUIT Generering och Validering i Java
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Enhetstypkoder
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 // Generera en giltig CUIT
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Bestäm typkod baserat på enhetstyp
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 // Generera slumpmässigt 8-siffrigt nummer
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 // Beräkna verifieringssiffra
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Formatera och returnera CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Beräkna verifieringssiffra
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 // Validera en CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Ta bort alla icke-siffriga tecken
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Kontrollera om det har exakt 11 siffror
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Extrahera verifieringssiffra
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Beräkna förväntad verifieringssiffra
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Jämför verifieringssiffror
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Exempelanvändning
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("Genererad CUIT: " + generatedCUIT);
92 System.out.println("Är giltig: " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Validera en CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Ta bort alla icke-siffriga tecken
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Kontrollera om det har exakt 11 siffror
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Extrahera verifieringssiffra
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Beräkna förväntad verifieringssiffra
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 // Formatera en CUIT med korrekta avgränsare
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; // Återvänd originalet om det inte är 11 siffror
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
CUIT-systemet etablerades i Argentina i början av 1990-talet som en del av en bredare skattereforminitativ som syftade till att modernisera landets skattemässiga infrastruktur och minska skatteflykt. Den federala skattemyndigheten (AFIP), Argentinas skatteverk, implementerade CUIT som ett standardiserat identifieringssystem för alla skattebetalare.
Innan införandet av CUIT använde Argentina olika inkonsekventa identifieringssystem för olika typer av skattebetalare, vilket gjorde skatteadministrationen ineffektiv och skapade möjligheter för bristande efterlevnad. CUIT enade dessa system till en enda, verifierbar identifierare som kunde användas över alla skatterelaterade aktiviteter.
Viktiga milstolpar i utvecklingen av CUIT-systemet inkluderar:
CUIT har blivit en grundläggande del av Argentinas ekonomiska och finansiella system, som tjänar inte bara för skatteändamål utan också för bankverksamhet, anställning, social trygghet och affärstransaktioner.
Ett CUIT (Código Único de Identificación Tributaria) är Argentinas unika skatteidentifieringskod som tilldelas individer och juridiska enheter för skatteändamål. Det består av 11 siffror i formatet XX-XXXXXXXX-X, där de första två siffrorna anger typen av enhet, de mittersta åtta siffrorna är ett identifieringsnummer och den sista siffran är en verifieringssiffra.
En giltig CUIT måste:
Vårt CUIT-valideringsverktyg kan omedelbart kontrollera om en CUIT uppfyller dessa kriterier.
Även om de är lika i format, tjänar CUIT och CUIL olika syften:
Båda följer samma format och verifieringsalgoritm, men de används i olika sammanhang.
Nej. De CUIT:er som genereras av detta verktyg är matematiskt giltiga men är inte registrerade i AFIP:s officiella databas. De bör endast användas för testning, utveckling eller utbildningsändamål. Att använda fiktiva CUIT:er för officiella dokument eller transaktioner kan utgöra bedrägeri.
AFIP har tilldelat samma typkod (30) till flera enhetstyper inklusive företag, stiftelser och statliga enheter. Detta är en del av det officiella klassificeringssystemet och påverkar inte giltigheten av CUIT:en. Den specifika enhetstypen bestäms av ytterligare registreringsinformation i AFIP:s system.
CUIT:er är permanenta identifierare som vanligtvis inte ändras under en individs eller enhets livstid. I vissa specifika fall som förändringar i juridisk status eller könsbyte kan en ny CUIT tilldelas.
Ja, men inte genom vårt verktyg. AFIP tillhandahåller en officiell tjänst kallad "Constancia de Inscripción" på sin webbplats där du kan verifiera om en CUIT är officiellt registrerad och aktiv. Vårt verktyg validerar endast den matematiska korrektheten av en CUIT.
Vanliga fel inkluderar:
Vår validator hjälper till att identifiera dessa problem genom att kontrollera både format och matematisk giltighet.
Vårt verktyg tillåter dig att välja mellan olika enhetstyper innan du genererar en CUIT. Välj helt enkelt den lämpliga enhetstypen från rullgardinsmenyn och klicka på "Generera CUIT." Verktyget kommer automatiskt att använda rätt typkod för ditt val.
Nej, vårt verktyg sätter inga begränsningar för antalet CUIT:er du kan generera eller validera. Det är utformat för bekvämlighet i test- och utbildningsscenarier där du kan behöva flera giltiga CUIT:er.
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).
Verktyget för Argentina CUIT Generator och Validator erbjuder en enkel, effektiv lösning för att arbeta med argentinska skatteidentifieringskoder i test- och utvecklingsmiljöer. Genom att förstå strukturen, formatet och verifieringsalgoritmen för CUIT:er kan användare säkerställa dataintegritet och efterlevnad av argentinska skatteidentifieringsstandarder.
Oavsett om du utvecklar mjukvara som interagerar med argentinska finansiella system, testar datavalideringsrutiner eller helt enkelt lär dig om internationella skatteidentifieringssystem, erbjuder vårt verktyg den funktionalitet du behöver utan onödig komplexitet.
Prova att generera en CUIT nu eller validera en befintlig för att uppleva enkelheten och effektiviteten hos vårt verktyg på egen hand.
Upptäck fler verktyg som kan vara användbara för din arbetsflöde