🛠️

Whiz Tools

Build • Create • Innovate

Công cụ tạo và xác thực CNPJ Brazil cho việc kiểm tra

Tạo số CNPJ Brazil hợp lệ và xác thực các số hiện có với công cụ đơn giản này được thiết kế cho các nhà phát triển và kiểm thử làm việc với ID doanh nghiệp Brazil.

Trình tạo và xác thực CNPJ Brazil

Trình tạo CNPJ

Tạo một số CNPJ Brazil hợp lệ cho mục đích thử nghiệm.

Xác thực CNPJ

Kiểm tra xem một số CNPJ Brazil có hợp lệ hay không.

📚

Tài liệu

Công Cụ Tạo và Xác Thực CNPJ Brazil

Giới thiệu

CNPJ Brazil (Cadastro Nacional da Pessoa Jurídica) là một số định danh duy nhất được cấp cho các doanh nghiệp và thực thể pháp lý tại Brazil. Công cụ tạo và xác thực CNPJ Brazil này cung cấp một cách đơn giản và hiệu quả để tạo ra các số CNPJ hợp lệ cho mục đích thử nghiệm và xác thực các số CNPJ hiện có theo thuật toán chính thức của Brazil. Dù bạn là một nhà phát triển đang thử nghiệm các ứng dụng xử lý dữ liệu doanh nghiệp Brazil, một chuyên gia QA đang tạo ra các trường hợp thử nghiệm, hay bất kỳ ai làm việc với thông tin công ty Brazil, công cụ này giúp đơn giản hóa quy trình làm việc với các số CNPJ.

Khác với các số CNPJ thực tế được cấp bởi Cơ quan Doanh thu Liên bang Brazil (Receita Federal), các CNPJ được tạo ra bởi công cụ này là hợp lệ về mặt toán học nhưng không được đăng ký cho các công ty thực tế. Điều này làm cho chúng trở nên hoàn hảo cho các tình huống thử nghiệm, dữ liệu mẫu và môi trường phát triển nơi bạn cần các số CNPJ được định dạng và hợp lệ mà không cần sử dụng các định danh doanh nghiệp thực.

CNPJ là gì?

CNPJ (Cadastro Nacional da Pessoa Jurídica) là một số định danh 14 chữ số được cấp cho các doanh nghiệp và thực thể pháp lý bởi Cơ quan Doanh thu Liên bang Brazil. Nó phục vụ như một số đăng ký doanh nghiệp hoặc mã số thuế tương đương ở Brazil. Mỗi doanh nghiệp hoạt động hợp pháp tại Brazil phải có một CNPJ, được sử dụng cho:

  • Báo cáo thuế và tuân thủ
  • Đăng ký doanh nghiệp với các cơ quan chính phủ
  • Mở tài khoản ngân hàng
  • Phát hành hóa đơn và biên lai
  • Tham gia vào các đấu thầu của chính phủ
  • Nhập khẩu và xuất khẩu hàng hóa

CNPJ là một định danh thiết yếu trong hệ sinh thái doanh nghiệp của Brazil và xuất hiện trên các tài liệu chính thức, hợp đồng và hồ sơ tài chính.

Cấu trúc và Định dạng CNPJ

Một CNPJ Brazil bao gồm 14 chữ số, thường được định dạng như: XX.XXX.XXX/YYYY-ZZ

Cấu trúc phân chia như sau:

  1. 8 chữ số đầu tiên (XX.XXX.XXX): Số cơ bản được cấp cho công ty
  2. 4 chữ số sau dấu gạch chéo (YYYY): Định danh chi nhánh (0001 cho trụ sở chính, các số khác cho các chi nhánh)
  3. 2 chữ số cuối (ZZ): Chữ số kiểm tra để xác thực

Ví dụ, một CNPJ được định dạng hợp lệ có thể trông như: 12.345.678/0001-95

Các chữ số kiểm tra (hai số cuối) được tính toán bằng một thuật toán toán học cụ thể xác thực tính xác thực của CNPJ. Thuật toán này đảm bảo rằng các số được tạo ngẫu nhiên không thể vượt qua xác thực mà không tuân theo phương pháp tính toán đúng.

Cách Xác Thực CNPJ Hoạt Động

Thuật toán xác thực CNPJ sử dụng một phép tính trọng số để xác định các chữ số kiểm tra. Dưới đây là cách thức hoạt động:

Tính Toán Chữ Số Kiểm Tra Đầu Tiên

  1. Nhân mỗi chữ số trong 12 chữ số đầu tiên với một chuỗi trọng số: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. Tính tổng các kết quả của các phép nhân này
  3. Tính phần dư của tổng này chia cho 11
  4. Nếu phần dư nhỏ hơn 2, chữ số kiểm tra đầu tiên là 0; nếu không, nó là 11 trừ đi phần dư

Tính Toán Chữ Số Kiểm Tra Thứ Hai

  1. Nhân mỗi chữ số trong 13 chữ số đầu tiên (bao gồm cả chữ số kiểm tra đầu tiên) với một chuỗi trọng số: 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. Tính tổng các kết quả của các phép nhân này
  3. Tính phần dư của tổng này chia cho 11
  4. Nếu phần dư nhỏ hơn 2, chữ số kiểm tra thứ hai là 0; nếu không, nó là 11 trừ đi phần dư

Để một CNPJ hợp lệ, cả hai chữ số kiểm tra phải khớp với các giá trị đã tính toán.

Cách Sử Dụng Công Cụ Này

Công cụ Tạo và Xác Thực CNPJ Brazil của chúng tôi cung cấp hai chức năng chính: tạo CNPJ hợp lệ và xác thực các số CNPJ hiện có.

Tạo CNPJ

Để tạo một CNPJ hợp lệ cho mục đích thử nghiệm:

  1. Điều hướng đến phần "Công Cụ Tạo CNPJ" của công cụ
  2. Nhấn nút "Tạo CNPJ"
  3. Một CNPJ hợp lệ về mặt toán học sẽ xuất hiện trong hiển thị định dạng
  4. Sử dụng nút "Sao chép" để sao chép CNPJ được tạo vào clipboard của bạn

CNPJ được tạo sẽ tuân theo tất cả các quy tắc xác thực toán học của một CNPJ thực nhưng không được đăng ký với Cơ quan Doanh thu Liên bang Brazil.

Xác Thực CNPJ

Để kiểm tra xem một CNPJ có hợp lệ về mặt toán học hay không:

  1. Điều hướng đến phần "Công Cụ Xác Thực CNPJ" của công cụ
  2. Nhập CNPJ bạn muốn xác thực vào trường nhập
    • Công cụ chấp nhận CNPJ có hoặc không có định dạng (dấu chấm, dấu gạch chéo và dấu gạch nối)
  3. Nhấn nút "Xác thực"
  4. Công cụ sẽ hiển thị xem CNPJ có hợp lệ hay không dựa trên thuật toán chữ số kiểm tra

Trình xác thực kiểm tra xem CNPJ có tuân theo định dạng chính xác và nếu các chữ số kiểm tra khớp với các giá trị mong đợi theo thuật toán xác thực.

Các Tình Huống Sử Dụng

Công cụ Tạo và Xác Thực CNPJ Brazil này đặc biệt hữu ích trong các tình huống sau:

Phát Triển và Thử Nghiệm Phần Mềm

  • Tạo Dữ Liệu Thử Nghiệm: Tạo CNPJ hợp lệ để làm đầy cơ sở dữ liệu thử nghiệm mà không sử dụng các định danh công ty thực
  • Thử Nghiệm Đơn Vị: Xác thực các hàm xử lý CNPJ trong mã của bạn với các ví dụ hợp lệ và không hợp lệ đã biết
  • Thử Nghiệm QA: Tạo các trường hợp thử nghiệm cho các biểu mẫu và giao diện yêu cầu đầu vào CNPJ
  • Thử Nghiệm Tích Hợp: Thử nghiệm các hệ thống trao đổi dữ liệu với các dịch vụ chính phủ Brazil hoặc các tổ chức tài chính

Giáo Dục và Đào Tạo

  • Học Định Dạng CNPJ: Hiểu cách các định danh doanh nghiệp Brazil được cấu trúc
  • Nghiên Cứu Thuật Toán: Xem xét cách thức hoạt động của xác thực chữ số kiểm tra trong thực tế
  • Kỹ Thuật Xác Thực Dữ Liệu: Nghiên cứu các ví dụ thực tế về yêu cầu xác thực dữ liệu

Xử Lý Dữ Liệu

  • Làm Sạch Dữ Liệu: Xác thực CNPJ trong các tập dữ liệu hiện có để xác định các lỗi tiềm ẩn
  • Xác Thực Biểu Mẫu: Triển khai xác thực phía máy khách hoặc phía máy chủ cho đầu vào CNPJ
  • Ẩn Danh Dữ Liệu: Thay thế CNPJ thực bằng các CNPJ được tạo hợp lệ khi chuẩn bị các tập dữ liệu cho phân tích

Kinh Doanh Quốc Tế

  • Chuẩn Bị Tham Gia Thị Trường: Hiểu các yêu cầu về định danh doanh nghiệp tại Brazil
  • Chuẩn Bị Tài Liệu: Đảm bảo định dạng chính xác khi chuẩn bị tài liệu doanh nghiệp cho Brazil
  • Kiểm Tra Tuân Thủ: Xác minh rằng các số CNPJ thu thập được ít nhất là hợp lệ về mặt toán học

Các Giải Pháp Thay Thế

Trong khi công cụ của chúng tôi cung cấp một giải pháp đơn giản, dựa trên trình duyệt để tạo và xác thực CNPJ, có một số giải pháp thay thế tùy thuộc vào nhu cầu cụ thể của bạn:

Thư Viện Lập Trình

Đối với các nhà phát triển tích hợp xác thực CNPJ trực tiếp vào các ứng dụng, có một số thư viện cụ thể cho ngôn ngữ có sẵn:

  • 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

Các thư viện này thường cung cấp chức năng bổ sung như định dạng, phân tích và xác thực các tài liệu Brazil khác.

Dịch Vụ API

Đối với các ứng dụng yêu cầu xác thực mà không cần triển khai thuật toán:

  • Các API của chính phủ Brazil (cần đăng ký)
  • Các API xác thực thương mại bao gồm kiểm tra CNPJ
  • Các dịch vụ thông tin doanh nghiệp xác thực chống lại cơ sở dữ liệu chính thức

Tính Toán Thủ Công

Đối với mục đích giáo dục hoặc xác thực một lần, bạn có thể áp dụng thủ công thuật toán:

  1. Trích xuất 12 chữ số đầu tiên của CNPJ
  2. Thực hiện các phép tính trọng số như đã mô tả ở trên
  3. So sánh các chữ số kiểm tra đã tính toán với các chữ số kiểm tra thực tế

Tuy nhiên, tính toán thủ công dễ mắc lỗi và không hiệu quả cho việc sử dụng thường xuyên.

Triển Khai Kỹ Thuật

Công cụ tạo và xác thực CNPJ trong công cụ này được triển khai bằng JavaScript, giúp nó nhanh chóng và có khả năng chạy hoàn toàn trong trình duyệt của bạn mà không cần gửi dữ liệu của bạn đến máy chủ. Dưới đây là cách các chức năng cốt lõi hoạt động:

Thuật Toán Tạo CNPJ

1function generateCNPJ() {
2  // Tạo 12 chữ số đầu tiên ngẫu nhiên
3  const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4  
5  // Tính chữ số kiểm tra đầu tiên
6  const firstCheckDigit = calculateCheckDigit(digits);
7  digits.push(firstCheckDigit);
8  
9  // Tính chữ số kiểm tra thứ hai
10  const secondCheckDigit = calculateCheckDigit(digits);
11  digits.push(secondCheckDigit);
12  
13  // Định dạng 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

Thuật Toán Xác Thực CNPJ

1function validateCNPJ(cnpj) {
2  // Loại bỏ các ký tự không phải số
3  const cleanCNPJ = cnpj.replace(/\D/g, '');
4  
5  // Kiểm tra xem nó có độ dài chính xác không
6  if (cleanCNPJ.length !== 14) return false;
7  
8  // Kiểm tra các mẫu không hợp lệ đã biết (tất cả các chữ số giống nhau)
9  if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10  
11  // Chuyển đổi thành mảng các chữ số
12  const digits = cleanCNPJ.split('').map(Number);
13  
14  // Kiểm tra chữ số kiểm tra đầu tiên
15  const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16  if (digits[12] !== expectedFirstDigit) return false;
17  
18  // Kiểm tra chữ số kiểm tra thứ hai
19  const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20  if (digits[13] !== expectedSecondDigit) return false;
21  
22  return true;
23}
24

Hàm Định Dạng CNPJ

1function formatCNPJ(cnpj) {
2  // Loại bỏ các ký tự không phải số
3  const cleanCNPJ = cnpj.replace(/\D/g, '');
4  
5  // Định dạng dựa trên độ dài
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

Các chức năng cốt lõi này có thể được triển khai trong các ngôn ngữ lập trình khác theo cùng một logic. Dưới đây là các ví dụ trong Python và Java:

Triển Khai 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    # Tạo 12 chữ số đầu tiên ngẫu nhiên
15    digits = [random.randint(0, 9) for _ in range(12)]
16    
17    # Tính chữ số kiểm tra đầu tiên
18    first_check = calculate_check_digit(digits)
19    digits.append(first_check)
20    
21    # Tính chữ số kiểm tra thứ hai
22    second_check = calculate_check_digit(digits)
23    digits.append(second_check)
24    
25    # Định dạng 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    # Loại bỏ các ký tự không phải số
31    cnpj = ''.join(filter(str.isdigit, cnpj))
32    
33    # Kiểm tra độ dài
34    if len(cnpj) != 14:
35        return False
36    
37    # Kiểm tra nếu tất cả các chữ số đều giống nhau
38    if len(set(cnpj)) == 1:
39        return False
40    
41    # Chuyển đổi thành danh sách các số nguyên
42    digits = [int(d) for d in cnpj]
43    
44    # Xác thực chữ số kiểm tra đầu tiên
45    first_check = calculate_check_digit(digits[:12])
46    if digits[12] != first_check:
47        return False
48    
49    # Xác thực chữ số kiểm tra thứ hai
50    second_check = calculate_check_digit(digits[:13])
51    if digits[13] != second_check:
52        return False
53    
54    return True
55

Triển Khai 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        // Tạo 12 chữ số đầu tiên ngẫu nhiên
10        for (int i = 0; i < 12; i++) {
11            digits[i] = random.nextInt(10);
12        }
13        
14        // Tính chữ số kiểm tra đầu tiên
15        digits[12] = calculateCheckDigit(digits, 12);
16        
17        // Tính chữ số kiểm tra thứ hai
18        digits[13] = calculateCheckDigit(digits, 13);
19        
20        // Định dạng 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        // Loại bỏ các ký tự không phải số
45        cnpj = cnpj.replaceAll("\\D", "");
46        
47        // Kiểm tra độ dài
48        if (cnpj.length() != 14) {
49            return false;
50        }
51        
52        // Kiểm tra nếu tất cả các chữ số đều giống nhau
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        // Chuyển đổi thành mảng các số nguyên
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        // Xác thực chữ số kiểm tra đầu tiên
71        int firstCheck = calculateCheckDigit(digits, 12);
72        if (digits[12] != firstCheck) {
73            return false;
74        }
75        
76        // Xác thực chữ số kiểm tra thứ hai
77        int secondCheck = calculateCheckDigit(digits, 13);
78        if (digits[13] != secondCheck) {
79            return false;
80        }
81        
82        return true;
83    }
84}
85

Những Lưu Ý Quan Trọng

Khi sử dụng công cụ tạo và xác thực CNPJ này, hãy ghi nhớ các lưu ý sau:

Các Lưu Ý Pháp Lý và Đạo Đức

  • Không Dùng Để Gian Lận: Các CNPJ được tạo ra không bao giờ được sử dụng cho các mục đích gian lận hoặc giả mạo
  • Chỉ Dùng Cho Thử Nghiệm: Những CNPJ này chỉ dành cho mục đích thử nghiệm và phát triển
  • Không Được Đăng Ký: Các CNPJ được tạo ra không được đăng ký với các cơ quan Brazil
  • Không Có Tính Hợp Pháp Thực Tế: Chúng không thể được sử dụng cho việc đăng ký doanh nghiệp hoặc mục đích thuế thực tế

Giới Hạn Kỹ Thuật

  • Không Có Thông Tin Doanh Nghiệp: Các CNPJ được tạo ra không chứa mã ngành hoặc thông tin địa điểm thực tế
  • Không Kiểm Tra Cơ Sở Dữ Liệu: Trình xác thực chỉ kiểm tra tính hợp lệ toán học, không kiểm tra tình trạng đăng ký
  • Biến Thể Định Dạng: Trong khi công cụ xử lý các biến thể định dạng phổ biến, một số hệ thống có thể yêu cầu các định dạng cụ thể

Các Lưu Ý Về Bảo Mật

  • Xử Lý Tại Máy Khách: Tất cả các xử lý diễn ra trong trình duyệt của bạn; không có dữ liệu nào được gửi đến máy chủ
  • Không Lưu Trữ Dữ Liệu: Các CNPJ được tạo ra không được lưu trữ hoặc ghi lại
  • Không Có Dữ Liệu Cá Nhân: Công cụ không xử lý hoặc xử lý bất kỳ thông tin cá nhân nào

Câu Hỏi Thường Gặp

CNPJ được sử dụng để làm gì ở Brazil?

CNPJ là số đăng ký quốc gia cho các doanh nghiệp và thực thể pháp lý tại Brazil. Nó được sử dụng cho mục đích thuế, đăng ký doanh nghiệp, mở tài khoản ngân hàng và xác định các công ty trong các giao dịch chính thức.

Các CNPJ được tạo ra bởi công cụ này có phải là thật không?

Không. Các CNPJ được tạo ra bởi công cụ này hợp lệ về mặt toán học theo thuật toán chữ số kiểm tra, nhưng chúng không được đăng ký với Cơ quan Doanh thu Liên bang Brazil và không thuộc về các công ty thực tế.

Tôi có thể sử dụng các CNPJ được tạo ra cho doanh nghiệp của mình không?

Không. Để có được một CNPJ hợp pháp cho một doanh nghiệp, bạn phải đăng ký với Cơ quan Doanh thu Liên bang Brazil (Receita Federal) theo quy trình chính thức. Các CNPJ được tạo ra chỉ dành cho mục đích thử nghiệm.

Làm thế nào tôi có thể biết một CNPJ thuộc về một công ty thực tế?

Để xác minh xem một CNPJ có được đăng ký cho một công ty thực sự hay không, bạn cần tham khảo cơ sở dữ liệu của Cơ quan Doanh thu Liên bang Brazil. Công cụ của chúng tôi chỉ kiểm tra xem một CNPJ có hợp lệ về mặt toán học hay không, không kiểm tra xem nó có được đăng ký chính thức hay không.

Tại sao trình xác thực từ chối một CNPJ với tất cả các chữ số giống nhau?

CNPJ có tất cả các chữ số giống nhau (như 11.111.111/1111-11) sẽ tự động bị coi là không hợp lệ, ngay cả khi chúng vượt qua thuật toán chữ số kiểm tra về mặt toán học. Đây là một quy tắc được thiết lập bởi Cơ quan Doanh thu Liên bang Brazil.

Công cụ có lưu trữ các CNPJ mà tôi tạo ra hoặc xác thực không?

Không. Tất cả các xử lý diễn ra trong trình duyệt của bạn, và chúng tôi không lưu trữ hoặc truyền tải bất kỳ CNPJ nào bạn tạo ra hoặc xác thực.

Tôi có thể tạo nhiều CNPJ cùng một lúc không?

Phiên bản hiện tại của công cụ chỉ tạo một CNPJ tại một thời điểm. Đối với việc tạo hàng loạt, bạn có thể xem xét sử dụng một trong các thư viện lập trình được đề cập trong phần Giải pháp Thay thế.

Tại sao định dạng XX.XXX.XXX/XXXX-XX lại quan trọng?

Đây là định dạng chính thức được yêu cầu bởi các cơ quan Brazil. Các nhóm cụ thể giúp xác định các thành phần khác nhau của CNPJ, chẳng hạn như số cơ bản và định danh chi nhánh.

Làm thế nào tôi có thể xác thực một CNPJ theo cách lập trình?

Bạn có thể triển khai thuật toán xác thực trong ngôn ngữ lập trình ưa thích của mình bằng cách sử dụng các ví dụ mã được cung cấp trong phần Triển khai Kỹ thuật, hoặc sử dụng một trong các thư viện được đề cập trong phần Giải pháp Thay thế.

Có CNPJ đặc biệt nào cho các thực thể chính phủ không?

Có. Các thực thể chính phủ ở Brazil có các mẫu CNPJ cụ thể. Ví dụ, các thực thể chính phủ liên bang thường bắt đầu bằng các chữ số cụ thể. Công cụ của chúng tôi tạo ra các CNPJ ngẫu nhiên và không tạo ra các CNPJ của thực thể chính phủ.

Tài Liệu Tham Khảo

  1. Cơ quan Doanh thu Liên bang Brazil (Receita Federal do Brasil) - Trang web chính thức
  2. "CNPJ - Cadastro Nacional da Pessoa Jurídica" - Wikipedia
  3. Bộ luật Dân sự Brazil (Luật số 10.406/2002) - Khung pháp lý cho các thực thể doanh nghiệp tại Brazil
  4. Thông tư Đăng ký Doanh nghiệp Brazil (IN RFB số 1863/2018) - Quy định về đăng ký CNPJ

Hãy Thử Ngay

Công cụ Tạo và Xác Thực CNPJ Brazil của chúng tôi giúp việc làm việc với các số định danh này trở nên đơn giản và hiệu quả. Dù bạn đang thử nghiệm các ứng dụng, chuẩn bị dữ liệu mẫu, hay xác thực các CNPJ hiện có, công cụ này cung cấp một giải pháp đơn giản mà không cần phải tích hợp API hay cấu hình phức tạp.

Hãy tạo CNPJ hợp lệ đầu tiên của bạn ngay bây giờ hoặc xác thực một CNPJ hiện có bằng cách sử dụng giao diện đơn giản của chúng tôi!