Zalisha nambari halali za CUIT za Argentina (mifumo ya utambulisho wa kodi) na kuthibitisha zile zilizopo kwa kutumia chombo hiki rahisi kilichoundwa kwa ajili ya hali za majaribio. Hakuna vipengele ngumu, ni uzalishaji wa CUIT na uthibitishaji wa moja kwa moja tu.
Zana rahisi ya kuunda na kuthibitisha nambari za utambulisho wa ushuru wa Argentina (CUIT) kwa madhumuni ya majaribio.
Muundo: XX-XXXXXXXX-X
CUIT (Código Único de Identificación Tributaria) ni nambari ya utambulisho wa ushuru inayotumika nchini Argentina kwa watu binafsi na watu wa kisheria.
CUIT (Código Único de Identificación Tributaria) ni nambari ya kipekee ya utambulisho wa ushuru nchini Argentina, ni kitambulisho muhimu kwa walipa ushuru wote katika mfumo wa ushuru wa Argentina. Hiki ni kitambulisho cha nambari ambacho kinatumika kama kitambulisho kikuu kwa watu binafsi na taasisi za kisheria wanaposhughulika na AFIP (Mamlaka ya Shughuli za Umma ya Shirikisho) na kufanya shughuli za kibiashara nchini Argentina. Zana yetu ya Kizazi na Uthibitishaji wa CUIT ya Argentina inatoa suluhisho rahisi na lenye ufanisi kwa ajili ya kuzalisha CUIT ambazo ni halali kwa majaribio na kuthibitisha nambari za CUIT zilizopo.
Iwe wewe ni mendevu akijaribu programu zinazoshughulikia taarifa za ushuru za Argentina, mtaalamu wa QA anayethibitisha uhalali wa data, au mchambuzi wa biashara akitayarisha seti za majaribio, zana hii inarahisisha mchakato wa kufanya kazi na nambari za CUIT bila ugumu wa uunganisho wa API au vipengele visivyohitajika.
CUIT ya Argentina inafuata muundo maalum unaojumuisha tarakimu 11 zilizopangwa kama:
1XX-XXXXXXXX-X
2
Muundo huu wa kawaida unaweza kugawanywa katika sehemu tatu tofauti:
Tarakimu mbili za kwanza za CUIT zinaonyesha aina ya mlipa ushuru:
Aina ya Chombo | Nambari ya Aina | Maelezo |
---|---|---|
Kampuni | 30 | Makampuni, LLCs, na vyombo vingine vya biashara |
Shirika | 33 | Mashirika yasiyo ya faida |
Msingi | 30 | Mifumo ya misaada |
Jamii | 30 | Ushirikiano na miundo mingine ya jamii |
Serikali | 30 | Taasisi za serikali na umma |
Kampuni ya Kigeni | 30 | Makampuni yaliyo nje ya Argentina |
Mtu Binafsi (Mwanaume) | 20 | Watu binafsi wa kiume |
Mtu Binafsi (Mwanamke) | 27 | Watu binafsi wa kike |
Kuaminika | 30 | Vyombo vya kuaminika |
Kuelewa hizi nambari za aina ni muhimu kwa ajili ya kuzalisha CUIT zinazofaa kwa hali tofauti za majaribio.
Zana yetu inatoa kazi mbili kuu: kuzalisha CUIT halali na kuthibitisha zile zilizopo. Hapa kuna jinsi ya kutumia kila kipengele kwa ufanisi:
Generator inaunda CUIT za nasibu lakini halali kwa hesabu zinazofuata algoriti rasmi inayotumiwa na AFIP. CUIT hizi ni bora kwa ajili ya kujaribu mifumo inayohitaji muundo halali wa CUIT, ingawa hazijarekodiwa katika hifadhidata rasmi.
Mthibitishaji anachunguza muundo na uhalali wa hesabu wa CUIT kwa kuthibitisha kuwa tarakimu ya uthibitisho inalingana na thamani iliyohesabiwa kulingana na tarakimu zilizotangulia.
Tarakimu ya uthibitisho (tarakimu ya mwisho) ya CUIT inahesabiwa kwa kutumia algoriti maalum iliyoundwa kugundua makosa ya kawaida katika kuingia data. Kuelewa algoriti hii husaidia kuelezea jinsi zana yetu inavyothibitisha CUIT:
Hebu tuhesabu tarakimu ya uthibitisho kwa CUIT yenye nambari ya aina 30 na nambari ya utambulisho 12345678:
Hivyo, CUIT kamili halali ni 30-12345678-1.
Zana ya Kizazi na Uthibitishaji wa CUIT ya Argentina inatoa matumizi mengi katika muktadha tofauti wa kitaaluma:
Mfano ufuatao unaonyesha jinsi ya kutekeleza uthibitishaji na uzalishaji wa CUIT katika lugha mbalimbali za programu:
1// Uthibitishaji wa CUIT katika JavaScript
2function validateCUIT(cuit) {
3 // Ondoa wahusika wowote wasio tarakimu
4 const cleanCuit = cuit.replace(/\D/g, '');
5
6 // Angalia ikiwa ina tarakimu 11 tu
7 if (cleanCuit.length !== 11) {
8 return false;
9 }
10
11 // Toa sehemu
12 const typeCode = cleanCuit.substring(0, 2);
13 const number = cleanCuit.substring(2, 10);
14 const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15
16 // Hesabu tarakimu ya uthibitisho
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// Mfano wa matumizi
39console.log(validateCUIT('30-12345678-1')); // kweli au uongo
40
1# Uzalishaji wa CUIT katika Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5 # Mambo ya nambari za aina
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 # Pata nambari ya aina kwa chaguo la aina ya chombo
19 type_code = entity_types.get(entity_type, 30)
20
21 # Zalisha nambari ya nasibu ya tarakimu 8
22 number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23
24 # Hesabu tarakimu ya uthibitisho
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 # Fanya muundo na urudishe CUIT
39 return f"{type_code}-{number}-{verification_digit}"
40
41# Mfano wa matumizi
42print(generate_cuit('INDIVIDUAL_MALE'))
43
1<?php
2// Uthibitishaji wa CUIT katika PHP
3function validateCUIT($cuit) {
4 // Ondoa wahusika wowote wasio tarakimu
5 $cleanCuit = preg_replace('/\D/', '', $cuit);
6
7 // Angalia ikiwa ina tarakimu 11 tu
8 if (strlen($cleanCuit) !== 11) {
9 return false;
10 }
11
12 // Toa sehemu
13 $typeCode = substr($cleanCuit, 0, 2);
14 $number = substr($cleanCuit, 2, 8);
15 $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16
17 // Hesabu tarakimu ya uthibitisho
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// Mfano wa matumizi
39echo validateCUIT('30-12345678-1') ? 'Halali' : 'Isiyo Halali';
40?>
41
1// Uzalishaji na Uthibitishaji wa CUIT katika Java
2import java.util.Random;
3
4public class CUITUtils {
5
6 // Nambari za aina ya chombo
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 // Zalisha CUIT halali
13 public static String generateCUIT(String entityType) {
14 int typeCode;
15
16 // Amua nambari ya aina kulingana na aina ya chombo
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 // Zalisha nambari ya nasibu ya tarakimu 8
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 // Hesabu tarakimu ya uthibitisho
41 String digits = String.format("%02d%s", typeCode, number.toString());
42 int verificationDigit = calculateVerificationDigit(digits);
43
44 // Fanya muundo na urudishe CUIT
45 return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46 }
47
48 // Hesabu tarakimu ya uthibitisho
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 // Uthibitisha CUIT
69 public static boolean validateCUIT(String cuit) {
70 // Ondoa wahusika wowote wasio tarakimu
71 String cleanCuit = cuit.replaceAll("\\D", "");
72
73 // Angalia ikiwa ina tarakimu 11 tu
74 if (cleanCuit.length() != 11) {
75 return false;
76 }
77
78 // Toa tarakimu ya uthibitisho
79 int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80
81 // Hesabu tarakimu ya uthibitisho inayotarajiwa
82 int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83
84 // Linganisha tarakimu za uthibitisho
85 return calculatedVerificationDigit == providedVerificationDigit;
86 }
87
88 public static void main(String[] args) {
89 // Mfano wa matumizi
90 String generatedCUIT = generateCUIT("COMPANY");
91 System.out.println("CUIT Iliyozalishwa: " + generatedCUIT);
92 System.out.println("Ni halali: " + validateCUIT(generatedCUIT));
93 }
94}
95
1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6 // Uthibitishaji wa CUIT
7 public static bool ValidateCUIT(string cuit)
8 {
9 // Ondoa wahusika wowote wasio tarakimu
10 string cleanCuit = Regex.Replace(cuit, @"\D", "");
11
12 // Angalia ikiwa ina tarakimu 11 tu
13 if (cleanCuit.Length != 11)
14 {
15 return false;
16 }
17
18 // Toa tarakimu ya uthibitisho
19 int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20
21 // Hesabu tarakimu ya uthibitisho inayotarajiwa
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 // Fanya muundo wa CUIT kwa separators sahihi
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; // Rudisha asilia ikiwa si tarakimu 11
57 }
58
59 return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60 }
61}
62
Mfumo wa CUIT ulianzishwa nchini Argentina mwanzoni mwa miaka ya 1990 kama sehemu ya juhudi kubwa za marekebisho ya ushuru zilizokusudia kuboresha miundombinu ya kifedha ya nchi na kupunguza udanganyifu wa ushuru. Mamlaka ya Shughuli za Umma ya Shirikisho (AFIP), mamlaka ya ushuru ya Argentina, ilitekeleza CUIT kama mfumo wa utambulisho wa kawaida kwa walipa ushuru wote.
Kabla ya kuanzishwa kwa CUIT, Argentina ilitumia mifumo tofauti isiyo na usawa ya utambulisho kwa aina tofauti za walipa ushuru, na kufanya usimamizi wa ushuru kuwa mgumu na kuunda nafasi za kutokufanya kazi. CUIT ilifanya mfumo huu kuwa mmoja, wa kuthibitisha kitambulisho ambacho kinaweza kutumika katika shughuli zote zinazohusiana na ushuru.
Hatua muhimu katika maendeleo ya mfumo wa CUIT ni pamoja na:
CUIT imekuwa kipengele muhimu katika mifumo ya kiuchumi na kifedha ya Argentina, ikitumika si tu kwa madhumuni ya ushuru bali pia kwa benki, ajira, usalama wa kijamii, na shughuli za kibiashara.
CUIT (Código Único de Identificación Tributaria) ni nambari ya Utambulisho wa Kipekee wa Ushuru wa Argentina inayotolewa kwa watu binafsi na taasisi za kisheria kwa madhumuni ya ushuru. Inajumuisha tarakimu 11 katika muundo XX-XXXXXXXX-X, ambapo tarakimu mbili za kwanza zinaonyesha aina ya chombo, tarakimu nane za kati ni nambari ya utambulisho, na tarakimu ya mwisho ni tarakimu ya uthibitisho.
CUIT halali lazima:
Zana yetu ya uthibitishaji wa CUIT inaweza kuthibitisha mara moja ikiwa CUIT inakidhi vigezo hivi.
Ingawa zinafanana katika muundo, CUIT na CUIL hutumikia madhumuni tofauti:
Zote zinafuata muundo sawa na algoriti ya uthibitisho, lakini zinatumika katika muktadha tofauti.
Hapana. CUIT zinazozalishwa na zana hii ni halali kwa hesabu lakini hazijarekodiwa katika hifadhidata rasmi ya AFIP. Zinapaswa kutumika tu kwa majaribio, maendeleo, au madhumuni ya elimu. Kutumia CUIT za bandia kwa hati rasmi au shughuli kunaweza kuwa udanganyifu.
AFIP imepewa nambari sawa ya aina (30) kwa aina kadhaa za chombo ikiwa ni pamoja na makampuni, misingi, na taasisi za serikali. Hii ni sehemu ya mfumo rasmi wa uainishaji na haikathiri uhalali wa CUIT. Aina maalum ya chombo inatambulika kupitia taarifa za ziada za usajili katika mifumo ya AFIP.
CUIT ni vitambulisho vya kudumu ambavyo kwa ujumla havibadiliki katika maisha ya mtu binafsi au chombo. Hata hivyo, katika baadhi ya hali maalum kama vile mabadiliko ya hali ya kisheria au upasuaji wa kijinsia, CUIT mpya inaweza kutolewa.
Ndio, lakini si kupitia zana yetu. AFIP inatoa huduma rasmi inayoitwa "Constancia de Inscripción" kwenye tovuti yao ambapo unaweza kuthibitisha ikiwa CUIT imeandikishwa rasmi na inafanya kazi. Zana yetu inathibitisha tu usahihi wa hesabu wa CUIT.
Makosa ya kawaida ni pamoja na:
Mthibitishaji wetu husaidia kubaini masuala haya kwa kuangalia muundo na uhalali wa hesabu.
Zana yetu inakuruhusu kuchagua kutoka kwa aina mbalimbali za chombo kabla ya kuzalisha CUIT. Rahisi chagua aina sahihi ya chombo kutoka kwenye menyu ya kushuka na bonyeza "Zalisha CUIT." Zana itatumia kiotomatiki nambari sahihi ya aina kwa chaguo lako.
Hapana, zana yetu haina mipaka kwa idadi ya CUIT ambazo unaweza kuzalisha au kuthibitisha. Imeundwa kwa urahisi katika hali za majaribio na elimu ambapo unaweza kuhitaji CUIT nyingi halali.
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).
Zana ya Kizazi na Uthibitishaji wa CUIT ya Argentina inatoa suluhisho rahisi na lenye ufanisi kwa kufanya kazi na nambari za utambulisho wa ushuru wa Argentina katika mazingira ya majaribio na maendeleo. Kwa kuelewa muundo, format, na algoriti ya uthibitisho ya CUIT, watumiaji wanaweza kuhakikisha uhalali wa data na kufuata viwango vya utambulisho wa ushuru wa Argentina.
Iwe unaunda programu zinazoshughulika na mifumo ya kifedha ya Argentina, unajaribu taratibu za uthibitishaji wa data, au unajifunza tu kuhusu mifumo ya kimataifa ya utambulisho wa ushuru, zana yetu inatoa kazi unazohitaji bila ugumu usiohitajika.
Jaribu kuzalisha CUIT sasa au uthibitisha moja iliyopo ili kuweza kushuhudia urahisi na ufanisi wa zana yetu kwa njia halisi.
Gundua zana zaidi ambazo zinaweza kuwa na manufaa kwa mtiririko wako wa kazi