Генератор и валидатор на CNPJ - Инструмент за бразилски бизнес идентификатор
Генерирайте валидни CNPJ номера за тестване или незабавно валидирайте бразилски бизнес идентификатори. Безплатен инструмент с проверка на контролната цифра за разработчици, работещи с Cadastro Nacional da Pessoa Jurídica.
Генератор и валидатор на бразилско CNPJ
Генератор на CNPJ
Генерирайте валиден бразилски CNPJ номер за тестови цели.
Валидатор на CNPJ
Проверете дали бразилски CNPJ номер е валиден.
Документация
Разбиране на бразилски CNPJ номера
CNPJ (Cadastro Nacional da Pessoa Jurídica) е бразилската версия на корпоративен данъчен идентификатор — 14-цифрен номер, който идентифицира всеки законен бизнес субект в страната. Ако разработвате софтуер, който работи с бразилски бизнес данни, бързо ще се сблъскате с тези номера във формуляри за регистрация, фактури и API интеграции.
Ето какво прави този инструмент практичен: генерира математически валидни CNPJ номера за тестване, без да използва реални идентификатори на компании. Когато създавате тестова база данни с 1000 записа или отстранявате грешки в рутина за валидация в 2 часа сутринта, ви трябват CNPJ номера, които преминават алгоритмични проверки, но няма да съвпаднат случайно с действителни бизнеси. Точно това генерира този инструмент.
Генерираните номера следват официалния алгоритъм за валидация на Receita Federal (Бразилската федерална данъчна служба). Те имат правилни контролни цифри и правилно форматиране — просто не са регистрирани в държавната база данни. Помислете за тях като за синтактично коректни тестови данни, които няма да създадат проблеми с нормативното съответствие във вашата среда за разработка.
Какво е CNPJ и защо е важен
CNPJ служи като идентификатор на бразилски корпоративни субекти - подобно на EIN в Съединените щати или Регистрационен номер на компания във Великобритания. Всеки стопански субект, който оперира законно в Бразилия, трябва да има такъв, издаден от Receita Federal (Федерална данъчна служба).
Ще се сблъскате с CNPJ при:
- Обработка на плащания: Бразилските платежни портали изискват валидация на CNPJ за търговски сметки
- Данъчно съответствие: Всяка фактура, издадена в Бразилия, трябва да включва валиден CNPJ
- Бизнес регистрация: Държавните агенции използват CNPJ за проследяване на юридически субекти през различни системи
- Банкови операции: Отваряне на корпоративни сметки или обработка на международни преводи
- Внос/износ: Документацията за митници изисква проверка на CNPJ
- Държавни договори: Системите за обществени поръчки валидират CNPJ преди приемане на оферти
От моя опит в работата с бразилски електронни търговски платформи, една от най-честите точки на интеграция е процесът на плащане, където потребителите въвеждат своя CNPJ за корпоративни покупки. Логиката ви за валидация трябва да улавя форматни грешки преди платежния процесор - в противен случай ще видите неуспели транзакции, които са могли да бъдат предотвратени.
Структура и формат на CNPJ
CNPJ се състои от 14 цифри, форматирани като: XX.XXX.XXX/YYYY-ZZ
Разбиване на структурата:
- Първите 8 цифри (XX.XXX.XXX): Базовият регистрационен номер, уникално присвоен на компанията
- Следващите 4 цифри (/YYYY): Идентификатор на клон или предприятие—
/0001означава централа, докато/0002,/0003представляват клонове - Последните 2 цифри (-ZZ): Контролни цифри, изчислени чрез претеглен алгоритъм
Пример: 12.345.678/0001-95
Интересното за идентификатора на клона: когато дадена компания отваря множество локации, всяка получава същите първи 8 цифри, но различен номер на клон. Така че ако верига магазини има 50 магазина, те ще имат CNPJ, завършващи с /0001 до /0050, всички споделящи една и съща базова цифра. Това улеснява идентифицирането, че множество CNPJ принадлежат на една и съща родителска организация.
Контролните цифри не са случайни—те се изчисляват чрез алгоритъм с модул 11 и специфични поредици от тегла. Този избор на дизайн, често срещан в бразилски административни документи, прави математически трудно подправянето на валидни номера или случайното създаване на валидни такива чрез правописни грешки.
Как работи валидирането на CNPJ
Алгоритъмът за валидиране използва изчисление с модулус-11 с тегла. Ето логиката зад него:
Изчисление на първия контролен цифров знак
- Вземете първите 12 цифри и умножете всяка по тегла:
5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - Съберете всички произведения
- Разделете сумата на 11 и вземете остатъка
- Ако остатъкът < 2, контролният цифров знак е 0; в противен случай е
11 - остатък
Изчисление на втория контролен цифров знак
- Вземете първите 13 цифри (включително първия контролен цифров знак) и умножете по тегла:
6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 - Съберете всички произведения
- Разделете на 11 и вземете остатъка
- Ако остатъкът < 2, контролният цифров знак е 0; в противен случай е
11 - остатък
Защо този подход работи: Системата за умножение с тегла създава уникална връзка между всички 12 базови цифри и получените контролни цифрови знаци. Промяната дори на една цифра в базовото число произвежда различни контролни цифрови знаци, което улавя common грешки при преписване като разместване на две цифри (например въвеждане на 12.345 вместо 12.354).
Практическа бележка: CNPJ с еднакви цифри (като 11.111.111/1111-11) са автоматично невалидни, дори да преминават математическата проверка. Receita Federal изрично изключва тези модели, за да предотврати тривиални случаи.
Как да използваме генератора и валидатора на CNPJ
Генериране на тестови CNPJ
Нужен ви е валиден CNPJ за тестовата ви база данни? Ето как:
- Натиснете "Генериране на CNPJ"
- Инструментът създава математически валиден номер мигновено
- Натиснете "Копиране", за да го копирате в клипборда
- Поставете го във вашите тестови форми, бази данни или unit тестове
Всеки генериран CNPJ преминава всички алгоритмични проверки, но не е регистриран в Receita Federal. Това означава, че можете да ги използвате свободно при разработка, без да се притеснявате, че случайно използвате идентификатор на реална компания.
Валидиране на CNPJ номера
Имате CNPJ, който трябва да проверите? Валидаторът се справя с това:
- Поставете или въведете CNPJ в полето за въвеждане
- Не се притеснявайте от форматирането - работи с
12345678000195или12.345.678/0001-95 - Натиснете "Валидиране"
- Получете незабавна обратна връзка дали контролните цифри са правилни
Какво проверява валидаторът: правилна дължина (14 цифри), правилни изчисления на контролните цифри и изключване на невалидни модели като еднакви цифри. Какво не проверява: дали CNPJ е регистриран в държавната база данни - това изисква директно запитване към Receita Federal.
Реални приложения на генератора и валидатора на CNPJ
Разработка на софтуер и тестване
Попълване на бази данни: При създаване на среда за тестване с реалистични тестови данни, са необходими десетки или стотици валидни CNPJ. Ръчното им създаване е досадно, а използването на реални идентификатори на компании поражда опасения за поверителност. Генерираните CNPJ решават и двата проблема.
Тестване на гранични случаи: Функцията за валидация трябва да отхвърля 00.000.000/0000-00, но да приема 11.222.333/0001-81. Наличието на генератор ви позволява бързо да създавате както валидни, така и умишлено невалидни тестови случаи, за да проверите дали логиката ви правилно обработва граничните условия.
QA регресионно тестване: При тестване на регистрационни форми или B2B процеси на плащане, QA екипите се нуждаят от нови тестови данни за всяко изпълнение. Често срещан проблем е: тестовите среди се замърсяват с едни и същи 5-6 CNPJ, използвани многократно, което маскира бъгове, които се появяват само с определени цифрови модели.
Тестване на API интеграция: Ако интегрирате с бразилски платежни процесори като PagSeguro или Mercado Pago, техните пясъчни среди често изискват валиден CNPJ формат. Математиката трябва да е правилна, дори когато не се свързвате с производствени бази данни.
Обработка и валидация на данни
Почистване на импортирани данни: Получили сте CSV с 10 000 записа на бразилски компании. Преди обработката трябва да идентифицирате кои CNPJ са неправилни. Преминаването им през валидатора маркира записите с правописни грешки, съкращения или неправилни контролни цифри - спестявайки часове последващо отстраняване на грешки.
Клиентска валидация на форма: Улавянето на невалидни CNPJ преди изпращане на формуляра подобрява потребителското изживяване. Никой не иска да попълва регистрационен формуляр с 20 полета, само за да получи грешка при изпращане, защото е разменил две цифри в CNPJ.
Анонимизация на данни за анализ: При подготовка на производствени данни за споделяне с екипи за анализ или външни партньори, трябва да замените реалните CNPJ с валидни, но фалшиви. Това поддържа референциалната цялост на вашия набор от данни, като същевременно защитава действителните бизнес идентичности.
Международни бизнес операции
Разбиране на бразилските изисквания: Ако разширявате дейността си на бразилския пазар, ще се сблъскате с изисквания за CNPJ в договори, фактури и документи за доставка. Наличието на инструмент за експериментиране с формата помага да разберете какво трябва да обработват вашите системи.
Спецификации за интеграция с трети страни: При преглед на API документация от бразилски SaaS доставчици, често ще виждате CNPJ полета в примери за полезни товари. Възможността да генерирате валидни тестови стойности помага да прототипирате интеграции по-бързо.
Алтернативни подходи за валидация на CNPJ
Програмни библиотеки
Ако се нуждаете от валидация на CNPJ, вградена във вашата логика на приложението, тези библиотеки прилагат алгоритъма за проверка на контролната цифра:
- JavaScript/Node.js:
cpf-cnpj-validator(130k+ седмични изтегляния),validator.js(поддържа бразилски документи) - Python:
validate-docbr(валидира CPF, CNPJ и други бразилски документи),python-cnpj - PHP:
respect/validation(включва правила за CNPJ),brazilianutils - Java:
caelum-stella(всеобхватна валидация на бразилски документи) - Ruby:
cpf_cnpjgem
Тези библиотеки обикновено обработват форматирането, парсването и валидацията за множество типове бразилски документи (CPF, CNPJ и др.).
Официални API за проверка
За производствени системи, които се нуждаят от проверка на действителна бизнес регистрация:
- Публична служба на Receita Federal: Consulta CNPJ API позволява проверка спрямо официалната база данни (изисква подходящо упълномощаване и ограничаване на честотата)
- Доставчици на данни от трети страни: Услуги като Serasa Experian и Boa Vista SCPC предлагат търговски API, които връщат данни за компанията, статус на регистрация и кредитна информация
Забележка: Тези услуги проверяват действителната регистрация, а не само математическата валидност. Ще се нуждаете от подходящо упълномощаване и трябва да очаквате разходи за API при производствена употреба.
Кога да използвате всеки подход
Използвайте този инструмент в браузъра, когато: Имате нужда от бърза валидация без инсталиране на зависимости, генериране на тестови данни за демонстрации или научаване как работи валидацията на CNPJ.
Използвайте библиотека, когато: Изграждате приложение, което се нуждае от валидация от клиентската или сървърната страна като част от обработката на формуляри.
Използвайте официален API, когато: Имате нужда да проверите дали даден CNPJ съответства на реален, активен бизнес субект с актуален статус на регистрация.
Технически детайли за имплементация
Този инструмент работи изцяло във вашия браузър чрез JavaScript - без сървърни заявки, без данни, които напускат вашата машина. Ето как работят алгоритмите под капака, с код, който можете да адаптирате за собствените си проекти:
Алгоритъм за генериране на CNPJ
1function generateCNPJ() {
2 // Генериране на първите 12 цифри случайно
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // Изчисляване на първата контролна цифра
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // Изчисляване на втората контролна цифра
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // Форматиране на 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Алгоритъм за валидация на CNPJ
1function validateCNPJ(cnpj) {
2 // Премахване на non-numeric символи
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Проверка дали има правилната дължина
6 if (cleanCNPJ.length !== 14) return false;
7
8 // Проверка за известни невалидни шаблони (всички еднакви цифри)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // Преобразуване в масив от цифри
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // Проверка на първата контролна цифра
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // Проверка на втората контролна цифра
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24Функция за форматиране на CNPJ
1function formatCNPJ(cnpj) {
2 // Премахване на non-numeric символи
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Форматиране въз основа на дължината
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Тези основни функции могат да бъдат имплементирани и в други програмни езици, като се следва същата логика. Ето примери на Python и Java:
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 # Генериране на първите 12 цифри случайно
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # Изчисляване на първата контролна цифра
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # Изчисляване на втората контролна цифра
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # Форматиране на 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 # Премахване на non-numeric символи
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # Проверка на дължината
34 if len(cnpj) != 14:
35 return False
36
37 # Проверка дали всички цифри са еднакви
38 if len(set(cnpj)) == 1:
39 return False
40
41 # Преобразуване в списък от integers
42 digits = [int(d) for d in cnpj]
43
44 # Валидация на първата контролна цифра
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # Валидация на втората контролна цифра
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55Java имплементация
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 // Генериране на първите 12 цифри случайно
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // Изчисляване на първата контролна цифра
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // Изчисляване на втората контролна цифра
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // Форматиране на 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 // Премахване на non-numeric символи
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // Проверка на дължината
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // Проверка дали всички цифри са еднакви
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 // Преобразуване в масив от integers
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 // Валидация на първата контролна цифра
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // Валидация на втората контролна цифра
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85Важни ограничения и съображения
Какво може и не може да прави този инструмент
Какво валидира: Математическа коректност — дали контролните цифри съответстват на изчислението по алгоритъма.
Какво не валидира: Дали CNPJ е регистриран в Receita Federal, дали принадлежи на активна компания или дали съответства на очакваното име на бизнеса.
Помислете за това като за проверка на правопис спрямо проверка на факти. Този инструмент ви казва дали CNPJ е "написан" правилно според математическите правила, но не може да каже дали номерът съответства на реален, активен бизнес.
Законно и етично използване
Генерираните CNPJ са само за тестване и разработка. Те са математически валидни, но не са регистрирани от бразилските власти, което означава:
- ✅ Безопасно за използване при: Попълване на тестови бази данни, unit тестване на логика за валидация, QA среди, примери с код в документация
- ❌ Никога не използвайте за: Данъчни декларации, регистрация на бизнес, подписване на договори, обработка на реални транзакции или представяне с невярна бизнес самоличност
Използването на фалшив CNPJ за официални цели не е просто неетично — то е незаконно според бразилското законодателство и може да доведе до обвинения в измама.
Технически ограничения, които трябва да знаете
Случайното генериране има последствия: Инструментът генерира първите 12 цифри случайно. Реалните CNPJ, издадени от Receita Federal, следват вътрешни модели, свързани с датата на регистрация, регионален офис и тип бизнес. Генерираните номера няма да съответстват на тези модели, което по-сложни системи за валидация могат да забележат.
Без семантична валидация: Валиден CNPJ формат не означава валиден бизнес контекст. Например, държавните институции имат специфични CNPJ диапазони — този генератор може случайно да създаде такъв, но той няма да бъде смислен.
Обработка на формат: Валидаторът приема различни входни формати (12345678000195, 12.345.678/0001-95), но някои стари системи очакват точен формат. Винаги тествайте спрямо конкретните изисквания на вашата интеграция.
Поверителност и сигурност
Цялата обработка се извършва от клиентската страна във вашия браузър. Нито един CNPJ, който генерирате или валидирате, не се изпраща към сървъри, не се записва или съхранява. Инструментът не изисква, обработва или борави с лична информация.
Често задавани въпроси относно валидирането на CNPJ
Каква е разликата между валидирането и проверката на CNPJ?
Валидирането проверява дали числото е математически коректно - правилен формат, верни контролни цифри, без невалидни модели. Този инструмент извършва валидиране.
Проверката установява дали CNPJ е регистриран в базата данни на Receita Federal. Проверката изисква запитване към правителствената база данни и не е нещо, което този инструмент прави.
Може да имате напълно валиден CNPJ, който не е проверен (като тестовите номера, които този инструмент генерира), или невалиден CNPJ, който принадлежи на реална компания (защото някой е допуснал грешка при въвеждането).
Мога ли да използвам генерирани CNPJ за производствено тестване?
Зависи какво разбирате под "производствено тестване". Те са добри за среди за етапно тестване, натоварване и предварителен QA. Но ако "производствено тестване" означава тестване с реални транзакции, реални правителствени API или реални финансови системи - тогава не, ще ви трябват действителни регистрирани CNPJ.
По-безопасен подход: използвайте генерирани CNPJ в изолирани тестови среди, след което преминете към малък набор от реални тестови фирмени CNPJ (такива, които контролирате) при тестване на производствени интеграции.
Защо валидаторът отхвърля 11.111.111/1111-11?
Въпреки че CNPJ с еднакви цифри може математически да произведе валидни контролни цифри, Receita Federal изрично изключва тези модели. Това е бизнес правило, а не математическо. Същото важи и за последователни модели в някои системи за валидиране.
Това е подобно на начина, по който много системи отхвърлят пароли като "password123", дори да отговарят на изискванията за дължина - те са технически валидни, но практически неприемливи.
Как да обработвам CNPJ валидация в различни локации?
Бразилските компании, които извършват международен бизнес, понякога премахват форматиращите символи при въвеждане на CNPJ в чужди системи. Вашата логика за валидация трябва да премахва нецифровите символи преди проверката:
1const cleanCNPJ = input.replace(/\D/g, ''); // Премахване на всичко освен цифри
2Приемайте 12.345.678/0001-95, 12345678000195 и 12 345 678 0001 95 като еквивалентни входове.
Какво е разликата между CNPJ и CPF валидацията?
CPF (Cadastro de Pessoas Físicas) е индивидуалният данъчен идентификатор на Бразилия, докато CNPJ е за бизнеси. Те използват различни алгоритми за контролни цифри и различна дължина (CPF има 11 цифри, CNPJ има 14). Ако изграждате бразилско приложение, което обработва и двете, ще ви трябват отделни функции за валидация - макар че много библиотеки поддържат и двата формата.
Често срещан модел: позволете на потребителите да въвеждат CPF или CNPJ в едно и също поле, след което разпознайте типа въз основа на дължината след премахване на форматирането.
Работи ли това за чуждестранни компании, опериращи в Бразилия?
Чуждестранните компании, опериращи в Бразилия, също трябва да получат CNPJ от Receita Federal. Техните CNPJ следват същия формат и правила за валидация като местните компании. Не съществува специален "чуждестранен" CNPJ формат.
Въпреки това, чуждестранните компании може да имат допълнителни изисквания за документация и различни процеси на регистрация - консултирайте се с бразилски бизнес адвокат за конкретности.
Мога ли да направя запитване към правителствената база данни, за да проверя CNPJ регистрацията?
Да, Receita Federal предоставя публичен достъп за проверка на основна CNPJ информация чрез техния Consulta Pública CNPJ сервиз. Можете да търсите CNPJ ръчно или, с подходящо разрешение, да използвате техните API за програмен достъп.
Имайте предвид, че интензивното използване изисква регистрация и има ограничения за честота, за да се предотврати злоупотреба.
Колко често се променят CNPJ?
CNPJ са постоянни идентификатори, които не се променят, когато компанията смени името, адреса или структурата на собственост. Обаче, ако компания се закрие и по-късно се регистрира отново, може да получи нов CNPJ. Номерата на клоновете (частта /XXXX) могат да бъдат добавяни, когато компаниите отварят нови локации, но базовото 8-цифрено число остава константно.
Препратки и допълнителни ресурси
Официални правителствени източници
- Receita Federal do Brasil - Официален портал - Официален уебсайт на Бразилската федерална данъчна служба с услуги за регистрация и проверка на CNPJ
- Consulta Pública CNPJ - Публично търсене на CNPJ - Официална правителствена услуга за проверка на статуса на CNPJ регистрация
- Нормативна инструкция RFB № 1863/2018 - Правни разпоредби, регулиращи регистрацията и използването на CNPJ в Бразилия
Технически стандарти и документация
- Алгоритми за модулна аритметика - Изчисляването на контролната цифра използва модулна аритметика, стандартен подход за валидационни цифри
- ISO/IEC 7064 - Международен стандарт за системи за контролни цифри, който е повлиял на дизайна за валидация на бразилски документи
- Бразилски граждански кодекс (Закон № 10.406/2002) - Правна рамка, определяща класификациите на стопански субекти, изискващи CNPJ регистрация
Ресурси за разработчици
- NPM регистър на пакети - npmjs.com - Хранилище за JavaScript библиотеки, включително валидатори на бразилски документи
- PyPI (Python Package Index) - pypi.org - Python библиотеки за валидация на CNPJ и обработка на бразилски документи
- GitHub -Open-source имплементации на CNPJ валидация в множество програмни езици
Започнете генериране и валидиране на CNPJ
Независимо дали изграждате бразилска електронна търговска платформа, тествате интеграции за плащания с Mercado Pago или просто искате да разберете как работи валидирането на CNPJ, този инструмент ви предоставя незабавен достъп до възможности за генериране и валидиране.
Без инсталация, без API ключове, без усложнена настройка. Просто отворете браузъра си и започнете работа с валидни бразилски идентификатори на бизнес.