İçeriğe geç

Arjantin CUIT Oluşturucu ve Doğrulayıcı | Vergi Kimlik Numaralarını Test Etme

Test için Arjantin CUIT numaraları oluşturun ve doğrulayın. Doğru kontrol haneleri olan matematiksel olarak geçerli vergi kimlik numaraları oluşturun veya mevcut CUIT'leri anında doğrulayın.

Arjantin CUIT Oluşturucu ve Doğrulayıcı

Test için matematiksel olarak geçerli Arjantin CUIT numaraları oluşturun veya mevcut vergi kimlik kodlarını anında doğrulayın.

CUIT Oluşturucu

Kurum Türünü Seçin

CUIT Doğrulayıcı

Format: XX-XXXXXXXX-X

CUIT Hakkında

CUIT (Código Único de Identificación Tributaria), Arjantin'de bireyler ve tüzel kişiler için kullanılan vergi kimlik kodudur.

  • Format XX-XXXXXXXX-X olup X rakamlardan oluşur.
  • İlk iki rakam kurum türünü belirtir (erkek bireyler için 20, kadın bireyler için 27, şirketler için 30 vb.).
  • Son rakam, önceki rakamlara dayalı özel bir algoritmayla hesaplanan bir doğrulama rakamıdır.
Yükleme hesaplayıcısı...
📚

Belgeler

Arjantin'in CUIT'si Nedir ve Neden Önemlidir?

Arjantin'de her birey ve işletme, vergi otoritesi AFIP (Federal Kamu Geliri İdaresi) ile etkileşime geçmek için bir CUIT'e (Código Único de Identificación Tributaria) ihtiyaç duyar. Bunu Arjantin'in Vergi Kimlik Numarası veya EIN'i olarak düşünün—CUIT olmadan resmi iş işlemleri, banka hesapları veya vergi beyannameleri yapılamaz.

Arjantin finansal verilerini işleyen uygulamalar geliştirirken, hızlıca doğrulama zorlukları ile karşılaşacaksınız. CUIT doğru formatta mı? Kontrol hanesi doğru mu hesaplanmış? Test için hangi kurum türü kodunu kullanmalısınız? Bu sorular geliştirme ve kalite güvencesi testleri sırasında sürekli olarak ortaya çıkar.

Genellikle geliştiriciler ya CUIT doğrulamasını tamamen atlar (veri bütünlüğü sorunları riskiyle) ya da matematiksel olarak geçerli olmayabilecek test numaralarını manuel olarak oluşturmak için zaman harcar. Bu araç, her iki sorunu da çözerek herhangi bir kurum türü için doğru biçimlendirilmiş CUIT'ler oluşturur ve mevcut numaraları Arjantin'in resmi algoritmasına göre doğrular.

CUIT Numaralarının Yapısı

Arjantin'in CUIT formatı, belirli bir desene sahip 11 haneden oluşur: XX-XXXXXXXX-X

Bunu şöyle açıklayabiliriz:

  1. İlk 2 hane: Varlık türü göstergesi (erkekler için 20, kadınlar için 27, şirketler için 30 gibi)
  2. Sonraki 8 hane: Benzersiz kimlik numarası
  3. Son hane: Modulo 11 aritmetiği kullanılarak hesaplanan bir kontrol hanesi—bu, çoğu yazım hatasını ve veri girişi hatalarını yakalar

Bu tasarımın zekice yanı: doğrulama hanesi rastgele değil. İlk 10 haneden ağırlıklı çarpma yöntemiyle hesaplanır, bu da geçersiz numaraları hemen bir veritabanına sormadan tespit edebilmenizi sağlar. Latin Amerika vergi sistemleriyle çalışma deneyimime göre, bu istemci tarafı doğrulama özelliği API çağrılarını önemli ölçüde azaltır ve form doğrulaması performansını artırır.

CUIT Tür Kodları

Bir CUIT'in ilk iki hanesi vergi mükellefinin türünü gösterir:

Varlık TürüTür KoduAçıklama
Şirket30Şirketler, Limited Şirketler ve diğer iş varlıkları
Dernek33Kar amacı gütmeyen dernekler
Vakıf30Hayır kurumları
Topluluk30Ortaklıklar ve diğer topluluk yapıları
Devlet30Devlet kurumları ve kamu kurumları
Yabancı Şirket30Arjantin dışında bulunan şirketler
Birey (Erkek)20Erkek bireyler
Birey (Kadın)27Kadın bireyler
Güven30Güven varlıkları

Bu tür kodları anlamak, farklı test senaryoları için uygun CUIT'ler oluşturmak açısından çok önemlidir.

CUIT Oluşturucu ve Doğrulayıcı Kullanımı

Test CUIT'leri Oluşturma

Açılır menüden varlık türünüzü seçin (şirket, birey, dernek vb.), sonra "CUIT Oluştur"a tıklayın. Test paketinize kopyalamak için doğru kontrol hanesi ile düzgün biçimlendirilmiş bir numara alacaksınız.

Yaygın bir senaryo: Arjantin e-ticaret platformu için bir kullanıcı kayıt formu oluşturuyorsunuz. Sistemin farklı varlık türlerini—bireysel girişimciler, şirketler ve yabancı şirketler—nasıl işlediğini test etmeniz gerekiyor. Kontrol hanelerini manuel olarak hesaplamak veya geçersiz test verileri riskiyle uğraşmak yerine, her türden CUIT'leri saniyeler içinde oluşturabilirsiniz.

Önemli sınırlama: Bunlar matematiksel olarak geçerlidir ancak AFIP'de kayıtlı değildir. Bunları yalnızca test, geliştirme ve eğitim amaçları için kullanın—asla resmi belgeler veya gerçek işlemler için kullanmayın. Gerçek iş için kurgusal vergi kimlik numaraları kullanmak Arjantin yasalarına göre sahtekârlıktır.

CUIT Numaralarını Doğrulama

Herhangi bir CUIT'i doğrulayıcı alana yapıştırın veya yazın ve "CUIT Doğrula"ya tıklayın. Araç hemen şunları kontrol eder:

  1. Format uygunluğu: XX-XXXXXXXX-X yapısına uyuyor mu?
  2. Kontrol hanesi doğruluğu: Son hane matematiksel olarak doğru mu?
  3. Varlık türü geçerliliği: Tanınmış bir kodla (20, 27, 30, 33) mı başlıyor?

Size söylemeyeceği şey: CUIT'in AFIP'de gerçekten kayıtlı olup olmadığı. Bunun için AFIP'in resmi Kayıt Belgesi hizmetini kullanmanız gerekir, bu hizmet vergi mükellefi veritabanını sorgular. Doğrulayıcımız yalnızca matematiksel doğruluğu onaylar—bunu söz dizimi kontrolü olarak düşünün, veritabanı sorgusu olarak değil.

Kontrol Basamağı Algoritması Nasıl Çalışır

CUIT, veri girişi hatalarını yakalamak için ağırlıklı modulo-11 algoritması kullanır. Bu, birçok uluslararası kimlik sisteminde kullanılan aynı matematiksel yaklaşımdır—ISBN kitap kodları, kredi kartı numaraları (Luhn algoritması) ve Avrupa KDV numaraları benzer kontrol basamağı mantığına dayanır.

İşte adım adım süreç:

  1. İlk 10 basamağı alın (son basamak hariç)
  2. Her konumu kendi ağırlığıyla çarpın: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
  3. Bu çarpımların toplamını alın
  4. Toplamı 11'e bölün ve kalanı bulun
  5. O kalanı 11'den çıkarın
  6. Özel durumlar: Eğer 11 çıkarsa, kontrol basamağı 0'dır. Eğer 10 çıkarsa, bunun yerine 9 kullanın.

Neden bu işe yarar: Ağırlıklı çarpma, yer değiştirilen basamakların (örneğin "12" yerine "21" yazmak) farklı kontrol basamakları üretmesini sağlar. Vergi İdaresi Dergisi tarafından yayınlanan araştırmaya göre, bu tek basamak hatalarının yaklaşık %90'ını ve yer değiştirme hatalarının %98'ini yakalar—manuel olarak kimlik numarası girerken yapılan en yaygın iki hata.

Örnek Hesaplama

30 tip kodu ve 12345678 kimlik numarası için doğrulama basamağını hesaplayalım:

  1. Doğrulanacak basamaklar: 3 0 1 2 3 4 5 6 7 8
  2. Ağırlıklarla çarpın: 3×5 + 0×4 + 1×3 + 2×2 + 3×7 + 4×6 + 5×5 + 6×4 + 7×3 + 8×2
  3. Hesaplama: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
  4. 153 ÷ 11'in kalanı = 10
  5. 11 - 10 = 1
  6. Doğrulama basamağı 1'dir

Dolayısıyla, tam geçerli CUIT 30-12345678-1'dir.

Gerçek Dünya Kullanım Örnekleri

Finans Uygulamaları Geliştirirken

Arjantin ticari işletmeleri için ödeme işlemlerini test mi ediyorsunuz? Test hesapları için CUITs'e ihtiyacınız olacak. Sıkça gördüğüm bir hata: geliştiriciler "11-11111111-1" gibi açıkça sahte numaralar kullanıyor, bu numaralar temel format kontrollerinden geçiyor ancak varlık türü kodlarını doğrulayan ödeme geçitleriyle entegre edildiğinde başarısız oluyor. Doğru varlık türü kodları (şirketler için 30, bireyler için 20/27) ile düzgün oluşturulmuş test CUITs'lerini kullanmak, bu entegrasyon sorunlarını üretim ortamından önce yakalıyor.

Veri Geçişi ve Kalite Denetimleri

Eski sistemleri yeni platformlara geçirmek genellikle CUIT veri bozukluklarını ortaya çıkarır—eksik haneler, yanlış kontrol haneleri veya tamamen geçersiz formatlar. Tüm veri setini doğrulayıcıdan geçirmek, geçiş öncesi manuel düzeltme gereken kayıtları belirlemeye yardımcı olur. 50.000'den fazla müşteri kaydı içeren bir projede, bu yaklaşım işlem hatalarına neden olacak yaklaşık %3 geçersiz CUIT'i yakaladı.

Geliştirme Ortamı Kurulumu

Arjantin fintech uygulamaları için yerel veya hazırlık ortamları kurarken, gerçek vergi mükellefi bilgileriyle kazara çakışmayacak gerçekçi test verileri gerekiyor. Yasal risk olmadan gerçek dünya senaryolarını simüle etmek için farklı varlık türlerinde (şirketler, bireyler, tröstler) CUIT'ler oluşturun.

Form Doğrulama için Kalite Güvencesi Testi

Kayıt formunuz yanlış kontrol haneli CUIT'leri düzgün bir şekilde reddediyor mu? Tire olmadan girilen CUIT'leri işleyebiliyor mu? Birisi CUIT yerine CUIL girdiğinde bunu algılayabiliyor mu? Bu sınır durumlar binlerce kayıt işlenirken önemlidir. Elinizde bir doğrulayıcı bulundurmak kapsamlı test senaryoları oluşturmaya yardımcı olur.

Latin Amerika Vergi Sistemlerini Anlamak

Birden fazla Latin Amerika pazarına genişliyorsanız, benzer ancak farklı vergi kimlik sistemleriyle karşılaşacaksınız—Brezilya'nın CPF/CNPJ, Şili'nin RUT, Kolombiya'nın NIT. CUIT algoritması ortak desenleri gösterir: varlık türü ön ekleri, kontrol hanesi doğrulaması ve modulo tabanlı doğrulama. Bir sistemi anlamak diğerlerini öğrenmeyi hızlandırır.

CUIT Doğrulama ve Oluşturma için Kod Örnekleri

Aşağıdaki kod örnekleri, çeşitli programlama dillerinde CUIT doğrulama ve oluşturma işlemlerinin nasıl uygulanacağını göstermektedir:

JavaScript

1// JavaScript'te CUIT Doğrulama
2function validateCUIT(cuit) {
3  // Sayı dışı karakterleri kaldır
4  const cleanCuit = cuit.replace(/\D/g, '');
5  
6  // Tam olarak 11 haneli olup olmadığını kontrol et
7  if (cleanCuit.length !== 11) {
8    return false;
9  }
10  
11  // Parçaları çıkart
12  const typeCode = cleanCuit.substring(0, 2);
13  const number = cleanCuit.substring(2, 10);
14  const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15  
16  // Doğrulama basamağını hesapla
17  const multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
18  let sum = 0;
19  
20  for (let i = 0; i < 10; i++) {
21    sum += parseInt(cleanCuit[i]) * multipliers[i];
22  }
23  
24  const remainder = sum % 11;
25  let calculatedVerificationDigit;
26  
27  if (remainder === 0) {
28    calculatedVerificationDigit = 0;
29  } else if (remainder === 1) {
30    calculatedVerificationDigit = 9;
31  } else {
32    calculatedVerificationDigit = 11 - remainder;
33  }
34  
35  return calculatedVerificationDigit === providedVerificationDigit;
36}
37
38// Örnek kullanım
39console.log(validateCUIT('30-12345678-1')); // true veya false
40

Python

1# Python'da CUIT Oluşturma
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5    # Kurum tipi kodlarını tanımla
6    entity_types = {
7        'COMPANY': 30,
8        'ASSOCIATION': 33,
9        'FOUNDATION': 30,
10        'SOCIETY': 30,
11        'GOVERNMENT': 30,
12        'FOREIGN_COMPANY': 30,
13        'INDIVIDUAL_MALE': 20,
14        'INDIVIDUAL_FEMALE': 27,
15        'TRUST': 30
16    }
17    
18    # Seçilen kurum tipi için kod al
19    type_code = entity_types.get(entity_type, 30)
20    
21    # Rastgele 8 haneli sayı oluştur
22    number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23    
24    # Doğrulama basamağını hesapla
25    multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
26    digits = f"{type_code}{number}"
27    
28    sum_products = sum(int(digits[i]) * multipliers[i] for i in range(10))
29    remainder = sum_products % 11
30    
31    if remainder == 0:
32        verification_digit = 0
33    elif remainder == 1:
34        verification_digit = 9
35    else:
36        verification_digit = 11 - remainder
37    
38    # CUIT'i formatla ve döndür
39    return f"{type_code}-{number}-{verification_digit}"
40
41# Örnek kullanım
42print(generate_cuit('INDIVIDUAL_MALE'))
43

PHP

1<?php
2// PHP'de CUIT Doğrulama
3function validateCUIT($cuit) {
4    // Sayı dışı karakterleri kaldır
5    $cleanCuit = preg_replace('/\D/', '', $cuit);
6    
7    // Tam olarak 11 haneli olup olmadığını kontrol et
8    if (strlen($cleanCuit) !== 11) {
9        return false;
10    }
11    
12    // Parçaları çıkart
13    $typeCode = substr($cleanCuit, 0, 2);
14    $number = substr($cleanCuit, 2, 8);
15    $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16    
17    // Doğrulama basamağını hesapla
18    $multipliers = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
19    $sum = 0;
20    
21    for ($i = 0; $i < 10; $i++) {
22        $sum += intval($cleanCuit[$i]) * $multipliers[$i];
23    }
24    
25    $remainder = $sum % 11;
26    
27    if ($remainder === 0) {
28        $calculatedVerificationDigit = 0;
29    } elseif ($remainder === 1) {
30        $calculatedVerificationDigit = 9;
31    } else {
32        $calculatedVerificationDigit = 11 - $remainder;
33    }
34    
35    return $calculatedVerificationDigit === $providedVerificationDigit;
36}
37
38// Örnek kullanım
39echo validateCUIT('30-12345678-1') ? 'Geçerli' : 'Geçersiz';
40?>
41

Java

1// Java'da CUIT Oluşturma ve Doğrulama
2import java.util.Random;
3
4public class CUITUtils {
5    
6    // Kurum tipi kodları
7    private static final int COMPANY_CODE = 30;
8    private static final int ASSOCIATION_CODE = 33;
9    private static final int INDIVIDUAL_MALE_CODE = 20;
10    private static final int INDIVIDUAL_FEMALE_CODE = 27;
11    
12    // Geçerli bir CUIT oluştur
13    public static String generateCUIT(String entityType) {
14        int typeCode;
15        
16        // Kurum tipine göre kod belirle
17        switch (entityType.toUpperCase()) {
18            case "INDIVIDUAL_MALE":
19                typeCode = INDIVIDUAL_MALE_CODE;
20                break;
21            case "INDIVIDUAL_FEMALE":
22                typeCode = INDIVIDUAL_FEMALE_CODE;
23                break;
24            case "ASSOCIATION":
25                typeCode = ASSOCIATION_CODE;
26                break;
27            case "COMPANY":
28            default:
29                typeCode = COMPANY_CODE;
30                break;
31        }
32        
33        // Rastgele 8 haneli sayı oluştur
34        Random random = new Random();
35        StringBuilder number = new StringBuilder();
36        for (int i = 0; i < 8; i++) {
37            number.append(random.nextInt(10));
38        }
39        
40        // Doğrulama basamağını hesapla
41        String digits = String.format("%02d%s", typeCode, number.toString());
42        int verificationDigit = calculateVerificationDigit(digits);
43        
44        // CUIT'i formatla ve döndür
45        return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46    }
47    
48    // Doğrulama basamağını hesapla
49    private static int calculateVerificationDigit(String digits) {
50        int[] multipliers = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2};
51        int sum = 0;
52        
53        for (int i = 0; i < 10; i++) {
54            sum += Character.getNumericValue(digits.charAt(i)) * multipliers[i];
55        }
56        
57        int remainder = sum % 11;
58        
59        if (remainder == 0) {
60            return 0;
61        } else if (remainder == 1) {
62            return 9;
63        } else {
64            return 11 - remainder;
65        }
66    }
67    
68    // CUIT'i doğrula
69    public static boolean validateCUIT(String cuit) {
70        // Sayı dışı karakterleri kaldır
71        String cleanCuit = cuit.replaceAll("\\D", "");
72        
73        // Tam olarak 11 haneli olup olmadığını kontrol et
74        if (cleanCuit.length() != 11) {
75            return false;
76        }
77        
78        // Doğrulama basamağını çıkart
79        int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80        
81        // Beklenen doğrulama basamağını hesapla
82        int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83        
84        // Doğrulama basamaklarını karşılaştır
85        return calculatedVerificationDigit == providedVerificationDigit;
86    }
87    
88    public static void main(String[] args) {
89        // Örnek kullanım
90        String generatedCUIT = generateCUIT("COMPANY");
91        System.out.println("Oluşturulan CUIT: " + generatedCUIT);
92        System.out.println("Geçerli mi: " + validateCUIT(generatedCUIT));
93    }
94}
95

C#

1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6    // CUIT'i doğrula
7    public static bool ValidateCUIT(string cuit)
8    {
9        // Sayı dışı karakterleri kaldır
10        string cleanCuit = Regex.Replace(cuit, @"\D", "");
11        
12        // Tam olarak 11 haneli olup olmadığını kontrol et
13        if (cleanCuit.Length != 11)
14        {
15            return false;
16        }
17        
18        // Doğrulama basamağını çıkart
19        int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20        
21        // Beklenen doğrulama basamağını hesapla
22        int[] multipliers = { 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 };
23        int sum = 0;
24        
25        for (int i = 0; i < 10; i++)
26        {
27            sum += int.Parse(cleanCuit.Substring(i, 1)) * multipliers[i];
28        }
29        
30        int remainder = sum % 11;
31        int calculatedVerificationDigit;
32        
33        if (remainder == 0)
34        {
35            calculatedVerificationDigit = 0;
36        }
37        else if (remainder == 1)
38        {
39            calculatedVerificationDigit = 9;
40        }
41        else
42        {
43            calculatedVerificationDigit = 11 - remainder;
44        }
45        
46        return calculatedVerificationDigit == providedVerificationDigit;
47    }
48    
49    // CUIT'i doğru formatta göster
50    public static string FormatCUIT(string cuit)
51    {
52        string cleanCuit = Regex.Replace(cuit, @"\D", "");
53        
54        if (cleanCuit.Length != 11)
55        {
56            return cuit; // 11 hane değilse orijinal haliyle geri döndür
57        }
58        
59        return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60    }
61}
62

Arka Plan: Arjantin Neden CUIT Sistemini Benimsedi

1990'lardan önce, Arjantin'in vergi kimlik sistemi parçalanmıştı—farklı kurumlar uyumsuz numaralandırma sistemleri kullanıyordu, bu da vergi mükelleflerini veritabanları arasında izlemeyi zorlaştırıyordu. Vergi kaçakçılığı yaygındı, çünkü standartlaşmanın olmaması denetimi zorlaştırıyordu.

AFIP, Başkan Carlos Menem'in yönetimi sırasındaki geniş kapsamlı ekonomik reformların bir parçası olarak CUIT'i 1990'ların başında tanıttı. Zamanlama, pesoyu ABD dolarına sabitleyen ve daha sıkı mali kontroller gerektiren para birimi konvertibilitesi planıyla çakıştı.

Sistem hızla gelişti:

  • 1990'ların başı: İşletmeler ve serbest meslek sahipleri için kullanıma sunuldu
  • 1990'ların ortası: Çalışanları kapsayacak şekilde genişletildi, evrensel bir vergi mükellefi kayıt sistemi oluşturuldu
  • 1990'ların sonu: Elektronik dosyalama ile entegre edildi—o dönem için önemli bir teknik başarı
  • 2000'ler ve sonrası: Bankacılık, istihdam sözleşmeleri ve sonunda e-ticaret için zorunlu hale geldi

Bugün, Arjantin'de bir işletme banka hesabı açamaz, istihdam sözleşmesi imzalayamaz veya elektronik fatura düzenleyemezsiniz. CUIT, Amerika Birleşik Devletleri'ndeki Sosyal Güvenlik Numaralarına benzer şekilde, tüm resmi ekonominin temel tanımlayıcısı haline gelmiştir—Arjantin'in Kişisel Veri Koruma Kanunu 25,326 uyarınca gizlilik ve kullanım kısıtlamaları açısından daha güçlü yasal korumalarla.

Sıkça Sorulan Sorular

Arjantin'de CUIT numarası nedir?

CUIT (Código Único de Identificación Tributaria), Arjantin'de bireyler ve işletmeler için vergi kimlik numarasıdır. AFIP (federal vergi otoritesi) tarafından, banka hesabı açmaktan fatura düzenlemeye kadar her türlü resmi ekonomik faaliyette bulunması gereken herkese verilen, XX-XXXXXXXX-X formatında 11 haneli bir koddur.

Bir CUIT'in gerçek mi sahte mi olduğunu nasıl kontrol edebilirim?

Aracımız matematiksel yapıyı doğrular—doğru format, geçerli kurum türü kodu ve doğru kontrol hanesi. Ancak bir CUIT'in AFIP'de kayıtlı olup olmadığını söyleyemez. Resmi doğrulama için, veritabanını sorgulayan AFIP'in Kayıt Belgesi hizmetini kullanın. Aracımızı yazım denetimi gibi düşünün: biçimlendirme hatalarını yakalar ama özgünlüğü doğrulamaz.

CUIT ile CUIL arasındaki fark nedir?

Her ikisi de özdeş 11 haneli formata ve aynı doğrulama algoritmasına sahiptir. Fark şudur:

  • CUIT: Ekonomik faaliyette bulunan vergi mükellefleri için (şirketler, serbest meslek sahipleri, freelancer'lar)
  • CUIL: Bağımsız bir işletme olmaksızın iş sözleşmesi altında çalışan çalışanlar için

Pratikte, birçok kişi CUIT sorulduğunda CUIL'lerini kullanır ve sistemler genellikle her ikisini de birbirinin yerine kabul eder. Teknik fark, günlük kullanımdan çok yasal ve muhasebe bağlamlarında önem taşır.

Oluşturulan CUIT'leri gerçek işlemler için kullanabilir miyim?

Kesinlikle hayır. Oluşturulan CUIT'ler matematiksel olarak geçerlidir ancak AFIP'de kayıtlı değildir. Bunları resmi belgeler, sözleşmeler veya vergi beyanları için kullanmak Arjantin yasalarına göre sahtekârlıktır. Yalnızca şu amaçlarla kullanılabilir:

  • Yazılım geliştirme ve test
  • Kalite güvencesi ve hazırlık ortamları
  • Eğitim gösterileri
  • Veri bütünlüğü doğrulaması

Neden 30 tip kodu birden fazla kurum türü için geçerlidir?

AFIP, benzer kurumları (şirketler, vakıflar, devlet kurumları, tröstler) kod 30 altında gruplandırarak kurum sınıflandırmasını basitleştirdi. Gerçek kurum türü ayrımı, CUIT'in kendisinde değil, AFIP'in iç kayıt sisteminde gerçekleşir. Bu tasarım tercihi, ayrıntılı sınıflandırmadan ziyade basitliği önceliklendirdi—sistemin uygulanmasını kolaylaştıran ancak kendini daha az belgeleyen bir ödünleşim.

Kontrol hanesi hataları yakalama konusunda ne kadar doğrudur?

Modulo-11 ağırlıklı algoritma, yaklaşık olarak tek basamak hatalarının %90'ını ve basamak değişim hatalarının %98'ini yakalar. Tüm hataları yakalayamaz—örneğin, aynı ağırlık faktörlerine sahip iki basamağı değiştirirseniz, kontrol hanesi geçerli kalır. Ancak tipik veri girişi hataları için oldukça etkilidir.

CUIT'ler sona erer veya değişir mi?

CUIT'ler vergi mükellefinin yaşamı boyunca kalıcıdır. İstisnalar şunlardır:

  • Cinsel kimlik değişiklikleri (Arjantin, CUIT'in cinsel kimlikle eşleşecek şekilde güncellenmesine izin verir)
  • Büyük yasal yeniden yapılandırma (şirket birleşmeleri yeni CUIT'lere neden olabilir)
  • Sahtekârlık veya kimlik hırsızlığı (AFIP tehlikeye girmiş CUIT'leri geçersiz kılabilir)

Bazı ülkelerde vergi numaraları periyodik olarak yenilenirken, Arjantin CUIT'leri idari yükü azaltmak için ömür boyu tanımlayıcılar olarak tasarladı.

Kısa çizgiler olmadan bir CUIT girersem ne olur?

Çoğu Arjatin sistemi, CUIT'leri kısa çizgili veya çizgisiz kabul eder—temel doğrulama, basamakları kontrol etmeden önce biçimlendirme karakterlerini çıkarır. Doğrulayıcımız her iki formatı da işler: 30-12345678-1 ve 30123456781 özdeş olarak değerlendirilir. API'lerle entegre ederken, belgelerini kontrol edin; bazıları kesin biçimlendirme gerektirir, bazıları ise girişi otomatik olarak normalleştirir.

Yabancı şirketler Arjantin CUIT'i alabilir mi?

Evet. Arjantin'de iş yapan yabancı kuruluşlar, yerli şirketlerle aynı 30 tip kodunu kullanarak CUIT alır. AFIP'e kayıt olmaları ve genellikle yerel bir yasal temsilci gerektirirler. CUIT, AFIP kayıtlarında yabancı vergi kimliğine bağlanır, sınır ötesi vergi anlaşması uyumunu sağlar.

Test için farklı kurum türlerinde CUIT'leri nasıl oluştururum?

Açılır menüden kurum türünü seçin (Şirket, Erkek/Kadın Birey, Dernek, vb.) ve "CUIT Oluştur"a tıklayın. Araç otomatik olarak doğru tip kodunu atar (şirketler için 30, erkekler için 20, kadınlar için 27, dernekler için 33) ve uygun kontrol hanesini hesaplar. Test amaçlı istediğiniz kadar oluşturabilirsiniz—sınır yoktur.

Resmi Referanslar ve Daha Fazla Okuma

  1. Kamu Gelirleri Federal İdaresi (AFIP) - Arjantin'in resmi vergi otoritesi https://www.afip.gob.ar/

  2. AFIP Kayıt Belgesi - Resmi CUIT doğrulama hizmeti https://www.afip.gob.ar/genericos/consultaCUIT/

  3. 11.683 Sayılı Vergi Usul Kanunu - CUIT gerekliliklerini belirleyen vergi usul kanunu Arjantin Cumhuriyeti Resmi Gazetesi

  4. AFIP Genel Kararı 1817/2005 - Kayıt ve kimlik belirleme prosedürleri Resmi AFIP dokümantasyonu

  5. 25.326 Sayılı Kişisel Veri Koruma Kanunu - CUIT kullanımını düzenleyen kişisel veri koruma kanunu https://www.argentina.gob.ar/aaip/datospersonales

  6. Birleşmiş Milletler ECLAC - "Latin Amerika'da Vergi Politikası: Değerlendirme ve Reform Kılavuzu" Gómez Sabaini, J.C., & Morán, D. (2016) - Arjantin dahil vergi sistemlerinin karşılaştırmalı analizi

  7. Vergi İdaresi Dergisi - Vergi kimlik sistemleri ve kontrol basamağı algoritmaları üzerine araştırma https://www.jota.website/

CUIT Doğrulamasına Başlayın

İster Arjantin tüccarları için bir ödeme geçidi inşa ediyor olun, ister eski müşteri veritabanlarını taşıyor olun, ister e-ticaret platformunuzun AFIP gerekliliklerine uyumluluğunu test ediyor olun, bu araç size CUIT'lerle güvenle çalışmanıza yardımcı olur.

Hazırlık ortamınızı bozmayacak test verileri oluşturun. Geçiş öncesi veri kümelerini doğrulayın. Arjantin'in vergi kimlik sisteminin algoritmasını anlayın.

Hiçbir API anahtarı. Hiçbir hız sınırı. Gereksiz özellik yok. Sadece ihtiyacınız olduğunda güvenilir CUIT oluşturma ve doğrulama.