Outil de génération et de validation de CNPJ brésilien pour les tests
Générez des numéros de CNPJ brésiliens valides et validez ceux existants avec cet outil simple conçu pour les développeurs et les testeurs travaillant avec les identifiants d'entreprise brésiliens.
Générateur et Validateur de CNPJ Brésilien
Générateur de CNPJ
Générez un numéro CNPJ brésilien valide à des fins de test.
Validateur de CNPJ
Vérifiez si un numéro CNPJ brésilien est valide.
Documentation
Générateur et Validateur de CNPJ Brésilien
Introduction
Le CNPJ brésilien (Cadastro Nacional da Pessoa Jurídica) est un numéro d'identification unique attribué aux entreprises et entités légales au Brésil. Cet outil de générateur et de validateur de CNPJ brésilien fournit un moyen simple et efficace de générer des numéros de CNPJ valides à des fins de test et de valider les numéros de CNPJ existants selon l'algorithme officiel brésilien. Que vous soyez un développeur testant des applications qui gèrent des données d'entreprises brésiliennes, un professionnel de l'assurance qualité créant des cas de test, ou toute personne travaillant avec des informations d'entreprises brésiliennes, cet outil simplifie le processus de travail avec les numéros de CNPJ.
Contrairement aux numéros de CNPJ réels qui sont officiellement délivrés par la Receita Federal (Administration Fédérale des Recettes) brésilienne, les CNPJ générés par cet outil sont mathématiquement valides mais ne sont pas enregistrés auprès d'entreprises réelles. Cela les rend parfaits pour des scénarios de test, des données d'exemple et des environnements de développement où vous avez besoin de numéros de CNPJ correctement formatés et valides sans utiliser de véritables identifiants d'entreprise.
Qu'est-ce qu'un CNPJ ?
Un CNPJ (Cadastro Nacional da Pessoa Jurídica) est un numéro d'identification à 14 chiffres attribué aux entreprises et entités légales par la Receita Federal brésilienne. Il sert d'équivalent brésilien d'un numéro d'enregistrement d'entreprise ou d'identifiant fiscal. Chaque entreprise opérant légalement au Brésil doit avoir un CNPJ, qui est utilisé pour :
- La déclaration fiscale et la conformité
- L'enregistrement des entreprises auprès des agences gouvernementales
- L'ouverture de comptes bancaires
- L'émission de factures et de reçus
- La participation à des appels d'offres gouvernementaux
- L'importation et l'exportation de biens
Le CNPJ est un identifiant essentiel dans l'écosystème commercial brésilien et apparaît sur les documents officiels, les contrats et les dossiers financiers.
Structure et Format du CNPJ
Un CNPJ brésilien se compose de 14 chiffres, généralement formatés comme : XX.XXX.XXX/YYYY-ZZ
La structure se décompose comme suit :
- Les 8 premiers chiffres (XX.XXX.XXX) : Numéro de base attribué à l'entreprise
- 4 chiffres après la barre oblique (YYYY) : Identifiant de la succursale (0001 pour le siège, d'autres numéros pour les succursales)
- Les 2 derniers chiffres (ZZ) : Chiffres de contrôle pour la validation
Par exemple, un CNPJ correctement formaté pourrait ressembler à : 12.345.678/0001-95
Les chiffres de contrôle (les deux derniers chiffres) sont calculés à l'aide d'un algorithme mathématique spécifique qui valide l'authenticité du CNPJ. Cet algorithme garantit que les numéros générés aléatoirement ne peuvent pas passer la validation sans suivre la méthode de calcul appropriée.
Comment fonctionne la Validation du CNPJ
L'algorithme de validation du CNPJ utilise un calcul pondéré pour déterminer les chiffres de contrôle. Voici comment cela fonctionne :
Calcul du Premier Chiffre de Contrôle
- Multipliez chacun des 12 premiers chiffres par une séquence de poids : 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
- Additionnez les résultats de ces multiplications
- Calculez le reste de cette somme divisée par 11
- Si le reste est inférieur à 2, le premier chiffre de contrôle est 0 ; sinon, c'est 11 moins le reste
Calcul du Deuxième Chiffre de Contrôle
- Multipliez chacun des 13 premiers chiffres (y compris le premier chiffre de contrôle) par une séquence de poids : 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
- Additionnez les résultats de ces multiplications
- Calculez le reste de cette somme divisée par 11
- Si le reste est inférieur à 2, le deuxième chiffre de contrôle est 0 ; sinon, c'est 11 moins le reste
Pour qu'un CNPJ soit valide, les deux chiffres de contrôle doivent correspondre aux valeurs calculées.
Comment Utiliser Cet Outil
Notre outil de Générateur et Validateur de CNPJ brésilien offre deux fonctions principales : générer des CNPJ valides et valider des numéros de CNPJ existants.
Génération d'un CNPJ
Pour générer un CNPJ valide à des fins de test :
- Accédez à la section "Générateur de CNPJ" de l'outil
- Cliquez sur le bouton "Générer CNPJ"
- Un CNPJ mathématiquement valide apparaîtra dans l'affichage formaté
- Utilisez le bouton "Copier" pour copier le CNPJ généré dans votre presse-papiers
Le CNPJ généré suivra toutes les règles de validation mathématique d'un véritable CNPJ mais n'est pas enregistré auprès de la Receita Federal brésilienne.
Validation d'un CNPJ
Pour vérifier si un CNPJ est mathématiquement valide :
- Accédez à la section "Validateur de CNPJ" de l'outil
- Entrez le CNPJ que vous souhaitez valider dans le champ de saisie
- L'outil accepte les CNPJ avec ou sans formatage (points, barres obliques et tirets)
- Cliquez sur le bouton "Valider"
- L'outil affichera si le CNPJ est valide ou invalide selon l'algorithme de chiffre de contrôle
Le validateur vérifie si le CNPJ suit le format correct et si les chiffres de contrôle correspondent aux valeurs attendues selon l'algorithme de validation.
Cas d'Utilisation
Cet outil de générateur et de validateur de CNPJ brésilien est particulièrement utile dans les scénarios suivants :
Développement et Test de Logiciels
- Création de Données de Test : Générer des CNPJ valides pour peupler des bases de données de test sans utiliser de véritables identifiants d'entreprise
- Tests Unitaires : Valider les fonctions de gestion de CNPJ dans votre code avec des exemples valides et invalides connus
- Tests QA : Créer des cas de test pour des formulaires et des interfaces nécessitant une saisie de CNPJ
- Tests d'Intégration : Tester des systèmes qui échangent des données avec des services gouvernementaux brésiliens ou des institutions financières
Éducation et Formation
- Apprendre le Format du CNPJ : Comprendre comment les identifiants d'entreprise brésiliens sont structurés
- Étude des Algorithmes : Examiner comment fonctionne la validation des chiffres de contrôle en pratique
- Techniques de Validation des Données : Étudier des exemples concrets d'exigences de validation des données
Traitement de Données
- Nettoyage de Données : Valider les CNPJ dans des ensembles de données existants pour identifier d'éventuelles erreurs
- Validation de Formulaire : Implémenter une validation côté client ou côté serveur pour les saisies de CNPJ
- Anonymisation des Données : Remplacer les véritables CNPJ par des générés valides lors de la préparation d'ensembles de données pour analyse
Affaires Internationales
- Préparation à l'Entrée sur le Marché : Comprendre les exigences d'identification des entreprises brésiliennes
- Préparation de Documents : Assurer un formatage correct lors de la préparation de documents commerciaux pour le Brésil
- Vérification de Conformité : Vérifier que les numéros de CNPJ collectés sont au moins mathématiquement valides
Alternatives
Bien que notre outil fournisse une solution simple basée sur le navigateur pour générer et valider des CNPJ, il existe plusieurs alternatives en fonction de vos besoins spécifiques :
Bibliothèques de Programmation
Pour les développeurs intégrant la validation de CNPJ directement dans des applications, plusieurs bibliothèques spécifiques aux langages sont disponibles :
- JavaScript :
cpf_cnpj.js
,validator.js
- Python :
python-cnpj
,validate-docbr
- PHP :
brazilianutils
,respect/validation
- Java :
caelum-stella
,commons-validator
- Ruby :
cpf_cnpj
,brazilian-rails
Ces bibliothèques offrent souvent des fonctionnalités supplémentaires comme le formatage, l'analyse et la validation d'autres documents brésiliens.
Services API
Pour les applications nécessitant une validation sans implémenter l'algorithme :
- APIs gouvernementales brésiliennes (nécessite une inscription)
- APIs de validation commerciales qui incluent la vérification de CNPJ
- Services d'information commerciale qui valident contre la base de données officielle
Calcul Manuel
À des fins éducatives ou pour des validations ponctuelles, vous pouvez appliquer manuellement l'algorithme :
- Extraire les 12 premiers chiffres du CNPJ
- Effectuer les calculs pondérés comme décrit précédemment
- Comparer les chiffres de contrôle calculés avec les chiffres de contrôle réels
Cependant, le calcul manuel est sujet à des erreurs et inefficace pour un usage régulier.
Mise en Œuvre Technique
Le générateur et le validateur de CNPJ dans cet outil sont implémentés en JavaScript, ce qui le rend rapide et capable de fonctionner entièrement dans votre navigateur sans envoyer vos données à un serveur. Voici comment fonctionnent les fonctions principales :
Algorithme de Génération de CNPJ
1function generateCNPJ() {
2 // Générer les 12 premiers chiffres aléatoirement
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // Calculer le premier chiffre de contrôle
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // Calculer le deuxième chiffre de contrôle
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // Formater le CNPJ
14 return formatCNPJ(digits.join(''));
15}
16
17function calculateCheckDigit(digits) {
18 const weights = digits.length < 13
19 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
20 : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
21
22 const sum = digits.reduce((acc, digit, index) => {
23 return acc + digit * weights[index];
24 }, 0);
25
26 const remainder = sum % 11;
27 return remainder < 2 ? 0 : 11 - remainder;
28}
29
Algorithme de Validation de CNPJ
1function validateCNPJ(cnpj) {
2 // Supprimer les caractères non numériques
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Vérifier s'il a la bonne longueur
6 if (cleanCNPJ.length !== 14) return false;
7
8 // Vérifier les motifs connus invalides (tous les mêmes chiffres)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // Convertir en tableau de chiffres
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // Vérifier le premier chiffre de vérification
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // Vérifier le deuxième chiffre de vérification
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24
Fonction de Formatage de CNPJ
1function formatCNPJ(cnpj) {
2 // Supprimer les caractères non numériques
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Formater selon la longueur
6 if (cleanCNPJ.length <= 2) {
7 return cleanCNPJ;
8 } else if (cleanCNPJ.length <= 5) {
9 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2)}`;
10 } else if (cleanCNPJ.length <= 8) {
11 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5)}`;
12 } else if (cleanCNPJ.length <= 12) {
13 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8)}`;
14 } else {
15 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8, 12)}-${cleanCNPJ.slice(12, 14)}`;
16 }
17}
18
Ces fonctions principales peuvent être implémentées dans d'autres langages de programmation en suivant la même logique. Voici des exemples en Python et Java :
Implémentation en Python
1import random
2
3def calculate_check_digit(digits):
4 weights = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] if len(digits) < 13 else [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
5
6 total = 0
7 for i in range(len(digits)):
8 total += digits[i] * weights[i]
9
10 remainder = total % 11
11 return 0 if remainder < 2 else 11 - remainder
12
13def generate_cnpj():
14 # Générer les 12 premiers chiffres aléatoirement
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # Calculer le premier chiffre de contrôle
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # Calculer le deuxième chiffre de contrôle
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # Formater le CNPJ
26 cnpj = ''.join(map(str, digits))
27 return f"{cnpj[:2]}.{cnpj[2:5]}.{cnpj[5:8]}/{cnpj[8:12]}-{cnpj[12:]}"
28
29def validate_cnpj(cnpj):
30 # Supprimer les caractères non numériques
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # Vérifier la longueur
34 if len(cnpj) != 14:
35 return False
36
37 # Vérifier si tous les chiffres sont les mêmes
38 if len(set(cnpj)) == 1:
39 return False
40
41 # Convertir en liste d'entiers
42 digits = [int(d) for d in cnpj]
43
44 # Valider le premier chiffre de contrôle
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # Valider le deuxième chiffre de contrôle
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55
Implémentation en Java
1import java.util.Random;
2
3public class CNPJUtils {
4
5 public static String generateCNPJ() {
6 Random random = new Random();
7 int[] digits = new int[14];
8
9 // Générer les 12 premiers chiffres aléatoirement
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // Calculer le premier chiffre de contrôle
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // Calculer le deuxième chiffre de contrôle
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // Formater le CNPJ
21 return String.format("%02d.%03d.%03d/%04d-%02d",
22 digits[0] * 10 + digits[1],
23 digits[2] * 100 + digits[3] * 10 + digits[4],
24 digits[5] * 100 + digits[6] * 10 + digits[7],
25 digits[8] * 1000 + digits[9] * 100 + digits[10] * 10 + digits[11],
26 digits[12] * 10 + digits[13]);
27 }
28
29 private static int calculateCheckDigit(int[] digits, int length) {
30 int[] weights = length < 13
31 ? new int[]{5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2}
32 : new int[]{6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2};
33
34 int sum = 0;
35 for (int i = 0; i < length; i++) {
36 sum += digits[i] * weights[i];
37 }
38
39 int remainder = sum % 11;
40 return remainder < 2 ? 0 : 11 - remainder;
41 }
42
43 public static boolean validateCNPJ(String cnpj) {
44 // Supprimer les caractères non numériques
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // Vérifier la longueur
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // Vérifier si tous les chiffres sont les mêmes
53 boolean allDigitsSame = true;
54 for (int i = 1; i < cnpj.length(); i++) {
55 if (cnpj.charAt(i) != cnpj.charAt(0)) {
56 allDigitsSame = false;
57 break;
58 }
59 }
60 if (allDigitsSame) {
61 return false;
62 }
63
64 // Convertir en tableau d'entiers
65 int[] digits = new int[14];
66 for (int i = 0; i < 14; i++) {
67 digits[i] = Character.getNumericValue(cnpj.charAt(i));
68 }
69
70 // Valider le premier chiffre de contrôle
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // Valider le deuxième chiffre de contrôle
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85
Considérations Importantes
Lorsque vous utilisez cet outil de générateur et de validateur de CNPJ, gardez à l'esprit les considérations suivantes :
Considérations Légales et Éthiques
- Pas pour la Fraude : Les CNPJ générés ne doivent jamais être utilisés à des fins frauduleuses ou de représentation mensongère
- Uniquement pour les Tests : Ces CNPJ sont uniquement destinés à des fins de test et de développement
- Non Enregistrés : Les CNPJ générés sont mathématiquement valides mais ne sont pas enregistrés auprès des autorités brésiliennes
- Aucune Validité dans le Monde Réel : Ils ne peuvent pas être utilisés pour un enregistrement d'entreprise ou des fins fiscales réelles
Limitations Techniques
- Aucune Information Commerciale : Les CNPJ générés ne contiennent pas de codes de secteur d'entreprise réels ou d'informations de localisation
- Pas de Vérification de Base de Données : Le validateur vérifie uniquement la validité mathématique, pas le statut d'enregistrement
- Variations de Format : Bien que l'outil gère les variations de format courantes, certains systèmes peuvent exiger des formats spécifiques
Considérations de Sécurité
- Traitement Côté Client : Tout le traitement se fait dans votre navigateur ; aucune donnée n'est envoyée à des serveurs
- Aucun Stockage de Données : Les CNPJ générés ne sont ni stockés ni enregistrés
- Aucune Donnée Personnelle : L'outil ne gère ni ne traite d'informations personnelles
Questions Fréquemment Posées
À quoi sert un CNPJ au Brésil ?
Un CNPJ est le numéro d'enregistrement national pour les entreprises et entités légales au Brésil. Il est utilisé à des fins fiscales, d'enregistrement d'entreprise, d'ouverture de comptes bancaires et d'identification des entreprises dans les transactions officielles.
Les CNPJ générés par cet outil sont-ils réels ?
Non. Les CNPJ générés par cet outil sont mathématiquement valides selon l'algorithme de chiffre de contrôle, mais ils ne sont pas enregistrés auprès de la Receita Federal brésilienne et n'appartiennent pas à de véritables entreprises.
Puis-je utiliser les CNPJ générés pour mon entreprise ?
Non. Pour obtenir un CNPJ légitime pour une entreprise, vous devez vous enregistrer auprès de la Receita Federal brésilienne en suivant le processus officiel. Les CNPJ générés ne sont destinés qu'à des fins de test.
Comment puis-je savoir si un CNPJ appartient à une entreprise réelle ?
Pour vérifier si un CNPJ est enregistré à une entreprise réelle, vous devez consulter la base de données de la Receita Federal brésilienne. Notre outil vérifie uniquement si un CNPJ est mathématiquement valide, pas s'il est officiellement enregistré.
Pourquoi le validateur rejette-t-il un CNPJ avec tous les mêmes chiffres ?
Les CNPJ avec tous les mêmes chiffres (comme 11.111.111/1111-11) sont automatiquement considérés comme invalides, même s'ils passent mathématiquement l'algorithme de chiffre de contrôle. C'est une règle établie par la Receita Federal brésilienne.
L'outil stocke-t-il les CNPJ que je génère ou valide ?
Non. Tout le traitement se fait dans votre navigateur, et nous ne stockons ni ne transmettons aucun des CNPJ que vous générez ou validez.
Puis-je générer plusieurs CNPJ à la fois ?
La version actuelle de l'outil génère un CNPJ à la fois. Pour une génération en masse, vous voudrez peut-être envisager d'utiliser l'une des bibliothèques de programmation mentionnées dans la section Alternatives.
Pourquoi le format XX.XXX.XXX/XXXX-XX est-il important ?
C'est le format officiel requis par les autorités brésiliennes. Le regroupement spécifique aide à identifier les différents composants du CNPJ, tels que le numéro de base et l'identifiant de la succursale.
Comment valider un CNPJ par programmation ?
Vous pouvez implémenter l'algorithme de validation dans votre langage de programmation préféré en utilisant les exemples de code fournis dans la section Mise en Œuvre Technique, ou utiliser l'une des bibliothèques mentionnées dans la section Alternatives.
Existe-t-il des CNPJ spéciaux pour les entités gouvernementales ?
Oui. Les entités gouvernementales au Brésil ont des motifs de CNPJ spécifiques. Par exemple, les entités gouvernementales fédérales commencent souvent par des chiffres spécifiques. Notre générateur crée des CNPJ aléatoires et ne génère pas spécifiquement de CNPJ pour les entités gouvernementales.
Références
- Receita Federal du Brésil - Site Officiel
- "CNPJ - Cadastro Nacional da Pessoa Jurídica" - Wikipedia
- Code Civil Brésilien (Loi n° 10.406/2002) - Cadre légal pour les entités commerciales au Brésil
- Instruction Normative sur l'Enregistrement des Entreprises (IN RFB n° 1863/2018) - Règlementations sur l'enregistrement du CNPJ
Essayez-le Maintenant
Notre outil de Générateur et Validateur de CNPJ brésilien rend le travail avec ces numéros d'identification simple et efficace. Que vous testiez des applications, prépariez des données d'exemple ou validiez des CNPJ existants, cet outil fournit une solution directe sans la complexité des intégrations API ou des configurations avancées.
Générez votre premier CNPJ valide maintenant ou validez-en un existant en utilisant notre interface simple !
Retour d'information
Cliquez sur la notification de retour d'information pour commencer à donner votre avis sur cet outil
Outils Connexes
Découvrez d'autres outils qui pourraient être utiles pour votre flux de travail