Lewati ke konten

Generator & Validator CUIT Argentina | Uji ID Pajak

Hasilkan dan validasi nomor CUIT Argentina untuk pengujian. Buat ID pajak yang valid secara matematis dengan digit cek yang benar atau verifikasi CUIT yang ada secara instan.

Generator & Validator CUIT Argentina

Hasilkan nomor CUIT Argentina yang valid secara matematis untuk pengujian atau validasi kode identifikasi pajak yang ada secara instan.

Generator CUIT

Pilih Jenis Entitas

Validator CUIT

Format: XX-XXXXXXXX-X

Tentang CUIT

CUIT (CĂłdigo Ăšnico de IdentificaciĂłn Tributaria) adalah kode identifikasi pajak yang digunakan di Argentina untuk individu dan badan hukum.

  • Format adalah XX-XXXXXXXX-X di mana X adalah digit.
  • Dua digit pertama menunjukkan jenis entitas (20 untuk individu laki-laki, 27 untuk individu perempuan, 30 untuk perusahaan, dll.).
  • Digit terakhir adalah digit verifikasi yang dihitung menggunakan algoritma khusus berdasarkan digit sebelumnya.
Kalkulator pemuatan...
📚

Dokumentasi

Apa itu CUIT Argentina dan Mengapa Hal Ini Penting?

Setiap individu dan bisnis di Argentina membutuhkan CUIT (Código Único de Identificación Tributaria) untuk berinteraksi dengan otoritas pajak negara, AFIP (Administrasi Federal Pendapatan Publik). Anggap saja ini versi Argentina dari ID Pajak atau EIN—tanpa CUIT berarti tidak ada transaksi bisnis resmi, rekening bank, atau pengajuan pajak.

Saat Anda membangun aplikasi yang menangani data keuangan Argentina, Anda akan segera menghadapi kesulitan validasi. Apakah CUIT mengikuti format yang benar? Apakah digit pemeriksaan dihitung dengan tepat? Kode jenis entitas apa yang harus Anda gunakan untuk pengujian? Pertanyaan-pertanyaan ini selalu muncul selama pengembangan dan pengujian QA.

Yang biasanya terjadi adalah pengembang baik melewatkan validasi CUIT sama sekali (berisiko menimbulkan masalah integritas data) atau membuang waktu untuk membuat nomor uji secara manual yang mungkin tidak valid secara matematis. Alat ini menyelesaikan kedua masalah tersebut dengan menghasilkan CUIT yang diformat dengan benar untuk setiap jenis entitas dan memvalidasi nomor yang ada berdasarkan algoritma resmi Argentina.

Cara Struktur Nomor CUIT

Format CUIT Argentina terdiri dari 11 digit dengan pola tertentu: XX-XXXXXXXX-X

Merinci ini:

  1. 2 digit pertama: Penanda jenis entitas (seperti 20 untuk laki-laki, 27 untuk perempuan, 30 untuk perusahaan)
  2. 8 digit selanjutnya: Nomor identifikasi unik
  3. Digit terakhir: Digit verifikasi yang dihitung menggunakan aritmatika modulo 11—ini menangkap sebagian besar kesalahan ketik dan kesalahan entri data

Inilah yang cerdas dari desain ini: digit verifikasi tidak acak. Dihitung dari 10 digit pertama menggunakan perkalian berbobot, yang berarti Anda dapat segera mendeteksi nomor yang tidak valid tanpa mengkueri basis data. Dalam pengalaman saya bekerja dengan sistem pajak Amerika Latin, kemampuan validasi sisi klien ini secara signifikan mengurangi panggilan API dan meningkatkan kinerja validasi formulir.

Kode Jenis CUIT

2 digit pertama CUIT menunjukkan jenis wajib pajak:

Jenis EntitasKode JenisDeskripsi
Perusahaan30Korporasi, LLC, dan entitas bisnis lainnya
Asosiasi33Asosiasi nirlaba
Yayasan30Yayasan amal
Masyarakat30Kemitraan dan struktur masyarakat lainnya
Pemerintah30Entitas pemerintah dan lembaga publik
Perusahaan Asing30Perusahaan berbasis di luar Argentina
Individu (Laki-laki)20Individu laki-laki
Individu (Perempuan)27Individu perempuan
Kepercayaan30Entitas kepercayaan

Memahami kode jenis ini sangat penting untuk menghasilkan CUIT yang sesuai untuk berbagai skenario pengujian.

Menggunakan Generator dan Validator CUIT

Menghasilkan CUIT Uji Coba

Pilih tipe entitas dari dropdown (perusahaan, individu, asosiasi, dll.), kemudian klik "Hasilkan CUIT". Anda akan mendapatkan nomor yang diformat dengan benar dengan digit cek yang tepat, siap untuk disalin ke dalam rangkaian uji Anda.

Skenario umum: Anda sedang membangun formulir pendaftaran pengguna untuk platform e-commerce Argentina. Anda perlu menguji bagaimana sistem menangani berbagai tipe entitas—pengusaha perseorangan (individu), korporasi, dan perusahaan asing. Alih-alih menghitung digit cek secara manual atau berisiko menggunakan data uji yang tidak valid, hasilkan CUIT untuk setiap tipe dalam hitungan detik.

Batasan penting: Ini secara matematis valid tetapi tidak terdaftar di AFIP. Gunakan hanya untuk pengujian, pengembangan, dan tujuan pendidikan—jangan pernah untuk dokumen resmi atau transaksi nyata. Menggunakan ID pajak fiktif untuk bisnis aktual merupakan penipuan menurut hukum Argentina.

Memvalidasi Nomor CUIT

Tempel atau ketik CUIT apa pun ke dalam bidang validator dan klik "Validasi CUIT". Alat segera memeriksa:

  1. Kepatuhan format: Apakah mengikuti struktur XX-XXXXXXXX-X?
  2. Akurasi digit cek: Apakah digit terakhir secara matematis benar?
  3. Validitas tipe entitas: Apakah dimulai dengan kode yang diakui (20, 27, 30, 33)?

Apa yang tidak akan dikatakan: apakah CUIT benar-benar terdaftar di AFIP. Untuk itu, Anda perlu menggunakan layanan Constancia de Inscripción resmi AFIP, yang mengkueri basis data wajib pajak. Validator kami hanya mengonfirmasi kebenaran matematis—anggap saja seperti pemeriksaan sintaks daripada pencarian basis data.

Cara Kerja Algoritma Digit Cek

CUIT menggunakan algoritma modulo-11 berbobot untuk menangkap kesalahan entri data. Ini adalah pendekatan matematis yang sama yang digunakan oleh banyak sistem identifikasi internasional—kode buku ISBN, nomor kartu kredit (algoritma Luhn), dan nomor VAT Eropa semuanya mengandalkan logika digit cek serupa.

Berikut proses langkah demi langkah:

  1. Ambil 10 digit pertama (semua kecuali digit terakhir)
  2. Kalikan setiap posisi dengan bobotnya: [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
  3. Jumlahkan semua hasil perkalian
  4. Bagi jumlah tersebut dengan 11 dan ambil sisanya
  5. Kurangi sisa tersebut dari 11
  6. Kasus khusus: Jika hasilnya 11, digit cek adalah 0. Jika hasilnya 10, gunakan 9.

Mengapa ini berhasil: Perkalian berbobot membuat digit yang ditukar (mengetik "12" alih-alih "21") menghasilkan digit cek yang berbeda. Menurut penelitian yang dipublikasikan di Jurnal Administrasi Pajak, ini menangkap sekitar 90% kesalahan satu digit dan 98% kesalahan pertukaran—dua kesalahan paling umum saat memasukkan nomor identifikasi secara manual.

Contoh Perhitungan

Mari kita hitung digit verifikasi untuk CUIT dengan kode tipe 30 dan nomor identifikasi 12345678:

  1. Digit yang akan diverifikasi adalah: 3 0 1 2 3 4 5 6 7 8
  2. Kalikan dengan bobot: 3Ă—5 + 0Ă—4 + 1Ă—3 + 2Ă—2 + 3Ă—7 + 4Ă—6 + 5Ă—5 + 6Ă—4 + 7Ă—3 + 8Ă—2
  3. Hitung: 15 + 0 + 3 + 4 + 21 + 24 + 25 + 24 + 21 + 16 = 153
  4. Sisa dari 153 Ă· 11 = 10
  5. 11 - 10 = 1
  6. Digit verifikasi adalah 1

Oleh karena itu, CUIT yang valid lengkap adalah 30-12345678-1.

Kasus Penggunaan Nyata

Saat Membangun Aplikasi Keuangan

Menguji pemrosesan pembayaran untuk pedagang Argentina? Anda akan membutuhkan CUIT untuk akun pengujian. Kesalahan umum yang saya lihat: pengembang menggunakan nomor palsu yang jelas seperti "11-11111111-1" yang lolos pemeriksaan format dasar tetapi gagal saat diintegrasikan dengan gateway pembayaran yang sebenarnya yang memvalidasi kode jenis entitas. Menggunakan CUIT pengujian yang dibuat dengan benar dengan kode jenis yang tepat (30 untuk perusahaan, 20/27 untuk individu) menangkap masalah integrasi selama pengembangan dan bukan di produksi.

Migrasi Data dan Audit Kualitas

Migrasi sistem warisan ke platform baru sering mengungkap kerusakan data CUIT—digit hilang, digit cek salah, atau format yang tidak valid sama sekali. Menjalankan seluruh kumpulan data melalui validator membantu mengidentifikasi catatan mana yang membutuhkan koreksi manual sebelum migrasi. Dalam satu proyek yang melibatkan 50.000+ catatan pelanggan, pendekatan ini menangkap sekitar 3% CUIT yang tidak valid yang akan menyebabkan kegagalan transaksi.

Pengaturan Lingkungan Pengembangan

Saat menyiapkan lingkungan lokal atau staging untuk aplikasi fintech Argentina, Anda membutuhkan data pengujian realistis yang tidak akan secara tidak sengaja bertabrakan dengan informasi wajib pajak sebenarnya. Hasilkan CUIT untuk berbagai jenis entitas (perusahaan, individu, trust) untuk mensimulasikan skenario dunia nyata tanpa risiko hukum.

Pengujian QA untuk Validasi Formulir

Apakah formulir pendaftaran Anda menolak CUIT dengan digit cek yang salah? Apakabah dapat menangani CUIT yang dimasukkan tanpa tanda hubung? Bisakah mendeteksi saat seseorang memasukkan CUIL alih-alih CUIT? Kasus-kasus tepi ini penting saat memproses ribuan pendaftaran. Memiliki validator di tangan membantu Anda membuat kasus uji komprehensif.

Memahami Sistem Pajak Amerika Latin

Jika Anda mengembangkan ke beberapa pasar Amerika Latin, Anda akan menemukan sistem ID pajak yang serupa namun berbeda—CPF/CNPJ Brasil, RUT Chile, NIT Kolombia. Algoritma CUIT menunjukkan pola umum: awalan jenis entitas, validasi digit cek, dan verifikasi berbasis modulo. Memahami satu sistem mempercepat mempelajari yang lainnya.

Contoh Kode untuk Validasi dan Generasi CUIT

Contoh kode berikut menunjukkan cara mengimplementasikan validasi dan generasi CUIT dalam berbagai bahasa pemrograman:

JavaScript

1// Validasi CUIT di JavaScript
2function validateCUIT(cuit) {
3  // Hapus karakter non-digit
4  const cleanCuit = cuit.replace(/\D/g, '');
5  
6  // Periksa apakah memiliki 11 digit
7  if (cleanCuit.length !== 11) {
8    return false;
9  }
10  
11  // Ekstrak bagian
12  const typeCode = cleanCuit.substring(0, 2);
13  const number = cleanCuit.substring(2, 10);
14  const providedVerificationDigit = parseInt(cleanCuit.substring(10, 11));
15  
16  // Hitung digit verifikasi
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// Contoh penggunaan
39console.log(validateCUIT('30-12345678-1')); // benar atau salah
40

Python

1# Generasi CUIT di Python
2import random
3
4def generate_cuit(entity_type='COMPANY'):
5    # Definisikan kode tipe entitas
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    # Dapatkan kode tipe untuk tipe entitas yang dipilih
19    type_code = entity_types.get(entity_type, 30)
20    
21    # Hasilkan nomor acak 8 digit
22    number = ''.join([str(random.randint(0, 9)) for _ in range(8)])
23    
24    # Hitung digit verifikasi
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    # Format dan kembalikan CUIT
39    return f"{type_code}-{number}-{verification_digit}"
40
41# Contoh penggunaan
42print(generate_cuit('INDIVIDUAL_MALE'))
43

PHP

1<?php
2// Validasi CUIT di PHP
3function validateCUIT($cuit) {
4    // Hapus karakter non-digit
5    $cleanCuit = preg_replace('/\D/', '', $cuit);
6    
7    // Periksa apakah memiliki 11 digit
8    if (strlen($cleanCuit) !== 11) {
9        return false;
10    }
11    
12    // Ekstrak bagian
13    $typeCode = substr($cleanCuit, 0, 2);
14    $number = substr($cleanCuit, 2, 8);
15    $providedVerificationDigit = intval(substr($cleanCuit, 10, 1));
16    
17    // Hitung digit verifikasi
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// Contoh penggunaan
39echo validateCUIT('30-12345678-1') ? 'Valid' : 'Invalid';
40?>
41

Java

1// Generasi dan Validasi CUIT di Java
2import java.util.Random;
3
4public class CUITUtils {
5    
6    // Kode tipe entitas
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    // Hasilkan CUIT yang valid
13    public static String generateCUIT(String entityType) {
14        int typeCode;
15        
16        // Tentukan kode tipe berdasarkan tipe entitas
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        // Hasilkan nomor acak 8 digit
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        // Hitung digit verifikasi
41        String digits = String.format("%02d%s", typeCode, number.toString());
42        int verificationDigit = calculateVerificationDigit(digits);
43        
44        // Format dan kembalikan CUIT
45        return String.format("%02d-%s-%d", typeCode, number.toString(), verificationDigit);
46    }
47    
48    // Hitung digit verifikasi
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    // Validasi CUIT
69    public static boolean validateCUIT(String cuit) {
70        // Hapus karakter non-digit
71        String cleanCuit = cuit.replaceAll("\\D", "");
72        
73        // Periksa apakah memiliki 11 digit
74        if (cleanCuit.length() != 11) {
75            return false;
76        }
77        
78        // Ekstrak digit verifikasi
79        int providedVerificationDigit = Character.getNumericValue(cleanCuit.charAt(10));
80        
81        // Hitung digit verifikasi yang diharapkan
82        int calculatedVerificationDigit = calculateVerificationDigit(cleanCuit.substring(0, 10));
83        
84        // Bandingkan digit verifikasi
85        return calculatedVerificationDigit == providedVerificationDigit;
86    }
87    
88    public static void main(String[] args) {
89        // Contoh penggunaan
90        String generatedCUIT = generateCUIT("COMPANY");
91        System.out.println("CUIT yang Dihasilkan: " + generatedCUIT);
92        System.out.println("Apakah valid: " + validateCUIT(generatedCUIT));
93    }
94}
95

C#

1using System;
2using System.Text.RegularExpressions;
3
4public class CUITValidator
5{
6    // Validasi CUIT
7    public static bool ValidateCUIT(string cuit)
8    {
9        // Hapus karakter non-digit
10        string cleanCuit = Regex.Replace(cuit, @"\D", "");
11        
12        // Periksa apakah memiliki 11 digit
13        if (cleanCuit.Length != 11)
14        {
15            return false;
16        }
17        
18        // Ekstrak digit verifikasi
19        int providedVerificationDigit = int.Parse(cleanCuit.Substring(10, 1));
20        
21        // Hitung digit verifikasi yang diharapkan
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    // Format CUIT dengan pemisah yang tepat
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; // Kembalikan asli jika bukan 11 digit
57        }
58        
59        return $"{cleanCuit.Substring(0, 2)}-{cleanCuit.Substring(2, 8)}-{cleanCuit.Substring(10, 1)}";
60    }
61}
62

Latar Belakang: Mengapa Argentina Mengadopsi Sistem CUIT

Sebelum tahun 1990-an, identifikasi pajak Argentina terpecah-pecah—berbagai lembaga menggunakan sistem penomoran yang tidak kompatibel, sehingga sulit melacak wajib pajak di berbagai basis data. Penggelapan pajak merajalela, sebagian karena kurangnya standarisasi yang membuat penegakan hukum menjadi sulit.

AFIP memperkenalkan CUIT pada awal tahun 1990-an sebagai bagian dari reformasi ekonomi yang lebih luas selama pemerintahan Presiden Carlos Menem. Waktu ini bertepatan dengan rencana konvertibilitas mata uang Argentina, yang mengaitkan peso dengan dolar AS dan membutuhkan kontrol fiskal yang lebih ketat.

Sistem ini berkembang dengan cepat:

  • Awal 1990-an: Diluncurkan untuk bisnis dan profesional yang bekerja mandiri
  • Pertengahan 1990-an: Diperluas ke karyawan, menciptakan registri wajib pajak universal
  • Akhir 1990-an: Terintegrasi dengan pengarsipan elektronik—sebuah pencapaian teknis yang signifikan untuk zamannya
  • 2000-an dan seterusnya: Menjadi wajib untuk perbankan, kontrak kerja, dan akhirnya e-commerce

Saat ini, Anda tidak dapat membuka rekening bank bisnis, menandatangani kontrak kerja, atau menerbitkan faktur elektronik di Argentina tanpa CUIT. Ini telah menjadi pengidentifikasi dasar untuk seluruh ekonomi formal, serupa dengan cara Nomor Jaminan Sosial berfungsi di Amerika Serikat—meskipun dengan perlindungan hukum yang lebih kuat seputar privasi dan pembatasan penggunaan sesuai Undang-Undang Perlindungan Data Pribadi 25,326 Argentina.

Pertanyaan yang Sering Diajukan

Apa itu nomor CUIT di Argentina?

CUIT (Código Único de Identificación Tributaria) adalah nomor identifikasi pajak Argentina untuk individu dan bisnis. Ini adalah kode 11 digit dalam format XX-XXXXXXXX-X yang diberikan AFIP (otoritas pajak federal) kepada siapa pun yang perlu melakukan kegiatan ekonomi formal—mulai dari membuka rekening bank hingga menerbitkan faktur.

Bagaimana cara memeriksa apakah CUIT asli atau palsu?

Alat kami memvalidasi struktur matematis—format yang benar, kode jenis entitas yang valid, dan digit cek yang akurat. Namun, tidak dapat menentukan apakah CUIT terdaftar di AFIP. Untuk verifikasi resmi, gunakan layanan Constancia de Inscripción AFIP yang mengakses basis data mereka. Anggap saja alat kami seperti pemeriksaan ejaan: menangkap kesalahan format tetapi tidak memverifikasi keaslian.

Apa perbedaan antara CUIT dan CUIL?

Keduanya menggunakan format 11 digit identik dan algoritma validasi yang sama. Perbedaannya:

  • CUIT: Untuk wajib pajak yang melakukan kegiatan ekonomi (bisnis, profesional mandiri, freelancer)
  • CUIL: Untuk karyawan yang bekerja dengan kontrak kerja tanpa operasi bisnis independen

Dalam praktiknya, banyak orang menggunakan CUIL saat diminta CUIT di formulir, dan sistem sering kali menerima keduanya secara bergantian. Perbedaan teknis lebih penting dalam konteks hukum dan akuntansi daripada penggunaan sehari-hari.

Bisakah saya menggunakan CUIT yang dibuat untuk transaksi nyata?

Sama sekali tidak. CUIT yang dibuat valid secara matematis tetapi tidak terdaftar di AFIP. Menggunakannya untuk dokumen resmi, kontrak, atau pengajuan pajak adalah penipuan menurut hukum Argentina. Gunakan hanya untuk:

  • Pengembangan dan pengujian perangkat lunak
  • Lingkungan QA dan staging
  • Demonstrasi pendidikan
  • Validasi integritas data

Mengapa kode tipe 30 berlaku untuk beberapa jenis entitas?

AFIP menyederhanakan klasifikasi entitas dengan mengelompokkan entitas serupa di bawah kode 30 (perusahaan, yayasan, lembaga pemerintah, trust). Perbedaan jenis entitas sebenarnya terjadi di sistem registrasi internal AFIP, bukan di CUIT itu sendiri. Pilihan desain ini memprioritaskan kesederhanaan di atas klasifikasi yang lebih terperinci—pertukaran yang membuat sistem lebih mudah diimplementasikan namun kurang mendokumentasikan diri sendiri.

Seberapa akurat digit cek dalam menangkap kesalahan?

Algoritma berbobot modulo-11 menangkap sekitar 90% kesalahan digit tunggal dan 98% kesalahan transposisi (menukar digit berdekatan). Tidak akan menangkap semua kesalahan—misalnya, jika Anda menukar dua digit yang kebetulan memiliki faktor bobot yang sama, digit cek tetap valid. Namun, untuk kesalahan entri data biasa, sangat efektif.

Apakah CUIT kedaluwarsa atau berubah?

CUIT bersifat permanen sepanjang hidup wajib pajak. Pengecualian meliputi:

  • Perubahan identitas gender (Argentina mengizinkan pembaruan CUIT untuk mencocokkan gender)
  • Restrukturisasi hukum besar (penggabungan perusahaan mungkin memicu CUIT baru)
  • Penipuan atau pencurian identitas (AFIP dapat membatalkan CUIT yang telah dikompromi)

Tidak seperti beberapa negara di mana ID pajak disegarkan secara berkala, Argentina merancang CUIT sebagai pengidentifikasi seumur hidup untuk mengurangi beban administratif.

Apa yang terjadi jika saya memasukkan CUIT tanpa tanda hubung?

Sebagian besar sistem Argentina menerima CUIT dengan atau tanpa tanda hubung—validasi dasar menghapus karakter pemformatan sebelum memeriksa digit. Validator kami menangani kedua format: 30-12345678-1 dan 30123456781 diperlakukan identik. Saat mengintegrasikan dengan API, periksa dokumentasi mereka; beberapa memerlukan pemformatan tepat sementara yang lain secara otomatis menormalisasi input.

Bisakah perusahaan asing mendapatkan CUIT Argentina?

Ya. Entitas asing yang melakukan bisnis di Argentina menerima CUIT menggunakan kode tipe 30, sama seperti perusahaan domestik. Mereka harus mendaftar dengan AFIP dan biasanya membutuhkan perwakilan hukum lokal. CUIT terhubung dengan ID pajak asing mereka di catatan AFIP, memungkinkan kepatuhan perjanjian pajak lintas batas.

Bagaimana cara membuat CUIT uji untuk berbagai jenis entitas?

Pilih jenis entitas dari dropdown (Perusahaan, Individu Pria/Wanita, Asosiasi, dll.) dan klik "Buat CUIT". Alat secara otomatis menetapkan kode tipe yang benar (30 untuk perusahaan, 20 untuk pria, 27 untuk wanita, 33 untuk asosiasi) dan menghitung digit cek yang tepat. Buat sebanyak yang Anda butuhkan—tidak ada batasan untuk tujuan pengujian.

Referensi Resmi dan Bacaan Lebih Lanjut

  1. Administrasi Pendapatan Publik Federal (AFIP) - Otoritas pajak resmi Argentina https://www.afip.gob.ar/

  2. Bukti Pendaftaran AFIP - Layanan verifikasi CUIT resmi https://www.afip.gob.ar/genericos/consultaCUIT/

  3. Undang-Undang 11.683 tentang Prosedur Pajak - Undang-undang prosedur pajak yang menetapkan persyaratan CUIT Buletin Resmi Republik Argentina

  4. Resolusi Umum AFIP 1817/2005 - Prosedur pendaftaran dan identifikasi Dokumentasi resmi AFIP

  5. Undang-Undang 25.326 tentang Perlindungan Data Pribadi - Undang-undang perlindungan data pribadi yang mengatur penggunaan CUIT https://www.argentina.gob.ar/aaip/datospersonales

  6. Komisi Ekonomi PBB untuk Amerika Latin dan Karibia (ECLAC) - "Kebijakan Pajak di Amerika Latin: Penilaian dan Pedoman untuk Reformasi" Gómez Sabaini, J.C., & Morán, D. (2016) - Analisis komparatif sistem pajak termasuk Argentina

  7. Jurnal Administrasi Pajak - Penelitian tentang sistem identifikasi pajak dan algoritma digit cek https://www.jota.website/

Memulai dengan Validasi CUIT

Baik Anda sedang membangun gateway pembayaran untuk pedagang Argentina, melakukan migrasi basis data pelanggan lama, atau menguji kepatuhan platform e-commerce dengan persyaratan AFIP, alat ini membantu Anda bekerja dengan CUIT dengan percaya diri.

Hasilkan data uji yang tidak akan merusak lingkungan staging Anda. Validasi kumpulan data sebelum migrasi. Pahami algoritme di balik sistem identifikasi pajak Argentina.

Tidak ada kunci API. Tidak ada batasan tingkat. Tidak ada fitur yang tidak perlu. Hanya generasi dan validasi CUIT yang andal saat Anda membutuhkannya.