İçeriğe geç

CNPJ Oluşturucu ve Doğrulayıcı - Brezilya İşletme Kimlik Aracı

Test için geçerli CNPJ numaraları oluşturun veya Brezilya işletme kimliklerini anında doğrulayın. Cadastro Nacional da Pessoa Jurídica ile çalışan geliştiriciler için ücretsiz araç ve kontrol hanesi doğrulaması.

Brezilya CNPJ Üreteç ve Doğrulayıcı

CNPJ Üreteç

Test amaçlı geçerli bir Brezilya CNPJ numarası oluşturun.

CNPJ Doğrulayıcı

Bir Brezilya CNPJ numarasının geçerli olup olmadığını kontrol edin.

Yükleme hesaplayıcısı...
📚

Belgeler

Brezilya CNPJ Numaralarını Anlamak

CNPJ (Cadastro Nacional da Pessoa Jurídica), Brezilya'nın kurumsal vergi kimlik numarası—ülkedeki her yasal iş birimini tanımlayan 14 haneli bir numaradır. Brezilya iş verilerini işleyen yazılım geliştiriyorsanız, bu numaralarla kayıt formlarında, faturalarda ve API entegrasyonlarında sıkça karşılaşacaksınız.

İşte bu aracın pratik yanı: gerçek şirket tanımlayıcıları kullanmadan matematiksel olarak geçerli CNPJ'ler oluşturmasıdır. 1.000 kayıtlık bir test veritabanı hazırlarken veya saat 02:00'de bir doğrulama rutininde hata ayıklarken, algoritma kontrollerinden geçen ancak gerçek işletmelerle eşleşmeyen CNPJ'lere ihtiyacınız vardır. İşte bu araç tam olarak bunu sağlar.

Burada oluşturulan numaralar, resmi Receita Federal (Brezilya Federal Gelir İdaresi) doğrulama algoritmasını izler. Doğru kontrol hanelerine ve uygun biçimlendirmeye sahiptirler—sadece devlet veritabanında kayıtlı değildirler. Geliştirme ortamınızda uyumluluk sorunları yaratmayacak, sözdizimsel olarak doğru test verileri olarak düşünebilirsiniz.

CNPJ Nedir ve Neden Önemlidir

CNPJ, Brezilya'nın kurumsal tanımlayıcısıdır - Amerika Birleşik Devletleri'ndeki EIN veya İngiltere'deki Şirket Kayıt Numarası gibi. Brezilya'da yasal olarak faaliyet gösteren her ticari kuruluşun, Receita Federal (Federal Gelir İdaresi) tarafından verilmiş bir CNPJ'si olmalıdır.

CNPJ ile karşılaşacağınız durumlar:

  • Ödeme işlemleri: Brezilya ödeme geçitleri, satıcı hesapları için CNPJ doğrulaması gerektirir
  • Vergi uyumluluğu: Brezilya'da düzenlenen her faturada geçerli bir CNPJ bulunmalıdır
  • İşletme kaydı: Devlet kurumları, sistemler arasında yasal varlıkları izlemek için CNPJ'leri kullanır
  • Banka işlemleri: Kurumsal hesap açma veya uluslararası transfer işlemleri
  • İthalat/ihracat: Gümrük belgeleri CNPJ doğrulaması gerektirir
  • Devlet sözleşmeleri: Kamu ihale sistemleri, teklif kabulünden önce CNPJ'leri doğrular

Brezilya e-ticaret platformlarıyla çalışma deneyimime göre, en yaygın entegrasyon noktalarından biri, kullanıcıların kurumsal satın alımlar için CNPJ'lerini girdiği ödeme akışıdır. Doğrulama mantığınız, ödeme işlemcisinden önce biçimlendirme hatalarını yakalamalıdır - aksi takdirde önlenebilecek başarısız işlemlerle karşılaşırsınız.

CNPJ Yapısı ve Formatı

CNPJ, XX.XXX.XXX/YYYY-ZZ formatında 14 haneden oluşur.

Yapıyı detaylandırarak:

  1. İlk 8 hane (XX.XXX.XXX): Şirkete özel olarak atanmış temel kayıt numarası
  2. Sonraki 4 hane (/YYYY): Şube veya işletme tanımlayıcısı—/0001 genel merkezi, /0002, /0003 ise şube konumlarını gösterir
  3. Son 2 hane (-ZZ): Ağırlıklı bir algoritmayla hesaplanan doğrulama haneleri

Örnek: 12.345.678/0001-95

Şube tanımlayıcısı hakkında ilginç bilgi: bir şirket birden fazla lokasyon açtığında, her biri aynı ilk 8 haneyi alır ancak farklı bir şube numarası alır. Dolayısıyla 50 mağazalı bir perakende zinciri, /0001 ile /0050 arasında biten CNPJ'lere sahip olacak, hepsi aynı temel numarayı paylaşır. Bu, birden fazla CNPJ'nin aynı ana kuruluşa ait olduğunu kolayca tanımlamayı sağlar.

Kontrol haneleri rastgele değildir—bunlar belirli ağırlık dizileriyle modulus-11 algoritması kullanılarak hesaplanır. Brezilya idari belgelerinde yaygın olan bu tasarım yaklaşımı, geçerli numaraları sahte olarak üretmeyi veya yanlışlıkla geçerli numaralar oluşturmayı matematiksel olarak zorlaştırır.

CNPJ Doğrulamasının Gerçekte Nasıl Çalıştığı

Doğrulama algoritması, ağırlıklı modülüs-11 hesaplaması kullanır. İşte bunun arkasındaki mantık:

Birinci Kontrol Hanesi Hesaplaması

  1. İlk 12 basamağı alın ve şu ağırlıklarla çarpın: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. Tüm çarpımların toplamını alın
  3. Toplamı 11'e bölün ve kalanı bulun
  4. Kalan < 2 ise kontrol hanesi 0'dır; aksi halde 11 - kalandır

İkinci Kontrol Hanesi Hesaplaması

  1. İlk 13 basamağı (birinci kontrol hanesini de içerecek şekilde) alın ve şu ağırlıklarla çarpın: 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
  2. Tüm çarpımların toplamını alın
  3. 11'e bölün ve kalanı bulun
  4. Kalan < 2 ise kontrol hanesi 0'dır; aksi halde 11 - kalandır

Bu yaklaşımın neden çalıştığı: Ağırlıklı çarpma sistemi, 12 temel basamak ile ortaya çıkan kontrol haneleri arasında benzersiz bir ilişki oluşturur. Temel numaradaki tek bir basamağı değiştirmek bile farklı kontrol haneleri üretir, bu da yaygın transkripsiyon hatalarını yakalar (örneğin 12.345 yerine 12.354 yazmak gibi).

Pratik bir not: Tüm haneleri aynı olan CNPJ'ler (örneğin 11.111.111/1111-11) matematiksel kontrolden geçseler bile otomatik olarak geçersizdir. Receita Federal, basit vakaları önlemek için bu desenleri açıkça hariç tutar.

CNPJ Oluşturucu ve Doğrulayıcı Nasıl Kullanılır

Test CNPJ'leri Oluşturma

Test veritabanınız için geçerli bir CNPJ mi gerekiyor? İşte nasıl:

  1. "CNPJ Oluştur" düğmesine tıklayın
  2. Araç anında matematiksel olarak geçerli bir numara oluşturur
  3. Panoya almak için "Kopyala" düğmesine tıklayın
  4. Test formlarınıza, veritabanı tohumlarınıza veya birim testlerinize yapıştırın

Oluşturulan her CNPJ tüm algoritmik doğrulama kontrollerinden geçer ancak Receita Federal'de kayıtlı değildir. Bu, geliştirme sırasında gerçek bir şirketin tanımlayıcısını yanlışlıkla kullanmaktan endişelenmeden bunları serbestçe kullanabileceğiniz anlamına gelir.

CNPJ Numaralarını Doğrulama

Doğrulamanız gereken bir CNPJ mi var? Doğrulayıcı bunu halleder:

  1. CNPJ'yi giriş alanına yapıştırın veya yazın
  2. Biçimlendirmeden endişelenmeyin—12345678000195 veya 12.345.678/0001-95 ile çalışır
  3. "Doğrula" düğmesine tıklayın
  4. Kontrol rakamlarının doğru olup olmadığı hakkında anında geri bildirim alın

Doğrulayıcının kontrol ettiği şeyler: uygun uzunluk (14 basamak), doğru kontrol rakamı hesaplamaları ve tüm aynı basamaklardan oluşan geçersiz desenlerin dışlanması. Kontrol etmediği şey: CNPJ'nin hükümet veritabanında kayıtlı olup olmadığı—bu, Receita Federal'e doğrudan sorgu yapılmasını gerektirir.

CNPJ Oluşturucu ve Doğrulayıcı için Gerçek Dünya Kullanım Örnekleri

Yazılım Geliştirme ve Test Etme

Veritabanı tohumu: Gerçekçi test verileriyle bir hazırlık ortamı oluştururken, onlarca veya yüzlerce geçerli CNPJ'ye ihtiyacınız vardır. Bunları manuel olarak oluşturmak zahmetlidir ve gerçek şirket tanımlayıcıları kullanmak gizlilik endişeleri doğurur. Oluşturulan CNPJ'ler her iki sorunu da çözer.

Birim testleri sınır durumları: Doğrulama fonksiyonunuz 00.000.000/0000-00'ı reddetmeli ancak 11.222.333/0001-81'i kabul etmelidir. Bir oluşturucu, mantığınızın sınır koşullarını doğru şekilde işleyip işlemediğini doğrulamak için hızlıca hem geçerli hem de kasıtlı olarak geçersiz test örnekleri oluşturmanıza olanak sağlar.

QA regresyon testi: Kayıt formlarını veya B2B ödeme akışlarını test ederken, QA ekiplerinin her çalıştırmada taze test verilerine ihtiyacı vardır. Sıkça karşılaşılan bir sorun: test ortamları, tekrar tekrar kullanılan aynı 5-6 CNPJ ile kirletilir, bu da yalnızca belirli basamak desenlerinde ortaya çıkan hataları gizler.

API entegrasyon testi: PagSeguro veya Mercado Pago gibi Brezilya ödeme işlemcileriyle entegre oluyorsanız, sandbox ortamları genellikle geçerli CNPJ formatı gerektirir. Üretim veritabanlarına bağlanmasanız bile, matematiksel olarak doğru olmalıdır.

Veri İşleme ve Doğrulama

İçe aktarılan verilerin temizlenmesi: 10.000 Brezilyalı şirket kaydı içeren bir CSV aldınız. İşlemeden önce, hangi CNPJ'lerin bozuk olduğunu belirlemeniz gerekiyor. Bunları doğrulayıcıdan geçirmek, yazım hataları, kesme veya yanlış kontrol basamakları olan girişleri işaretler—aşağı akış hata ayıklamada saatler kazandırır.

İstemci tarafı form doğrulaması: Form gönderiminden önce geçersiz CNPJ'leri yakalamak kullanıcı deneyimini geliştirir. Kimse 20 alanlı bir kayıt formunu doldurup, CNPJ'deki iki basamağı yanlış yazdığı için gönderimde hata almak istemez.

Analiz için veri anonimleştirme: Üretim verilerini analiz ekipleri veya dış ortaklarla paylaşmaya hazırlarken, gerçek CNPJ'leri geçerli ancak sahte olanlarla değiştirmeniz gerekiyor. Bu, veri setinizdeki referans bütünlüğünü korurken gerçek iş kimliklerini korur.

Uluslararası İş Operasyonları

Brezilya gereksinimlerini anlama: Brezilya pazarına açılıyorsanız, sözleşmelerde, faturalandırmada ve sevkiyat belgelerinde CNPJ gereksinimleriyle karşılaşacaksınız. Formatla deney yapmanıza olanak sağlayan bir araç, sistemlerinizin neleri işlemesi gerektiğini anlamanıza yardımcı olur.

Üçüncü taraf entegrasyon özellikleri: Brezilya SaaS sağlayıcılarının API dokümantasyonunu incelerken, yük örneklerinde sıkça CNPJ alanları görürsünüz. Geçerli test değerleri oluşturabilmek, entegrasyonları daha hızlı prototiplemenize yardımcı olur.

Alternatif CNPJ Doğrulama Yaklaşımları

Programlama Kütüphaneleri

Uygulama mantığınıza gömülü CNPJ doğrulaması gerekiyorsa, bu kütüphaneler kontrol basamağı algoritmasını uygular:

Bu kütüphaneler genellikle birden fazla Brezilya belge türü (CPF, CNPJ vb.) için biçimlendirme, ayrıştırma ve doğrulama yapar.

Resmi Doğrulama API'leri

Gerçek iş kaydını doğrulaması gereken üretim sistemleri için:

  • Receita Federal Kamu Hizmeti: Consulta CNPJ API resmi veritabanına karşı doğrulama sağlar (uygun yetkilendirme ve hız sınırlaması gerektirir)
  • Üçüncü taraf veri sağlayıcıları: Serasa Experian ve Boa Vista SCPC gibi hizmetler, şirket detayları, kayıt durumu ve kredi bilgileri döndüren ticari API'lar sunar

Not: Bu hizmetler yalnızca matematiksel geçerliliği değil, gerçek kaydı kontrol eder. Uygun yetkilendirmeye ihtiyaç duyacaksınız ve üretim kullanımı için API maliyetleri beklemelisiniz.

Her Yaklaşımı Ne Zaman Kullanmalı

Bu tarayıcı aracını kullanın: Bağımlılık yüklemeden hızlı doğrulama, demo için test verileri oluşturma veya CNPJ doğrulamasının nasıl çalıştığını öğrenme gerektiğinde.

Bir kütüphane kullanın: Form işleme sırasında istemci tarafı veya sunucu tarafı doğrulaması gereken bir uygulama oluştururken.

Resmi bir API kullanın: Bir CNPJ'nin gerçek, aktif bir iş kuruluşuna ve güncel kayıt durumuna karşılık geldiğini doğrulamanız gerektiğinde.

Teknik Uygulama Detayları

Bu araç tamamen tarayıcınızda JavaScript kullanarak çalışır—hiçbir sunucu isteği yok, hiçbir veri makinenizden ayrılmaz. İşte algoritmaların perde arkasında nasıl çalıştığı ve kendi projeleriniz için uyarlayabileceğiniz kod:

CNPJ Oluşturma Algoritması

1function generateCNPJ() {
2  // İlk 12 basamağı rastgele oluştur
3  const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4  
5  // İlk kontrol basamağını hesapla
6  const firstCheckDigit = calculateCheckDigit(digits);
7  digits.push(firstCheckDigit);
8  
9  // İkinci kontrol basamağını hesapla
10  const secondCheckDigit = calculateCheckDigit(digits);
11  digits.push(secondCheckDigit);
12  
13  // CNPJ'yi formatla
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 Doğrulama Algoritması

1function validateCNPJ(cnpj) {
2  // Sayısal olmayan karakterleri kaldır
3  const cleanCNPJ = cnpj.replace(/\D/g, '');
4  
5  // Doğru uzunluğa sahip olup olmadığını kontrol et
6  if (cleanCNPJ.length !== 14) return false;
7  
8  // Bilinen geçersiz desenleri kontrol et (tüm basamaklar aynı)
9  if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10  
11  // Basamakları diziye dönüştür
12  const digits = cleanCNPJ.split('').map(Number);
13  
14  // İlk doğrulama basamağını kontrol et
15  const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16  if (digits[12] !== expectedFirstDigit) return false;
17  
18  // İkinci doğrulama basamağını kontrol et
19  const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20  if (digits[13] !== expectedSecondDigit) return false;
21  
22  return true;
23}
24

CNPJ Biçimlendirme İşlevi

1function formatCNPJ(cnpj) {
2  // Sayısal olmayan karakterleri kaldır
3  const cleanCNPJ = cnpj.replace(/\D/g, '');
4  
5  // Uzunluğa göre biçimlendir
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

Bu temel işlevler aynı mantıkla diğer programlama dillerinde de uygulanabilir. İşte Python ve Java'da örnekler:

Python Uygulaması

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    # İlk 12 basamağı rastgele oluştur
15    digits = [random.randint(0, 9) for _ in range(12)]
16    
17    # İlk kontrol basamağını hesapla
18    first_check = calculate_check_digit(digits)
19    digits.append(first_check)
20    
21    # İkinci kontrol basamağını hesapla
22    second_check = calculate_check_digit(digits)
23    digits.append(second_check)
24    
25    # CNPJ'yi formatla
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    # Sayısal olmayan karakterleri kaldır
31    cnpj = ''.join(filter(str.isdigit, cnpj))
32    
33    # Uzunluğu kontrol et
34    if len(cnpj) != 14:
35        return False
36    
37    # Tüm basamakların aynı olup olmadığını kontrol et
38    if len(set(cnpj)) == 1:
39        return False
40    
41    # Tamsayılara dönüştür
42    digits = [int(d) for d in cnpj]
43    
44    # İlk kontrol basamağını doğrula
45    first_check = calculate_check_digit(digits[:12])
46    if digits[12] != first_check:
47        return False
48    
49    # İkinci kontrol basamağını doğrula
50    second_check = calculate_check_digit(digits[:13])
51    if digits[13] != second_check:
52        return False
53    
54    return True
55

Java Uygulaması

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        // İlk 12 basamağı rastgele oluştur
10        for (int i = 0; i < 12; i++) {
11            digits[i] = random.nextInt(10);
12        }
13        
14        // İlk kontrol basamağını hesapla
15        digits[12] = calculateCheckDigit(digits, 12);
16        
17        // İkinci kontrol basamağını hesapla
18        digits[13] = calculateCheckDigit(digits, 13);
19        
20        // CNPJ'yi formatla
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        // Sayısal olmayan karakterleri kaldır
45        cnpj = cnpj.replaceAll("\\D", "");
46        
47        // Uzunluğu kontrol et
48        if (cnpj.length() != 14) {
49            return false;
50        }
51        
52        // Tüm basamakların aynı olup olmadığını kontrol et
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        // Tamsayılara dönüştür
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        // İlk kontrol basamağını doğrula
71        int firstCheck = calculateCheckDigit(digits, 12);
72        if (digits[12] != firstCheck) {
73            return false;
74        }
75        
76        // İkinci kontrol basamağını doğrula
77        int secondCheck = calculateCheckDigit(digits, 13);
78        if (digits[13] != secondCheck) {
79            return false;
80        }
81        
82        return true;
83    }
84}
85

Önemli Sınırlamalar ve Hususlar

Bu Aracın Yapabilecekleri ve Yapamadıkları

Neyi doğrular: Matematiksel doğruluk—kontrol rakamlarının algoritmanın hesaplamasıyla eşleşip eşleşmediği.

Neyi doğrulamaz: CNPJ'nin Receita Federal'de kayıtlı olup olmadığı, aktif bir şirkete ait olup olmadığı veya beklediğiniz işletme adıyla ilişkili olup olmadığı.

Bunu imla kontrolü ile gerçek kontrol arasındaki fark gibi düşünün. Bu araç, bir CNPJ'nin matematiksel kurallara göre "doğru yazılıp yazılmadığını" söyler, ancak numaranın gerçek, aktif bir iş kuruluşuna karşılık gelip gelmediğini söyleyemez.

Yasal ve Etik Kullanım

Oluşturulan CNPJ'ler yalnızca test ve geliştirme içindir. Matematiksel olarak geçerlidirler ancak Brezilya makamlarında kayıtlı değildirler, bu demektir ki:

  • Kullanılabilir: Test veritabanlarını doldurma, doğrulama mantığını birim testleri, QA ortamları, dokümantasyondaki kod örnekleri
  • Asla kullanılmamalı: Vergi beyanı, iş kaydı, sözleşme imzalama, gerçek işlemler yapma veya iş kimliğini yanlış temsil etme

Resmi amaçlar için sahte bir CNPJ kullanmak sadece etik dışı değil—Brezilya yasalarına göre yasadışıdır ve dolandırıcılık suçlamasına yol açabilir.

Bilinmesi Gereken Teknik Sınırlamalar

Rastgele oluşturmanın etkileri: Araç ilk 12 basamağı rastgele oluşturur. Receita Federal tarafından verilen gerçek CNPJ'ler, kayıt tarihi, bölgesel ofis ve iş türü ile ilgili iç desenleri izler. Oluşturulan numaralar bu desenlere uymayacaktır, bu da gelişmiş doğrulama sistemlerince işaretlenebilir.

Anlamsal doğrulama yok: Geçerli bir CNPJ formatı, geçerli bir iş bağlamı anlamına gelmez. Örneğin, devlet kurumlarının belirli CNPJ aralıkları vardır—bu oluşturucu tesadüfen bir tane oluşturabilir, ancak bu anlamlı olmaz.

Format işleme: Doğrulayıcı çeşitli girdi formatlarını kabul eder (12345678000195, 12.345.678/0001-95), ancak bazı eski sistemler kesin biçimlendirme bekler. Her zaman spesifik entegrasyon gereksinimlerinizle test edin.

Gizlilik ve Güvenlik

Tüm işlemler tarayıcınızda istemci tarafında gerçekleşir. Oluşturduğunuz veya doğruladığınız hiçbir CNPJ sunuculara gönderilmez, kaydedilmez veya depolanmaz. Araç herhangi bir kişisel bilgi talep etmez, işlemez veya işlenmez.

CNPJ Doğrulaması Hakkında Sık Sorulan Sorular

CNPJ Doğrulaması ile Doğrulaması Arasındaki Fark Nedir?

Doğrulama numaranın matematiksel olarak doğru olup olmadığını kontrol eder—uygun format, doğru kontrol haneleri, geçersiz desenler yok. Bu araç doğrulama yapar.

Doğrulama CNPJ'nin Receita Federal veritabanında gerçek bir şirketle kayıtlı olup olmadığını kontrol eder. Doğrulama, devlet veritabanını sorgulamayı gerektirir ve bu araç bunu yapmaz.

Doğrulanmamış bir CNPJ (bu araçların oluşturduğu test numaraları gibi) veya gerçek bir şirkete ait olan geçersiz bir CNPJ olabilir (biri onu girerken bir yazım hatası yaptığı için).

Üretilmiş CNPJ'leri Üretim Testinde Kullanabilir miyim?

"Üretim testi"nden ne anladığınıza bağlı. Hazırlık ortamları, yük testleri ve ön lanssman kalite güvencesi için uygundurlar. Ancak "üretim testi" gerçek işlemler, gerçek devlet API'leri veya gerçek finansal sistemlerle test etmek anlamına geliyorsa—hayır, gerçek kayıtlı CNPJ'lere ihtiyacınız var.

Daha güvenli bir yaklaşım: üretilmiş CNPJ'leri izole test ortamlarında kullanın, ardından üretim entegrasyonlarını test ederken kontrol ettiğiniz küçük bir gerçek test şirketi CNPJ seti kullanın.

Doğrulayıcı Neden 11.111.111/1111-11'i Reddediyor?

Her ne kadar tüm aynı basamaklardan oluşan bir CNPJ matematiksel olarak geçerli kontrol haneleri üretebilse de, Receita Federal bu desenleri açıkça hariç tutar. Bu bir iş kuralıdır, matematiksel bir kural değil. Aynı durum bazı doğrulama sistemlerindeki ardışık desenlere de uygulanır.

Bu, birçok sistemin "password123" gibi şifreleri uzunluk gereksinimlerini karşılamasına rağmen reddetmesine benzer—teknik olarak geçerlidirler ama pratik olarak kabul edilemezdirler.

CNPJ Doğrulamasını Farklı Yerel Ayarlarda Nasıl Ele Alırım?

Uluslararası iş yapan Brezilyalı şirketler bazen yabancı sistemlere CNPJ'leri girerken biçimlendirme karakterlerini atlar. Doğrulama mantığınız, kontrol etmeden önce sayısal olmayan karakterleri çıkarmalıdır:

1const cleanCNPJ = input.replace(/\D/g, ''); // Yalnızca basamakları kaldır
2

12.345.678/0001-95, 12345678000195 ve 12 345 678 0001 95 girişlerini eşdeğer olarak kabul edin.

CNPJ ile CPF Doğrulaması Arasındaki Fark Nedir?

CPF (Cadastro de Pessoas Físicas), Brezilya'nın bireysel vergi kimlik numarasıdır, CNPJ ise işletmeler içindir. Farklı kontrol hanesi algoritmaları ve uzunluklara sahiptirler (CPF 11 basamaklıdır, CNPJ 14 basamaklıdır). Her iki formatı da destekleyen ayrı doğrulama fonksiyonlarına ihtiyacınız olacaktır.

Yaygın bir model: kullanıcıların aynı alana CPF veya CNPJ girmesine izin verin, ardından biçimlendirme karakterlerini kaldırdıktan sonra uzunluğuna göre türü tespit edin.

Bu, Brezilya'da Faaliyet Gösteren Yabancı Şirketler için Geçerli mi?

Brezilya'da faaliyet gösteren yabancı şirketlerin Receita Federal'den CNPJ almaları gerekir. CNPJ'leri yerli şirketlerinkiyle aynı formatta ve doğrulama kurallarına sahiptir. "Yabancı şirket" için özel bir CNPJ formatı yoktur.

Ancak, yabancı şirketlerin ek dokümantasyon gereksinimleri ve farklı kayıt süreçleri olabilir—ayrıntılar için bir Brezilyalı ticaret avukatına danışın.

Şirket Kaydını Doğrulamak için Devlet Veritabanını Sorgulayabilir miyim?

Evet, Receita Federal Consulta Pública CNPJ hizmeti aracılığıyla CNPJ bilgilerini doğrulamak için genel erişim sağlar. CNPJ'leri manuel olarak arayabilir veya uygun yetkilendirmeyle programatik erişim için API'lerini kullanabilirsiniz.

Yoğun kullanım kayıt gerektirir ve kötüye kullanımı önlemek için hız sınırları vardır.

CNPJ'ler Ne Sıklıkla Değişir?

CNPJ'ler, bir şirket adını, adresini veya mülkiyet yapısını değiştirse bile kalıcı tanımlayıcılardır. Ancak, bir şirket kapanır ve daha sonra yeniden kayıt olursa, yeni bir CNPJ alabilir. Şubeler (/XXXX bölümü), şirketler yeni yerler açtıkça eklenebilir, ancak temel 8 basamaklı numara sabit kalır.

Referanslar ve Ek Kaynaklar

Resmi Devlet Kaynakları

  1. Receita Federal do Brasil - Resmi Portal - Brezilya Federal Gelir İdaresi'nin CNPJ kayıt ve doğrulama hizmetlerini sunan resmi web sitesi
  2. Consulta Pública CNPJ - Kamu CNPJ Sorgulama - CNPJ kayıt durumunu doğrulamak için resmi devlet hizmeti
  3. Normatif Talimat RFB No. 1863/2018 - Brezilya'da CNPJ kaydı ve kullanımını düzenleyen yasal düzenlemeler

Teknik Standartlar ve Dokümantasyon

  1. Modüler aritmetik algoritmaları - Kontrol hanesi hesaplaması, doğrulama haneleri için standart bir yaklaşım olan modulo 11 aritmetiği kullanır
  2. ISO/IEC 7064 - Brezilya belge doğrulama tasarımını etkileyen kontrol hanesi sistemleri için uluslararası standart
  3. Brezilya Medeni Kanunu (Kanun No. 10.406/2002) - CNPJ kaydı gerektiren iş birimi sınıflandırmalarını tanımlayan yasal çerçeve

Geliştirici Kaynakları

  1. NPM paket kayıt defteri - npmjs.com - Brezilya belge doğrulayıcıları dahil JavaScript kütüphanelerinin deposu
  2. PyPI (Python Paket İndeksi) - pypi.org - CNPJ doğrulaması ve Brezilya belge işleme için Python kütüphaneleri
  3. GitHub - Birden fazla programlama dilinde CNPJ doğrulamasının açık kaynak uygulamaları

CNPJ Oluşturmaya ve Doğrulamaya Başlayın

İster bir Brezilya e-ticaret platformu inşa ediyor olun, ister Mercado Pago ile ödeme entegrasyonlarını test ediyor olun, ya da CNPJ doğrulamasının nasıl çalıştığını anlamak istiyor olun, bu araç size hem oluşturma hem de doğrulama imkanları sağlar.

Hiçbir kurulum, API anahtarı veya karmaşık kurulum yok. Sadece tarayıcınızı açın ve geçerli Brezilya iş tanımlayıcıları ile çalışmaya başlayın.