Generatore e Validatore CNPJ - Strumento per Identificazione Aziendale Brasiliana
Genera numeri CNPJ validi per test o convalida istantaneamente gli identificativi aziendali brasiliani. Strumento gratuito con verifica del cifra di controllo per sviluppatori che lavorano con il Cadastro Nacional da Pessoa Jurídica.
Generatore e Validatore di CNPJ Brasiliano
Generatore CNPJ
Genera un numero CNPJ brasiliano valido per scopi di test.
Validatore CNPJ
Verifica se un numero CNPJ brasiliano è valido.
Documentazione
Comprendendo i Numeri CNPJ Brasiliani
Il CNPJ (Cadastro Nacional da Pessoa Jurídica) è la versione brasiliana di un codice fiscale aziendale—un numero di 14 cifre che identifica ogni entità aziendale legale nel paese. Se stai sviluppando software che gestisce dati aziendali brasiliani, incontrerai rapidamente questi numeri in moduli di registrazione, fatture e integrazioni API.
Ecco cosa rende questo strumento pratico: genera CNPJ matematicamente validi per i test senza utilizzare identificatori aziendali reali. Quando stai configurando un database di test con 1.000 record o eseguendo il debug di una routine di convalida alle 2 del mattino, hai bisogno di CNPJ che superino i controlli algoritmici ma che non corrispondano accidentalmente ad aziende reali. Proprio questo è ciò che genera.
I numeri creati qui seguono l'algoritmo di convalida ufficiale della Receita Federal (Servizio delle Entrate brasiliano). Hanno cifre di controllo corrette e formattazione appropriata—semplicemente non sono registrati nel database governativo. Pensali come dati di test sintatticamente corretti che non creeranno problemi di conformità nel tuo ambiente di sviluppo.
Cos'è un CNPJ e Perché è Importante
Un CNPJ serve come identificatore aziendale del Brasile—simile a un EIN negli Stati Uniti o a un Numero di Registrazione Aziendale nel Regno Unito. Ogni entità aziendale che opera legalmente in Brasile deve averne uno, rilasciato dalla Receita Federal (Servizio delle Entrate Federali).
Incontrerai i CNPJ quando:
- Elaborazione dei pagamenti: I gateway di pagamento brasiliani richiedono la convalida del CNPJ per gli account dei commercianti
- Conformità fiscale: Ogni fattura emessa in Brasile deve includere un CNPJ valido
- Registrazione aziendale: Le agenzie governative utilizzano i CNPJ per tracciare le entità legali tra i sistemi
- Operazioni bancarie: Apertura di conti aziendali o elaborazione di trasferimenti internazionali
- Import/export: La documentazione doganale richiede la verifica del CNPJ
- Contratti governativi: I sistemi di gare pubbliche convalidano i CNPJ prima di accettare offerte
Nella mia esperienza di lavoro con piattaforme di e-commerce brasiliane, uno dei punti di integrazione più comuni è il flusso di checkout in cui gli utenti inseriscono il loro CNPJ per acquisti aziendali. La logica di convalida deve intercettare gli errori di formattazione prima che lo elabori il processore di pagamento—altrimenti vedrai transazioni fallite che avrebbero potuto essere prevenute.
Struttura e Formato del CNPJ
Un CNPJ è composto da 14 cifre formattate come: XX.XXX.XXX/YYYY-ZZ
Analizzando la struttura:
- Primi 8 cifre (XX.XXX.XXX): Il numero di registrazione base univocamente assegnato all'azienda
- Successivi 4 cifre (/YYYY): Identificatore di filiale o stabilimento—
/0001indica la sede centrale, mentre/0002,/0003rappresentano le sedi secondarie - Ultime 2 cifre (-ZZ): Cifre di verifica calcolate tramite un algoritmo ponderato
Esempio: 12.345.678/0001-95
Cosa è interessante dell'identificatore di filiale: quando un'azienda apre più sedi, ciascuna ottiene gli stessi primi 8 cifre ma un numero di filiale diverso. Quindi se una catena di negozi ha 50 negozi, avranno CNPJ che terminano da /0001 a /0050, condividendo tutti lo stesso numero base. Questo rende facile identificare che più CNPJ appartengono alla stessa organizzazione madre.
Le cifre di controllo non sono casuali—vengono calcolate utilizzando un algoritmo modulo-11 con specifiche sequenze di pesi. Questa scelta di progettazione, comune nei documenti amministrativi brasiliani, rende matematicamente difficile falsificare numeri validi o creare accidentalmente numeri validi tramite errori di battitura.
Come funziona effettivamente la convalida del CNPJ
L'algoritmo di convalida utilizza un calcolo con modulo-11 ponderato. Ecco la logica alla base:
Calcolo del Primo Cifra di Controllo
- Prendi i primi 12 cifre e moltiplica ciascuno per i pesi:
5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - Somma tutti i prodotti
- Dividi la somma per 11 e ottieni il resto
- Se il resto < 2, la cifra di controllo è 0; altrimenti è
11 - resto
Calcolo del Secondo Cifra di Controllo
- Prendi i primi 13 cifre (inclusa la prima cifra di controllo) e moltiplica per i pesi:
6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - Somma tutti i prodotti
- Dividi per 11 e ottieni il resto
- Se il resto < 2, la cifra di controllo è 0; altrimenti è
11 - resto
Perché questo approccio funziona: Il sistema di moltiplicazione ponderata crea una relazione unica tra tutti i 12 cifre di base e le cifre di controllo risultanti. Cambiare anche un solo cifra nel numero base produce cifre di controllo diverse, che cattura errori comuni di trascrizione come lo scambio di due cifre (digitando 12.345 invece di 12.354).
Una nota pratica: I CNPJ con tutti cifre identici (come 11.111.111/1111-11) sono automaticamente non validi, anche se superano il controllo matematico. La Receita Federal esclude esplicitamente questi modelli per prevenire casi banali.
Come Utilizzare il Generatore e Validatore di CNPJ
Generazione di CNPJ di Test
Hai bisogno di un CNPJ valido per il tuo database di test? Ecco come:
- Fai clic su "Genera CNPJ"
- Lo strumento crea istantaneamente un numero matematicamente valido
- Fai clic su "Copia" per catturarlo negli appunti
- Incollalo nei tuoi moduli di test, semi di database o test unitari
Ogni CNPJ generato supera tutti i controlli di convalida algoritmica ma non è registrato presso la Receita Federal. Questo significa che puoi usarli liberamente nello sviluppo senza preoccuparti di utilizzare accidentalmente l'identificatore di un'azienda reale.
Convalida dei Numeri CNPJ
Hai un CNPJ che devi verificare? Il validatore lo gestisce:
- Incolla o digita il CNPJ nel campo di input
- Non preoccuparti della formattazione—funziona con
12345678000195o12.345.678/0001-95 - Fai clic su "Convalida"
- Ottieni un feedback immediato sulla correttezza delle cifre di controllo
Cosa controlla il validatore: lunghezza corretta (14 cifre), calcoli corretti delle cifre di controllo ed esclusione di schemi non validi come cifre tutte uguali. Cosa non controlla: se il CNPJ è registrato nel database governativo—questo richiede una query diretta alla Receita Federal.
Casi d'Uso Reali per Generatore e Validatore CNPJ
Sviluppo Software e Testing
Seeding del database: Quando si configura un ambiente di staging con dati di test realistici, sono necessari decine o centinaia di CNPJ validi. Crearli manualmente è noioso e utilizzare identificatori aziendali reali solleva preoccupazioni sulla privacy. I CNPJ generati risolvono entrambi i problemi.
Test di unità per casi limite: La funzione di convalida dovrebbe rifiutare 00.000.000/0000-00 ma accettare 11.222.333/0001-81. Avere un generatore consente di creare rapidamente casi di test sia validi che intenzionalmente non validi per verificare che la logica gestisca correttamente le condizioni al limite.
Test di regressione QA: Durante il test di moduli di registrazione o flussi di checkout B2B, i team QA necessitano di nuovi dati di test per ogni esecuzione. Un problema comune che ho riscontrato: gli ambienti di test si inquinano con gli stessi 5-6 CNPJ utilizzati ripetutamente, mascherando bug che appaiono solo con specifici schemi di cifre.
Test di integrazione API: Se si sta integrando con processori di pagamento brasiliani come PagSeguro o Mercado Pago, i loro ambienti sandbox spesso richiedono una formattazione CNPJ valida. La matematica deve essere corretta anche se non si stanno utilizzando database di produzione.
Elaborazione e Convalida dei Dati
Pulizia di dati importati: Hai ricevuto un CSV con 10.000 record di aziende brasiliane. Prima dell'elaborazione, è necessario identificare quali CNPJ sono malformati. Eseguendoli attraverso il validatore si segnalano voci con errori di battitura, troncamento o cifre di controllo errate, risparmiando ore di debug successivo.
Convalida del modulo lato client: Intercettare CNPJ non validi prima dell'invio del modulo migliora l'esperienza utente. Nessuno vuole compilare un modulo di registrazione con 20 campi per poi ricevere un errore all'invio perché ha scambiato due cifre nel proprio CNPJ.
Anonimizzazione dei dati per l'analisi: Quando si preparano dati di produzione da condividere con team di analisi o partner esterni, è necessario sostituire i CNPJ reali con altri validi ma fittizi. Questo mantiene l'integrità referenziale nel dataset proteggendo al contempo le identità aziendali effettive.
Operazioni Commerciali Internazionali
Comprensione dei requisiti brasiliani: Se si sta espandendo nel mercato brasiliano, si incontreranno requisiti CNPJ in contratti, fatture e documentazione di spedizione. Avere uno strumento per sperimentare il formato aiuta a comprendere cosa i propri sistemi devono gestire.
Specifiche di integrazione di terze parti: Quando si rivede la documentazione API di provider SaaS brasiliani, si vedranno spesso campi CNPJ negli esempi di payload. Essere in grado di generare valori di test validi aiuta a prototipare integrazioni più rapidamente.
Approcci Alternativi di Convalida CNPJ
Librerie di Programmazione
Se hai bisogno di convalida CNPJ integrata nella logica della tua applicazione, queste librerie implementano l'algoritmo di verifica delle cifre di controllo:
- JavaScript/Node.js:
cpf-cnpj-validator(130k+ download settimanali),validator.js(supporta documenti brasiliani) - Python:
validate-docbr(convalida CPF, CNPJ e altri documenti brasiliani),python-cnpj - PHP:
respect/validation(include regole CNPJ),brazilianutils - Java:
caelum-stella(convalida completa dei documenti brasiliani) - Ruby: gem
cpf_cnpj
Queste librerie generalmente gestiscono formattazione, parsing e convalida per più tipi di documenti brasiliani (CPF, CNPJ, ecc.).
API di Verifica Ufficiali
Per sistemi di produzione che necessitano di verificare l'effettiva registrazione aziendale:
- Servizio Pubblico Receita Federal: L'API Consulta CNPJ consente la verifica rispetto al database ufficiale (richiede autorizzazione e limitazione dei tassi)
- Provider di dati di terze parti: Servizi come Serasa Experian e Boa Vista SCPC offrono API commerciali che restituiscono dettagli aziendali, stato di registrazione e informazioni creditizie
Nota: Questi servizi verificano la registrazione effettiva, non solo la validità matematica. Sarà necessaria un'autorizzazione appropriata e bisogna aspettarsi costi API per l'uso in produzione.
Quando Utilizzare Ciascun Approccio
Usa questo strumento browser quando: Hai bisogno di una convalida rapida senza installare dipendenze, generare dati di test per demo o comprendere come funziona la convalida CNPJ.
Usa una libreria quando: Stai sviluppando un'applicazione che necessita di convalida lato client o server come parte dell'elaborazione del modulo.
Usa un'API ufficiale quando: Hai bisogno di verificare che un CNPJ corrisponda a un'azienda reale e attiva con stato di registrazione corrente.
Dettagli Tecnici di Implementazione
Questo strumento funziona interamente nel tuo browser utilizzando JavaScript—nessuna richiesta al server, nessun dato che lascia la tua macchina. Ecco come funzionano gli algoritmi sotto il cofano, con codice che puoi adattare per i tuoi progetti:
Algoritmo di Generazione CNPJ
1function generateCNPJ() {
2 // Genera i primi 12 cifre in modo casuale
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // Calcola la prima cifra di controllo
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // Calcola la seconda cifra di controllo
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // Formatta il 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}
29Algoritmo di Convalida CNPJ
1function validateCNPJ(cnpj) {
2 // Rimuove i caratteri non numerici
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Verifica la lunghezza corretta
6 if (cleanCNPJ.length !== 14) return false;
7
8 // Verifica modelli non validi (tutte cifre uguali)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // Converte in array di cifre
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // Verifica la prima cifra di controllo
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // Verifica la seconda cifra di controllo
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24Funzione di Formattazione CNPJ
1function formatCNPJ(cnpj) {
2 // Rimuove i caratteri non numerici
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Formatta in base alla lunghezza
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}
18Queste funzioni di base possono essere implementate in altri linguaggi di programmazione seguendo la stessa logica. Ecco esempi in Python e Java:
Implementazione 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 # Genera i primi 12 cifre in modo casuale
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # Calcola la prima cifra di controllo
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # Calcola la seconda cifra di controllo
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # Formatta il 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 # Rimuove i caratteri non numerici
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # Verifica la lunghezza
34 if len(cnpj) != 14:
35 return False
36
37 # Verifica se tutte le cifre sono uguali
38 if len(set(cnpj)) == 1:
39 return False
40
41 # Converte in lista di interi
42 digits = [int(d) for d in cnpj]
43
44 # Convalida la prima cifra di controllo
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # Convalida la seconda cifra di controllo
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55Implementazione 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 // Genera i primi 12 cifre in modo casuale
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // Calcola la prima cifra di controllo
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // Calcola la seconda cifra di controllo
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // Formatta il 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 // Rimuove i caratteri non numerici
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // Verifica la lunghezza
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // Verifica se tutte le cifre sono uguali
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 // Converte in array di interi
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 // Convalida la prima cifra di controllo
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // Convalida la seconda cifra di controllo
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85Limitazioni e Considerazioni Importanti
Cosa Questo Strumento Può e Non Può Fare
Cosa convalida: Correttezza matematica—se le cifre di controllo corrispondono al calcolo dell'algoritmo.
Cosa non convalida: Se il CNPJ è registrato presso la Receita Federal, se appartiene a un'azienda attiva, o se è associato al nome aziendale che ci si aspetta.
Pensatelo come la differenza tra la correzione ortografica e la verifica dei fatti. Questo strumento vi dice se un CNPJ è "scritto" correttamente secondo le regole matematiche, ma non può dirvi se il numero corrisponde a un'entità aziendale reale e attiva.
Utilizzo Legale ed Etico
I CNPJ generati sono solo per test e sviluppo. Sono matematicamente validi ma non registrati presso le autorità brasiliane, il che significa:
- ✅ Sicuro da usare per: Popolare database di test, test di unità per la logica di convalida, ambienti QA, esempi di codice nella documentazione
- ❌ Mai usare per: Dichiarazioni fiscali, registrazione aziendale, firma di contratti, elaborazione di transazioni reali, o rappresentazione fraudolenta dell'identità aziendale
Utilizzare un CNPJ falso per scopi ufficiali non è solo non etico—è illegale secondo la legge brasiliana e può comportare accuse di frode.
Limitazioni Tecniche da Conoscere
La generazione casuale ha implicazioni: Lo strumento genera i primi 12 cifre in modo casuale. I CNPJ reali emessi dalla Receita Federal seguono schemi interni relativi alla data di registrazione, ufficio regionale e tipo di attività. I numeri generati non corrisponderanno a questi schemi, che sistemi di convalida sofisticati potrebbero segnalare.
Nessuna convalida semantica: Un formato CNPJ valido non significa contesto aziendale valido. Ad esempio, gli enti governativi hanno intervalli CNPJ specifici—questo generatore potrebbe creare casualmente un numero, ma non sarebbe significativo.
Gestione del formato: Il validatore accetta vari formati di input (12345678000195, 12.345.678/0001-95), ma alcuni sistemi legacy si aspettano una formattazione esatta. Verificare sempre con i requisiti specifici di integrazione.
Privacy e Sicurezza
Tutto l'elaborazione avviene lato client nel proprio browser. Nessun CNPJ generato o convalidato viene inviato a server, registrato o memorizzato. Lo strumento non richiede, gestisce o elabora alcuna informazione personale.
Domande Frequenti sulla Convalida del CNPJ
Qual è la differenza tra validare e verificare un CNPJ?
Validazione controlla se il numero è matematicamente corretto—formato corretto, cifre di controllo corrette, nessun pattern non valido. Questo strumento esegue la validazione.
Verifica controlla se il CNPJ è registrato con un'azienda effettiva nel database della Receita Federal. La verifica richiede l'interrogazione del database governativo e non è una funzione di questo strumento.
Puoi avere un CNPJ perfettamente valido che non è verificato (come i numeri di test generati da questo strumento), o un CNPJ non valido che appartiene a un'azienda reale (perché qualcuno ha commesso un errore di battitura).
Posso utilizzare CNPJ generati per test di produzione?
Dipende da cosa intendi per "test di produzione". Sono adatti per ambienti di staging, test di carico e QA pre-lancio. Ma se per "test di produzione" intendi test con transazioni reali, API governative reali o sistemi finanziari reali—allora no, hai bisogno di CNPJ effettivamente registrati.
Un approccio più sicuro: utilizzare CNPJ generati in ambienti di test isolati, quindi passare a un piccolo set di CNPJ di aziende di test reali (che controlli) quando si testano integrazioni di produzione.
Perché il validatore rifiuta 11.111.111/1111-11?
Anche se un CNPJ con cifre tutte identiche può produrre matematicamente cifre di controllo valide, la Receita Federal esclude esplicitamente questi pattern. È una regola aziendale, non matematica. Lo stesso vale per pattern sequenziali in alcuni sistemi di validazione.
Questo è simile a come molti sistemi rifiutano password come "password123" anche se soddisfano i requisiti di lunghezza—sono tecnicamente valide ma praticamente inaccettabili.
Come gestisco la convalida del CNPJ in diversi locali?
Le aziende brasiliane che operano internazionalmente a volte eliminano i caratteri di formattazione quando inseriscono CNPJ in sistemi stranieri. La logica di convalida dovrebbe rimuovere i caratteri non numerici prima del controllo:
1const cleanCNPJ = input.replace(/\D/g, ''); // Rimuove tutto tranne le cifre
2Accetta 12.345.678/0001-95, 12345678000195, e 12 345 678 0001 95 come input equivalenti.
Cosa c'è da sapere su convalida CNPJ vs CPF?
CPF (Cadastro de Pessoas Físicas) è l'identificativo fiscale individuale brasiliano, mentre CNPJ è per le aziende. Utilizzano algoritmi di cifre di controllo e lunghezze diverse (CPF ha 11 cifre, CNPJ 14). Se stai costruendo un'app brasiliana che gestisce entrambi, avrai bisogno di funzioni di convalida separate—anche se molte librerie supportano entrambi i formati.
Un pattern comune: consentire agli utenti di inserire CPF o CNPJ nello stesso campo, quindi rilevare il tipo in base alla lunghezza dopo aver rimosso i caratteri di formattazione.
Funziona per aziende straniere che operano in Brasile?
Le aziende straniere che operano in Brasile devono ottenere CNPJ dalla Receita Federal. I loro CNPJ seguono lo stesso formato e le stesse regole di convalida delle aziende nazionali. Non esiste un formato CNPJ speciale per "aziende straniere".
Tuttavia, le aziende straniere potrebbero avere requisiti di documentazione aggiuntivi e processi di registrazione diversi—consultare un avvocato aziendale brasiliano per dettagli specifici.
Posso interrogare il database governativo per verificare la registrazione CNPJ?
Sì, la Receita Federal fornisce accesso pubblico per verificare le informazioni di base del CNPJ tramite il loro Consulta Pública CNPJ. Puoi cercare manualmente i CNPJ o, con autorizzazione appropriata, utilizzare le loro API per accesso programmatico.
Nota che l'utilizzo intensivo richiede la registrazione e ci sono limiti di frequenza per prevenire abusi.
Con quale frequenza cambiano i CNPJ?
I CNPJ sono identificatori permanenti che non cambiano quando un'azienda modifica nome, indirizzo o struttura proprietaria. Tuttavia, se un'azienda chiude e successivamente si ri-registra, potrebbe ricevere un nuovo CNPJ. I numeri di filiale (la parte /XXXX) possono essere aggiunti quando le aziende aprono nuove sedi, ma il numero base di 8 cifre rimane costante.
Riferimenti e Risorse Aggiuntive
Fonti Governative Ufficiali
- Receita Federal do Brasil - Portale Ufficiale - Sito web ufficiale del Servizio Fiscale Federale Brasiliano con servizi di registrazione e verifica CNPJ
- Consulta Pública CNPJ - Ricerca Pubblica CNPJ - Servizio governativo ufficiale per verificare lo stato di registrazione CNPJ
- Istruzione Normativa RFB N. 1863/2018 - Regolamenti legali che disciplinano la registrazione e l'utilizzo del CNPJ in Brasile
Standard Tecnici e Documentazione
- Algoritmi di aritmetica modulare - Il calcolo della cifra di controllo utilizza aritmetica modulo 11, un approccio standard per le cifre di validazione
- ISO/IEC 7064 - Standard internazionale per sistemi di cifre di controllo che ha influenzato la progettazione della convalida dei documenti brasiliani
- Codice Civile Brasiliano (Legge N. 10.406/2002) - Quadro giuridico che definisce le classificazioni delle entità commerciali che richiedono la registrazione CNPJ
Risorse per Sviluppatori
- Registro di pacchetti NPM - npmjs.com - Repository per librerie JavaScript inclusi i validatori di documenti brasiliani
- PyPI (Python Package Index) - pypi.org - Librerie Python per la convalida CNPJ e l'elaborazione di documenti brasiliani
- GitHub - Implementazioni open-source di convalida CNPJ in più linguaggi di programmazione
Inizia a Generare e Convalidare CNPJ
Che tu stia costruendo una piattaforma di e-commerce brasiliana, testando integrazioni di pagamento con Mercado Pago o semplicemente desideri comprendere come funziona la convalida del CNPJ, questo strumento ti offre immediatamente capacità di generazione e convalida.
Nessuna installazione, nessuna chiave API, nessuna configurazione complicata. Apri semplicemente il tuo browser e inizia a lavorare con identificatori aziendali brasiliani validi.