Bu basit araç ile geçerli Arjantin CUIT numaraları (vergi kimlik kodları) oluşturun ve mevcut olanları doğrulayın. Karmaşık özellikler yok, sadece doğrudan CUIT üretimi ve doğrulama.
Test amaçları için Arjantin vergi kimlik kodlarını (CUIT) oluşturmak ve doğrulamak için basit bir araç.
Format: XX-XXXXXXXX-X
CUIT (Código Único de Identificación Tributaria), Arjantin'de bireyler ve tüzel kişiler için kullanılan vergi kimlik kodudur.
CUIT (Código Único de Identificación Tributaria), Arjantin'in Benzersiz Vergi Kimlik Kodu'dur ve Arjantin vergi sistemindeki tüm mükellefler için kritik bir tanımlayıcıdır. Bu temel sayısal kod, bireyler ve tüzel kişilikler için AFIP (Federal Gelir İdaresi) ile etkileşimde ve Arjantin genelinde ticari işlemler yaparken birincil tanımlayıcı olarak hizmet eder. Arjantin CUIT Üretici ve Doğrulayıcı aracımız, test amaçları için matematiksel olarak geçerli CUIT'ler üretmek ve mevcut CUIT numaralarını doğrulamak için basit, verimli bir çözüm sunar.
Geliştirici olarak Arjantin vergi bilgilerini işleyen uygulamaları test ediyorsanız, veri bütünlüğünü doğrulayan bir QA uzmanıysanız veya test veri setleri hazırlayan bir iş analistiyseniz, bu araç, API entegrasyonları veya gereksiz özellikler olmadan CUIT numaraları ile çalışma sürecini kolaylaştırır.
Arjantin CUIT'i, aşağıdaki gibi düzenlenmiş 11 rakamdan oluşan belirli bir formata sahiptir:
1XX-XXXXXXXX-X
2
Bu standart format, üç ayrı bileşene ayrılabilir:
Bir CUIT'in ilk iki rakamı, mükellef türünü belirtir:
Varlık Türü | Tür Kodu | Açıklama |
---|---|---|
Şirket | 30 | Şirketler, LTD'ler ve diğer ticari 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 | Kamu kurumları ve kamu kuruluşları |
Yabancı Şirket | 30 | Arjantin dışında bulunan şirketler |
Birey (Erkek) | 20 | Erkek bireyler |
Birey (Kadın) | 27 | Kadın bireyler |
Trust | 30 | Trust varlıkları |
Bu tür kodlarını anlamak, farklı test senaryoları için uygun CUIT'ler üretmek açısından önemlidir.
Araç, iki ana işlev sunar: geçerli CUIT'ler üretmek ve mevcut olanları doğrulamak. Her bir özelliği etkili bir şekilde nasıl kullanacağınız aşağıda açıklanmıştır:
Üretici, AFIP tarafından kullanılan resmi algoritmayı takip eden rastgele ama matematiksel olarak geçerli CUIT'ler oluşturur. Bu CUIT'ler, geçerli CUIT formatlarını gerektiren sistemleri test etmek için mükemmeldir, ancak resmi veri tabanlarında kayıtlı değildir.
Doğrulayıcı, CUIT'in formatını ve matematiksel geçerliliğini kontrol ederek, kontrol rakamının önceki rakamlarla hesaplanan değerle eşleşip eşleşmediğini doğrular.
Bir CUIT'in doğrulama rakamı (son rakam), veri girişi sırasında yaygın hataları tespit etmek için tasarlanmış belirli bir algoritma kullanılarak hesaplanır. Bu algoritmayı anlamak, aracımızın CUIT'leri nasıl doğruladığını açıklamaya yardımcı olur:
30 tür kodu ve 12345678 kimlik numarası olan bir CUIT için doğrulama rakamını hesaplayalım:
Bu nedenle, tam geçerli CUIT 30-12345678-1'dir.
Arjantin CUIT Üretici ve Doğrulayıcı aracı, farklı profesyonel bağlamlarda birçok pratik amaca hizmet eder:
Aşağıdaki kod örnekleri, çeşitli programlama dillerinde CUIT doğrulama ve üretme işlemlerini nasıl uygulayabileceğinizi göstermektedir:
1// JavaScript ile CUIT Doğrulama
2function validateCUIT(cuit) {
3 // Tüm rakam olmayan karakterleri kaldır
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Tam olarak 11 rakam olup olmadığını kontrol et
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Parçaları çıkar
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 rakamı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
1# Python ile CUIT Üretimi
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Varlık türü kodlarını tanımlayın
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 varlık türü için tür kodunu alın
19 type_code = entity_types.get(entity_type, 30)
20
21 # Rastgele 8 rakamlı sayı oluşturun
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Doğrulama rakamı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 # Formatla ve CUIT'i döndür
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Örnek kullanım
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// PHP ile CUIT Doğrulama
3function validateCUIT($cuit) {
4 // Tüm rakam olmayan karakterleri kaldır
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Tam olarak 11 rakam olup olmadığını kontrol et
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Parçaları çıkar
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Doğrulama rakamı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
1// Java ile CUIT Üretimi ve Doğrulaması
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Varlık türü 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 üret
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Varlık türüne göre tür kodunu 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 rakamlı 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 rakamını hesapla
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Formatla ve CUIT'i döndür
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Doğrulama rakamı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 // Bir CUIT'i doğrula
69 public static boolean validateCUIT(String cuit) {
70 // Tüm rakam olmayan karakterleri kaldır
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Tam olarak 11 rakam olup olmadığını kontrol et
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Doğrulama rakamını çıkar
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Beklenen doğrulama rakamını hesapla
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Doğrulama rakamları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("Üretilen CUIT: " + generatedCUIT);
92 System.out.println("Geçerli mi: " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Bir CUIT'i doğrula
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Tüm rakam olmayan karakterleri kaldır
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Tam olarak 11 rakam olup olmadığını kontrol et
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Doğrulama rakamını çıkar
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Beklenen doğrulama rakamı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 // Bir CUIT'i uygun ayırıcılarla formatla
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 rakam değilse orijinalini döndür
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
CUIT sistemi, Arjantin'de 1990'ların başında, ülkenin mali altyapısını modernize etme ve vergi kaçakçılığını azaltma amacıyla daha geniş bir vergi reformu girişiminin bir parçası olarak kurulmuştur. Federal Gelir İdaresi (AFIP), tüm mükellefler için standart bir tanımlama sistemi olarak CUIT'i uygulamıştır.
CUIT'in tanıtılmasından önce, Arjantin çeşitli mükellef türleri için tutarsız tanımlama sistemleri kullanıyordu, bu da vergi yönetimini verimsiz hale getiriyor ve uyumsuzluk fırsatları yaratıyordu. CUIT, bu sistemleri tek, doğrulanabilir bir tanımlayıcıya birleştirerek tüm vergi ile ilgili faaliyetlerde kullanılmasını sağladı.
CUIT sisteminin evrimindeki önemli aşamalar şunlardır:
CUIT, Arjantin'in ekonomik ve finansal sistemlerinin temel bir unsuru haline gelmiştir ve yalnızca vergi amaçları için değil, aynı zamanda bankacılık, istihdam, sosyal güvenlik ve ticari işlemler için de kullanılmaktadır.
CUIT (Código Único de Identificación Tributaria), mükellefler için vergi amaçlarıyla atanan Arjantin'in Benzersiz Vergi Kimlik Kodu'dur. XX-XXXXXXXX-X formatında 11 rakamdan oluşur; ilk iki rakam varlık türünü, orta sekiz rakam bir kimlik numarasını ve son rakam bir doğrulama rakamını belirtir.
Geçerli bir CUIT'in:
CUIT doğrulayıcı aracımız, bir CUIT'in bu kriterleri karşılayıp karşılamadığını anında kontrol edebilir.
Benzer formatta olsalar da, CUIT ve CUIL farklı amaçlar için kullanılır:
Her ikisi de aynı formatı ve doğrulama algoritmasını takip eder, ancak farklı bağlamlarda kullanılırlar.
Hayır. Bu araçla üretilen CUIT'ler matematiksel olarak geçerlidir ancak AFIP'nin resmi veri tabanında kayıtlı değildir. Sadece test, geliştirme veya eğitim amaçları için kullanılmalıdır. Hayali CUIT'leri resmi belgelerde veya işlemlerde kullanmak dolandırıcılık teşkil edebilir.
AFIP, şirketler, vakıflar ve kamu kuruluşları gibi çeşitli varlık türlerine aynı tür kodunu (30) atamıştır. Bu, resmi sınıflandırma sisteminin bir parçasıdır ve CUIT'in geçerliliğini etkilemez. Belirli varlık türü, AFIP sistemlerinde ek kayıt bilgileri ile belirlenir.
CUIT'ler, genellikle bir bireyin veya varlığın yaşamı boyunca değişmeyen kalıcı tanımlayıcılardır. Ancak, bazı özel durumlarda, yasal durum değişiklikleri veya cinsiyet değişikliği gibi, yeni bir CUIT atanabilir.
Evet, ancak aracımızla değil. AFIP, resmi kayıtlı ve aktif olup olmadığını kontrol edebileceğiniz "Constancia de Inscripción" adlı bir hizmet sunmaktadır. Araç sadece bir CUIT'in matematiksel doğruluğunu doğrular.
Yaygın hatalar şunları içerir:
Doğrulayıcımız, format ve matematiksel geçerlilik kontrolü yaparak bu sorunları tanımlamaya yardımcı olur.
Araç, CUIT üretmeden önce çeşitli varlık türlerini seçmenize olanak tanır. Sadece açılır menüden uygun varlık türünü seçin ve "CUIT Üret" butonuna tıklayın. Araç, seçiminiz için doğru tür kodunu otomatik olarak kullanacaktır.
Hayır, aracımız, üretebileceğiniz veya doğrulayabileceğiniz CUIT sayısında herhangi bir sınırlama getirmemektedir. Test ve eğitim senaryolarında birden fazla geçerli CUIT'e ihtiyaç duyabileceğiniz durumlar için tasarlanmıştır.
Administración Federal de Ingresos Públicos (AFIP). "Identificación Tributaria." https://www.afip.gob.ar/
Ministerio de Economía de la República Argentina. "Sistema Tributario Argentino." https://www.argentina.gob.ar/economia
Ley 11.683 de Procedimiento Tributario. Boletín Oficial de la República Argentina.
Resolución General AFIP 1817/2005. "Procedimientos de inscripción y registración."
Chicote, J. (2018). "Tax Identification Systems in Latin America: A Comparative Analysis." Journal of Tax Administration, 4(1), 88-106.
Gómez Sabaini, J.C., & Morán, D. (2016). "Tax Policy in Latin America: Assessment and Guidelines for Reform." United Nations Economic Commission for Latin America and the Caribbean (ECLAC).
Arjantin CUIT Üretici ve Doğrulayıcı aracı, Arjantin vergi kimlik kodları ile test ve geliştirme ortamlarında çalışma için basit, verimli bir çözüm sunar. CUIT'lerin yapısını, formatını ve doğrulama algoritmasını anlayarak, kullanıcılar veri bütünlüğünü ve Arjantin vergi kimlik standartlarına uyumu sağlayabilir.
Arjantin finans sistemleri ile etkileşimde bulunan yazılımlar geliştiriyorsanız, veri doğrulama rutinlerini test ediyorsanız veya uluslararası vergi tanımlama sistemleri hakkında bilgi edinmek istiyorsanız, aracımız, gereksiz karmaşıklık olmadan ihtiyaç duyduğunuz işlevselliği sunar.
Şimdi bir CUIT üretmeyi deneyin veya mevcut birini doğrulayın ve aracımızın basitliğini ve etkinliğini birinci elden deneyimleyin.
İş akışınız için faydalı olabilecek daha fazla aracı keşfedin