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
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.
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:
- İlk 2 hane: Varlık türü göstergesi (erkekler için 20, kadınlar için 27, şirketler için 30 gibi)
- Sonraki 8 hane: Benzersiz kimlik numarası
- 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 Kodu | Açıklama |
|---|---|---|
| Şirket | 30 | Şirketler, Limited Şirketler ve diğer iş varlıkları |
| Dernek | 33 | Kar amacı gütmeyen dernekler |
| Vakıf | 30 | Hayır kurumları |
| Topluluk | 30 | Ortaklıklar ve diğer topluluk yapıları |
| Devlet | 30 | Devlet kurumları ve kamu kurumları |
| Yabancı Şirket | 30 | Arjantin dışında bulunan şirketler |
| Birey (Erkek) | 20 | Erkek bireyler |
| Birey (Kadın) | 27 | Kadın bireyler |
| Güven | 30 | Gü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:
- Format uygunluğu: XX-XXXXXXXX-X yapısına uyuyor mu?
- Kontrol hanesi doğruluğu: Son hane matematiksel olarak doğru mu?
- 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ç:
- İlk 10 basamağı alın (son basamak hariç)
- Her konumu kendi ağırlığıyla çarpın: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
- Bu çarpımların toplamını alın
- Toplamı 11'e bölün ve kalanı bulun
- O kalanı 11'den çıkarın
- Ö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:
- Doğrulanacak basamaklar: 3 0 1 2 3 4 5 6 7 8
- 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
- Hesaplama: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
- 153 ÷ 11'in kalanı = 10
- 11 - 10 = 1
- 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
40Python
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'))
43PHP
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?>
41Java
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}
95C#
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}
62Arka 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
-
Kamu Gelirleri Federal İdaresi (AFIP) - Arjantin'in resmi vergi otoritesi https://www.afip.gob.ar/
-
AFIP Kayıt Belgesi - Resmi CUIT doğrulama hizmeti https://www.afip.gob.ar/genericos/consultaCUIT/
-
11.683 Sayılı Vergi Usul Kanunu - CUIT gerekliliklerini belirleyen vergi usul kanunu Arjantin Cumhuriyeti Resmi Gazetesi
-
AFIP Genel Kararı 1817/2005 - Kayıt ve kimlik belirleme prosedürleri Resmi AFIP dokümantasyonu
-
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
-
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
-
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.