Générez des numéros de CUIT argentins valides (codes d'identification fiscale) et validez ceux existants avec cet outil simple conçu pour des scénarios de test. Pas de fonctionnalités complexes, juste une génération et une validation de CUIT simples.
Un outil simple pour générer et valider les codes d'identification fiscale argentins (CUIT) à des fins de test.
Format : XX-XXXXXXXX-X
Le CUIT (Código Único de Identificación Tributaria) est le code d'identification fiscale utilisé en Argentine pour les individus et les entités juridiques.
Le CUIT (Código Único de Identificación Tributaria) est le Code d'Identification Fiscale Unique de l'Argentine, un identifiant essentiel pour tous les contribuables dans le système fiscal argentin. Ce code numérique essentiel sert d'identifiant principal pour les individus et les entités juridiques lorsqu'ils interagissent avec l'AFIP (Administration Fédérale des Revenus Publics) et effectuent des opérations commerciales à travers l'Argentine. Notre outil de Générateur et Validateur de CUIT d'Argentine fournit une solution simple et efficace pour générer des CUIT mathématiquement valides à des fins de test et valider les numéros de CUIT existants.
Que vous soyez un développeur testant des applications qui traitent des informations fiscales argentines, un spécialiste QA vérifiant l'intégrité des données, ou un analyste commercial préparant des ensembles de données de test, cet outil simplifie le processus de travail avec les numéros de CUIT sans la complexité des intégrations API ou des fonctionnalités inutiles.
Le CUIT argentin suit un format spécifique composé de 11 chiffres disposés comme suit :
1XX-XXXXXXXX-X
2
Ce format standardisé peut être décomposé en trois composants distincts :
Les deux premiers chiffres d'un CUIT indiquent le type de contribuable :
Type d'Entité | Code Type | Description |
---|---|---|
Société | 30 | Sociétés, SARL et autres entités commerciales |
Association | 33 | Associations à but non lucratif |
Fondation | 30 | Fondations caritatives |
Société | 30 | Partenariats et autres structures sociétaires |
Gouvernement | 30 | Entités gouvernementales et institutions publiques |
Société Étrangère | 30 | Sociétés basées en dehors de l'Argentine |
Individu (Homme) | 20 | Individus masculins |
Individu (Femme) | 27 | Individus féminins |
Trust | 30 | Entités de trust |
Comprendre ces codes types est essentiel pour générer des CUIT appropriés pour différents scénarios de test.
Notre outil offre deux fonctions principales : générer des CUIT valides et valider des CUIT existants. Voici comment utiliser chaque fonctionnalité efficacement :
Le générateur crée des CUIT aléatoires mais mathématiquement valides qui suivent l'algorithme officiel utilisé par l'AFIP. Ces CUIT sont parfaits pour tester des systèmes nécessitant des formats de CUIT valides, bien qu'ils ne soient pas enregistrés dans les bases de données officielles.
Le validateur vérifie à la fois le format et la validité mathématique du CUIT en vérifiant que le chiffre de vérification correspond à la valeur calculée basée sur les chiffres précédents.
Le chiffre de vérification (le dernier chiffre) d'un CUIT est calculé à l'aide d'un algorithme spécifique conçu pour détecter les erreurs courantes de saisie de données. Comprendre cet algorithme aide à expliquer comment notre outil valide les CUIT :
Calculons le chiffre de vérification pour un CUIT avec un code type 30 et un numéro d'identification 12345678 :
Par conséquent, le CUIT valide complet est 30-12345678-1.
L'outil Générateur et Validateur de CUIT d'Argentine sert à plusieurs fins pratiques dans différents contextes professionnels :
Les exemples de code suivants démontrent comment implémenter la validation et la génération de CUIT dans divers langages de programmation :
1// Validation de CUIT en JavaScript
2function validateCUIT(cuit) {
3 // Supprimer tous les caractères non numériques
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Vérifier s'il a exactement 11 chiffres
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Extraire les parties
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // Calculer le chiffre de vérification
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// Exemple d'utilisation
39console.log(validateCUIT('30-12345678-1')); // true ou false
40
1# Génération de CUIT en Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Définir les codes de type d'entité
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 # Obtenir le code type pour le type d'entité sélectionné
19 type_code = entity_types.get(entity_type, 30)
20
21 # Générer un numéro aléatoire de 8 chiffres
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Calculer le chiffre de vérification
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 # Formater et retourner le CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Exemple d'utilisation
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// Validation de CUIT en PHP
3function validateCUIT($cuit) {
4 // Supprimer tous les caractères non numériques
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Vérifier s'il a exactement 11 chiffres
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Extraire les parties
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Calculer le chiffre de vérification
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// Exemple d'utilisation
39echo validateCUIT('30-12345678-1') ? 'Valide' : 'Invalide';
40?>
41
1// Génération et Validation de CUIT en Java
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Codes de type d'entité
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 // Générer un CUIT valide
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Déterminer le code type en fonction du type d'entité
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 // Générer un numéro aléatoire de 8 chiffres
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 // Calculer le chiffre de vérification
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Formater et retourner le CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Calculer le chiffre de vérification
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 // Valider un CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Supprimer tous les caractères non numériques
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Vérifier s'il a exactement 11 chiffres
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Extraire le chiffre de vérification
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Calculer le chiffre de vérification attendu
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Comparer les chiffres de vérification
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Exemple d'utilisation
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("CUIT Généré : " + generatedCUIT);
92 System.out.println("Est valide : " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Valider un CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Supprimer tous les caractères non numériques
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Vérifier s'il a exactement 11 chiffres
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Extraire le chiffre de vérification
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Calculer le chiffre de vérification attendu
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 // Formater un CUIT avec les séparateurs appropriés
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; // Retourner l'original si pas 11 chiffres
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
Le système CUIT a été établi en Argentine au début des années 1990 dans le cadre d'une initiative de réforme fiscale plus large visant à moderniser l'infrastructure fiscale du pays et à réduire l'évasion fiscale. L'Administration Fédérale des Revenus Publics (AFIP), l'autorité fiscale argentine, a mis en œuvre le CUIT comme un système d'identification standardisé pour tous les contribuables.
Avant l'introduction du CUIT, l'Argentine utilisait divers systèmes d'identification incohérents pour différents types de contribuables, rendant l'administration fiscale inefficace et créant des opportunités de non-conformité. Le CUIT a unifié ces systèmes en un identifiant unique et vérifiable qui pouvait être utilisé dans toutes les activités fiscales.
Les jalons clés de l'évolution du système CUIT comprennent :
Le CUIT est devenu un élément essentiel des systèmes économiques et financiers de l'Argentine, servant non seulement à des fins fiscales mais aussi pour les banques, l'emploi, la sécurité sociale et les transactions commerciales.
Un CUIT (Código Único de Identificación Tributaria) est le Code d'Identification Fiscale Unique de l'Argentine attribué aux individus et aux entités juridiques à des fins fiscales. Il se compose de 11 chiffres au format XX-XXXXXXXX-X, où les deux premiers chiffres indiquent le type d'entité, les huit chiffres du milieu sont un numéro d'identification, et le dernier chiffre est un chiffre de vérification.
Un CUIT valide doit :
Notre outil de validateur de CUIT peut instantanément vérifier si un CUIT répond à ces critères.
Bien que similaires en format, CUIT et CUIL servent des objectifs différents :
Les deux suivent le même format et l'algorithme de vérification, mais ils sont utilisés dans des contextes différents.
Non. Les CUIT générés par cet outil sont mathématiquement valides mais ne sont pas enregistrés dans la base de données officielle de l'AFIP. Ils ne doivent être utilisés qu'à des fins de test, de développement ou éducatives. Utiliser des CUIT fictifs pour des documents ou des transactions officiels peut constituer une fraude.
L'AFIP a attribué le même code type (30) à plusieurs types d'entités, y compris les sociétés, les fondations et les entités gouvernementales. Cela fait partie du système de classification officiel et n'affecte pas la validité du CUIT. Le type d'entité spécifique est déterminé par des informations d'enregistrement supplémentaires dans les systèmes de l'AFIP.
Les CUIT sont des identifiants permanents qui ne changent généralement pas tout au long de la vie d'un individu ou d'une entité. Cependant, dans certains cas spécifiques comme les changements de statut légal ou de réassignation de genre, un nouveau CUIT peut être attribué.
Oui, mais pas par notre outil. L'AFIP fournit un service officiel appelé "Constancia de Inscripción" sur son site Web où vous pouvez vérifier si un CUIT est officiellement enregistré et actif. Notre outil ne valide que la correction mathématique d'un CUIT.
Les erreurs courantes incluent :
Notre validateur aide à identifier ces problèmes en vérifiant à la fois le format et la validité mathématique.
Notre outil vous permet de sélectionner parmi divers types d'entités avant de générer un CUIT. Il vous suffit de choisir le type d'entité approprié dans le menu déroulant et de cliquer sur "Générer CUIT". L'outil utilisera automatiquement le code type correct pour votre sélection.
Non, notre outil n'impose aucune limite sur le nombre de CUIT que vous pouvez générer ou valider. Il est conçu pour la commodité dans les scénarios de test et éducatifs où vous pourriez avoir besoin de plusieurs CUIT valides.
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).
L'outil Générateur et Validateur de CUIT d'Argentine fournit une solution simple et efficace pour travailler avec des codes d'identification fiscale argentins dans des environnements de test et de développement. En comprenant la structure, le format et l'algorithme de vérification des CUIT, les utilisateurs peuvent garantir l'intégrité des données et la conformité aux normes d'identification fiscale argentines.
Que vous développiez des logiciels qui interfacent avec des systèmes financiers argentins, testiez des routines de validation de données, ou simplement appreniez sur les systèmes d'identification fiscale internationaux, notre outil offre la fonctionnalité dont vous avez besoin sans complexité inutile.
Essayez de générer un CUIT maintenant ou validez-en un existant pour découvrir la simplicité et l'efficacité de notre outil par vous-même.
Découvrez plus d'outils qui pourraient être utiles pour votre flux de travail