🛠️

Whiz Tools

Build • Create • Innovate

アルゼンチンのCUIT/CUIL生成および検証ツール

テスト用の有効なアルゼンチンのCUIT/CUIL番号を生成するか、既存の番号を検証します。アルゼンチンの税務および労働識別番号に取り組む開発者向けのシンプルなツールです。

CUIT/CUIL ジェネレーター

8桁のDNI番号を入力するか、ランダム生成を使用してください

生成されたCUIT/CUIL

📚

ドキュメント

アルゼンチンのCUIT/CUIL生成器およびバリデーター

はじめに

アルゼンチンのCUIT(Clave Única de Identificación Tributaria)およびCUIL(Clave Única de Identificación Laboral)は、税金および雇用目的でアルゼンチンで使用されるユニークな識別番号です。これらの11桁のコードは、個人や企業がアルゼンチンの経済システム内で合法的に運営するために不可欠です。私たちのCUIT/CUIL生成器およびバリデーターツールは、テスト目的のために有効なCUIT/CUIL番号を生成し、既存の番号が公式の形式および検証アルゴリズムに準拠しているかどうかを確認するためのシンプルで効率的な方法を提供します。

あなたがアルゼンチンの税IDを扱うアプリケーションをテストしている開発者であれ、システム機能を検証しているQAスペシャリストであれ、単にこれらの識別番号の仕組みを理解する必要があるだけであれ、このツールは不必要な複雑さなしに簡単な解決策を提供します。このツールは、特定のパラメータに基づいてランダムに有効なCUIT/CUIL番号を生成する生成器と、与えられたCUIT/CUIL番号が正しい形式および計算ルールに従っているかを検証するバリデーターの2つの主要機能を備えています。

CUIT/CUILの構造と計算

フォーマットの理解

有効なCUIT/CUIL番号は、通常XX-XXXXXXXX-Xの形式で表示される11桁の数字で構成されています:

  1. タイプコード(最初の2桁): エンティティのタイプを示します

    • 20、23、24: 男性個人(CUIL)
    • 27: 女性個人(CUIL)
    • 30、33、34: 企業および団体(CUIT)
  2. DNI番号(中間8桁): 個人の場合、これは国民識別証明書番号(DNI)であり、必要に応じて8桁に達するように先頭にゼロが追加されます。企業の場合、これは一意に割り当てられた番号です。

  3. 検証桁(最後の桁): 数字全体を検証するために特定のアルゴリズムを使用して計算されたチェック桁です。

検証桁の計算

検証桁は次のアルゴリズムを使用して計算されます:

  1. CUIT/CUILの最初の10桁(タイプコード + DNI)を取得します
  2. 各桁を次の重みのシーケンスで掛け算します:5、4、3、2、7、6、5、4、3、2
  3. すべての結果の積を合計します
  4. 合計を11で割った余りを引いた11を計算します
  5. 結果が11の場合、検証桁は0です
  6. 結果が10の場合、検証桁は9です
  7. それ以外の場合、結果が検証桁です

数学的には、これは次のように表現できます:

VD=11((i=110di×wi)mod11)VD = 11 - ((\sum_{i=1}^{10} d_i \times w_i) \bmod 11)

ここで:

  • VDVDは検証桁
  • did_iは最初の10桁のii番目の桁
  • wiw_iはシーケンス[5、4、3、2、7、6、5、4、3、2]からの対応する重み
  • 特殊なケース:VD=11VD = 11の場合、VD=0VD = 0VD=10VD = 10の場合、VD=9VD = 9

ステップバイステップガイド

生成器の使用

  1. ツールインターフェースの上部で「生成器」タブを選択します。

  2. ドロップダウンメニューからタイプコードを選択します:

    • 20: 男性(CUIL)
    • 23: 企業(CUIT)
    • 24: 一時的な企業(CUIT)
    • 27: 女性(CUIL)
    • 30: 法人(CUIT)
    • 33: 市民団体(CUIT)
    • 34: 財団(CUIT)
  3. DNI番号を入力(オプション):

    • 提供されたフィールドに8桁のDNI番号を入力します
    • 空白のままにすると、ツールはランダムに生成されたDNIを使用します
    • 8桁未満の数字を入力した場合、システムは先頭にゼロを追加します
  4. ランダムDNIを生成(オプション):

    • 「ランダム」ボタンをクリックして、ランダムな8桁のDNI番号を生成します
  5. 生成されたCUIT/CUILを表示

    • ツールは自動的にあなたの入力に基づいて有効なCUIT/CUILを表示します
    • フォーマットはXX-XXXXXXXX-Xで、正しい検証桁が付いています
  6. 結果をコピー

    • 生成されたCUIT/CUILをクリップボードにコピーするためにコピーアイコンをクリックします
    • 成功裏にコピーされたときに確認メッセージが表示されます

バリデーターの使用

  1. ツールインターフェースの上部で「バリデーター」タブを選択します。

  2. 検証するCUIT/CUILを入力

    • CUIT/CUILをXX-XXXXXXXX-Xの形式で入力します
    • ツールは入力中に自動的にハイフンをフォーマットします
    • ハイフンなしで番号を入力することもできます(XXXXXXXXXXX)
  3. 「バリデート」ボタンをクリック

    • ツールは形式、タイプコード、および検証桁をチェックします
  4. バリデーション結果を表示

    • 有効なCUIT/CUIL番号の場合、緑の成功メッセージが表示されます
    • 無効な番号の場合、赤のエラーメッセージが問題を説明します:
      • 無効な形式(XX-XXXXXXXX-Xでなければなりません)
      • 無効なタイプコード(20、23、24、27、30、33、34のいずれかでなければなりません)
      • 無効な検証桁
  5. 追加情報

    • 有効な番号の場合、ツールは構成要素の内訳を表示します:
      • タイプコードとその意味
      • DNI番号
      • 検証桁

使用例

開発とテスト

  1. ソフトウェア開発:アルゼンチンの税識別を扱うアプリケーションをテストするために有効なCUIT/CUIL番号を生成します。例:

    • Eコマースプラットフォーム
    • 会計ソフトウェア
    • HR管理システム
    • 政府サービスポータル
    • 銀行アプリケーション
  2. データベースの人口:アルゼンチンのユーザー情報を保存するシステムのために現実的なテストデータを作成し、データベースの制約とバリデーションルールが正しく機能することを確認します。

  3. フォームバリデーションテスト:CUIT/CUIL情報を収集するウェブフォームの入力バリデーションをテストし、無効なエントリに対して適切なエラーメッセージが表示されることを確認します。

  4. APIテスト:CUIT/CUIL番号を必要とするAPIエンドポイントのために有効なペイロードを生成し、統合テストが有効なデータを使用することを確認します。

  5. QA自動化:静的なテストデータを使用するのではなく、動的なテストケースを作成するために自動テストスクリプトにCUIT/CUIL生成を組み込みます。

教育目的

  1. バリデーションアルゴリズムの学習:CUIT/CUIL検証プロセスを実際に見ることで、チェック桁アルゴリズムがどのように機能するかを理解します。

  2. データバリデーションの教育:新しい開発者にフォームバリデーション技術を教える際の教育例として使用します。

  3. アルゼンチンのビジネス要件の理解:国際ビジネス開発のためにアルゼンチンで使用される識別システムについて学びます。

代替案

私たちのツールはCUIT/CUIL番号を生成およびバリデートするためのシンプルな方法を提供しますが、考慮すべき代替アプローチもいくつかあります:

  1. 公式政府バリデーション:本番環境では、可能な限り公式のAFIP(Administración Federal de Ingresos Públicos)データベースに対してCUIT/CUIL番号をバリデートしてください。

  2. ライブラリとパッケージ:いくつかのプログラミング言語には、アルゼンチンの税IDバリデーションのために特別に設計されたライブラリがあります:

    • JavaScript: validar-cuit npmパッケージ
    • PHP: afip-phpライブラリ
    • Python: py-cuitパッケージ
  3. 手動計算:教育目的のために、前述のアルゴリズムを使用して検証桁を手動で計算することができます。

  4. 包括的なビジネスバリデーションサービス:企業アプリケーションの場合、形式をチェックするだけでなく、CUIT/CUILに関連付けられたエンティティの存在とステータスを確認する包括的なバリデーションサービスを検討してください。

CUIT/CUILシステムの歴史

アルゼンチンのCUIT/CUIL識別システムは、その発足以来大きく進化しています:

起源と実施

CUIT(Clave Única de Identificación Tributaria)は、1970年代にアルゼンチンで初めて導入され、税収システムの近代化の一環として導入されました。連邦税収局(AFIP)は、納税者をより効率的に追跡し、税金の脱税を減少させるためにこのユニークな識別子を実施しました。

CUIL(Clave Única de Identificación Laboral)は、労働者を社会保障システムで特定するために後に導入され、税識別と労働識別の間に区別を作りながら、一貫したフォーマットを維持しました。

進化とデジタル化

1990年代、アルゼンチンが大規模な経済改革を進める中で、CUIT/CUILシステムは経済活動を追跡するためにますます重要になりました。システムはさらにデジタル化され、オンライン検証システムが実装されました。

2000年代初頭には、CUIT/CUILシステムがさまざまなデジタル政府サービスと統合され、アルゼンチンのe-governmentイニシアチブの重要な要素となりました。この期間には、現在使用されている検証アルゴリズムと形式の標準化も行われました。

最近の発展

近年、AFIPはCUIT/CUIL番号のセキュリティと検証プロセスを強化し、より高度なバリデーションシステムを実装し、他の政府データベースと統合しました。このシステムは、アルゼンチンの税金の脱税と経済の正式化に取り組むための重要な役割を果たしています。

今日、CUIT/CUILは税金および雇用目的だけでなく、銀行、財産取引、公共料金サービス、オンライン購入を含む幅広い活動で使用されており、アルゼンチンで運営される個人および企業にとって不可欠な識別子となっています。

コード例

Python

1def calculate_verification_digit(type_code, dni):
2    # 文字列に変換し、DNIを先頭にゼロを追加して8桁にする
3    type_code_str = str(type_code)
4    dni_str = str(dni).zfill(8)
5    
6    # タイプコードとDNIを組み合わせる
7    digits = type_code_str + dni_str
8    
9    # 各位置の重み
10    weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
11    
12    # 積の合計を計算
13    sum_products = sum(int(digits[i]) * weights[i] for i in range(10))
14    
15    # 検証桁を計算
16    verification_digit = 11 - (sum_products % 11)
17    
18    # 特殊ケース
19    if verification_digit == 11:
20        verification_digit = 0
21    elif verification_digit == 10:
22        verification_digit = 9
23    
24    return verification_digit
25
26def generate_cuit_cuil(type_code, dni=None):
27    import random
28    
29    # 有効なタイプコード
30    valid_type_codes = [20, 23, 24, 27, 30, 33, 34]
31    
32    if type_code not in valid_type_codes:
33        raise ValueError(f"無効なタイプコード。次のいずれかでなければなりません: {valid_type_codes}")
34    
35    # 提供されていない場合はランダムなDNIを生成
36    if dni is None:
37        dni = random.randint(10000000, 99999999)
38    
39    # 検証桁を計算
40    verification_digit = calculate_verification_digit(type_code, dni)
41    
42    # CUIT/CUILをフォーマット
43    return f"{type_code}-{str(dni).zfill(8)}-{verification_digit}"
44
45def validate_cuit_cuil(cuit_cuil):
46    # ハイフンを削除
47    cuit_cuil_clean = cuit_cuil.replace("-", "")
48    
49    # 基本的なフォーマットをチェック
50    if not cuit_cuil_clean.isdigit() or len(cuit_cuil_clean) != 11:
51        return False, "無効なフォーマット"
52    
53    # 部品を抽出
54    type_code = int(cuit_cuil_clean[0:2])
55    dni = int(cuit_cuil_clean[2:10])
56    verification_digit = int(cuit_cuil_clean[10])
57    
58    # タイプコードを検証
59    valid_type_codes = [20, 23, 24, 27, 30, 33, 34]
60    if type_code not in valid_type_codes:
61        return False, "無効なタイプコード"
62    
63    # 検証桁を計算して比較
64    calculated_digit = calculate_verification_digit(type_code, dni)
65    if calculated_digit != verification_digit:
66        return False, "無効な検証桁"
67    
68    return True, "有効なCUIT/CUIL"
69
70# 使用例
71print(generate_cuit_cuil(20, 12345678))  # 特定のDNIのために生成
72print(generate_cuit_cuil(27))  # ランダムDNIで生成
73print(validate_cuit_cuil("20-12345678-9"))  # CUIT/CUILを検証
74

JavaScript

1function calculateVerificationDigit(typeCode, dni) {
2  // 文字列に変換し、DNIを先頭にゼロを追加して8桁にする
3  const typeCodeStr = typeCode.toString();
4  const dniStr = dni.toString().padStart(8, '0');
5  
6  // タイプコードとDNIを組み合わせる
7  const digits = typeCodeStr + dniStr;
8  
9  // 各位置の重み
10  const weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
11  
12  // 積の合計を計算
13  let sumProducts = 0;
14  for (let i = 0; i < 10; i++) {
15    sumProducts += parseInt(digits[i]) * weights[i];
16  }
17  
18  // 検証桁を計算
19  let verificationDigit = 11 - (sumProducts % 11);
20  
21  // 特殊ケース
22  if (verificationDigit === 11) {
23    verificationDigit = 0;
24  } else if (verificationDigit === 10) {
25    verificationDigit = 9;
26  }
27  
28  return verificationDigit;
29}
30
31function generateCuitCuil(typeCode, dni) {
32  // 有効なタイプコード
33  const validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
34  
35  if (!validTypeCodes.includes(typeCode)) {
36    throw new Error(`無効なタイプコード。次のいずれかでなければなりません: ${validTypeCodes.join(', ')}`);
37  }
38  
39  // 提供されていない場合はランダムなDNIを生成
40  if (dni === undefined) {
41    dni = Math.floor(Math.random() * 90000000) + 10000000;
42  }
43  
44  // 検証桁を計算
45  const verificationDigit = calculateVerificationDigit(typeCode, dni);
46  
47  // CUIT/CUILをフォーマット
48  return `${typeCode}-${dni.toString().padStart(8, '0')}-${verificationDigit}`;
49}
50
51function validateCuitCuil(cuitCuil) {
52  // ハイフンを削除
53  const cuitCuilClean = cuitCuil.replace(/-/g, '');
54  
55  // 基本的なフォーマットをチェック
56  if (!/^\d{11}$/.test(cuitCuilClean)) {
57    return { isValid: false, errorMessage: '無効なフォーマット' };
58  }
59  
60  // 部品を抽出
61  const typeCode = parseInt(cuitCuilClean.substring(0, 2));
62  const dni = parseInt(cuitCuilClean.substring(2, 10));
63  const verificationDigit = parseInt(cuitCuilClean.substring(10, 11));
64  
65  // タイプコードを検証
66  const validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
67  if (!validTypeCodes.includes(typeCode)) {
68    return { isValid: false, errorMessage: '無効なタイプコード' };
69  }
70  
71  // 検証桁を計算して比較
72  const calculatedDigit = calculateVerificationDigit(typeCode, dni);
73  if (calculatedDigit !== verificationDigit) {
74    return { isValid: false, errorMessage: '無効な検証桁' };
75  }
76  
77  return { isValid: true };
78}
79
80// 使用例
81console.log(generateCuitCuil(20, 12345678)); // 特定のDNIのために生成
82console.log(generateCuitCuil(27)); // ランダムDNIで生成
83console.log(validateCuitCuil("20-12345678-9")); // CUIT/CUILを検証
84

Java

1import java.util.Arrays;
2import java.util.List;
3import java.util.Random;
4
5public class CuitCuilUtils {
6    private static final List<Integer> VALID_TYPE_CODES = Arrays.asList(20, 23, 24, 27, 30, 33, 34);
7    private static final int[] WEIGHTS = {5, 4, 3, 2, 7, 6, 5, 4, 3, 2};
8    
9    public static int calculateVerificationDigit(int typeCode, int dni) {
10        // 文字列に変換し、DNIを先頭にゼロを追加して8桁にする
11        String typeCodeStr = String.valueOf(typeCode);
12        String dniStr = String.format("%08d", dni);
13        
14        // タイプコードとDNIを組み合わせる
15        String digits = typeCodeStr + dniStr;
16        
17        // 積の合計を計算
18        int sumProducts = 0;
19        for (int i = 0; i < 10; i++) {
20            sumProducts += Character.getNumericValue(digits.charAt(i)) * WEIGHTS[i];
21        }
22        
23        // 検証桁を計算
24        int verificationDigit = 11 - (sumProducts % 11);
25        
26        // 特殊ケース
27        if (verificationDigit == 11) {
28            verificationDigit = 0;
29        } else if (verificationDigit == 10) {
30            verificationDigit = 9;
31        }
32        
33        return verificationDigit;
34    }
35    
36    public static String generateCuitCuil(int typeCode, Integer dni) {
37        if (!VALID_TYPE_CODES.contains(typeCode)) {
38            throw new IllegalArgumentException("無効なタイプコード。次のいずれかでなければなりません: " + VALID_TYPE_CODES);
39        }
40        
41        // 提供されていない場合はランダムなDNIを生成
42        if (dni == null) {
43            Random random = new Random();
44            dni = 10000000 + random.nextInt(90000000);
45        }
46        
47        // 検証桁を計算
48        int verificationDigit = calculateVerificationDigit(typeCode, dni);
49        
50        // CUIT/CUILをフォーマット
51        return String.format("%d-%08d-%d", typeCode, dni, verificationDigit);
52    }
53    
54    public static ValidationResult validateCuitCuil(String cuitCuil) {
55        // ハイフンを削除
56        String cuitCuilClean = cuitCuil.replace("-", "");
57        
58        // 基本的なフォーマットをチェック
59        if (!cuitCuilClean.matches("\\d{11}")) {
60            return new ValidationResult(false, "無効なフォーマット");
61        }
62        
63        // 部品を抽出
64        int typeCode = Integer.parseInt(cuitCuilClean.substring(0, 2));
65        int dni = Integer.parseInt(cuitCuilClean.substring(2, 10));
66        int verificationDigit = Integer.parseInt(cuitCuilClean.substring(10, 11));
67        
68        // タイプコードを検証
69        if (!VALID_TYPE_CODES.contains(typeCode)) {
70            return new ValidationResult(false, "無効なタイプコード");
71        }
72        
73        // 検証桁を計算して比較
74        int calculatedDigit = calculateVerificationDigit(typeCode, dni);
75        if (calculatedDigit != verificationDigit) {
76            return new ValidationResult(false, "無効な検証桁");
77        }
78        
79        return new ValidationResult(true, null);
80    }
81    
82    public static class ValidationResult {
83        private final boolean isValid;
84        private final String errorMessage;
85        
86        public ValidationResult(boolean isValid, String errorMessage) {
87            this.isValid = isValid;
88            this.errorMessage = errorMessage;
89        }
90        
91        public boolean isValid() {
92            return isValid;
93        }
94        
95        public String getErrorMessage() {
96            return errorMessage;
97        }
98    }
99    
100    public static void main(String[] args) {
101        // 使用例
102        System.out.println(generateCuitCuil(20, 12345678)); // 特定のDNIのために生成
103        System.out.println(generateCuitCuil(27, null)); // ランダムDNIで生成
104        System.out.println(validateCuitCuil("20-12345678-9").isValid()); // CUIT/CUILを検証
105    }
106}
107

PHP

1<?php
2
3function calculateVerificationDigit($typeCode, $dni) {
4    // 文字列に変換し、DNIを先頭にゼロを追加して8桁にする
5    $typeCodeStr = (string)$typeCode;
6    $dniStr = str_pad((string)$dni, 8, '0', STR_PAD_LEFT);
7    
8    // タイプコードとDNIを組み合わせる
9    $digits = $typeCodeStr . $dniStr;
10    
11    // 各位置の重み
12    $weights = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2];
13    
14    // 積の合計を計算
15    $sumProducts = 0;
16    for ($i = 0; $i < 10; $i++) {
17        $sumProducts += (int)$digits[$i] * $weights[$i];
18    }
19    
20    // 検証桁を計算
21    $verificationDigit = 11 - ($sumProducts % 11);
22    
23    // 特殊ケース
24    if ($verificationDigit == 11) {
25        $verificationDigit = 0;
26    } else if ($verificationDigit == 10) {
27        $verificationDigit = 9;
28    }
29    
30    return $verificationDigit;
31}
32
33function generateCuitCuil($typeCode, $dni = null) {
34    // 有効なタイプコード
35    $validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
36    
37    if (!in_array($typeCode, $validTypeCodes)) {
38        throw new Exception("無効なタイプコード。次のいずれかでなければなりません: " . implode(', ', $validTypeCodes));
39    }
40    
41    // 提供されていない場合はランダムなDNIを生成
42    if ($dni === null) {
43        $dni = rand(10000000, 99999999);
44    }
45    
46    // 検証桁を計算
47    $verificationDigit = calculateVerificationDigit($typeCode, $dni);
48    
49    // CUIT/CUILをフォーマット
50    return sprintf("%d-%08d-%d", $typeCode, $dni, $verificationDigit);
51}
52
53function validateCuitCuil($cuitCuil) {
54    // ハイフンを削除
55    $cuitCuilClean = str_replace('-', '', $cuitCuil);
56    
57    // 基本的なフォーマットをチェック
58    if (!preg_match('/^\d{11}$/', $cuitCuilClean)) {
59        return ['isValid' => false, 'errorMessage' => '無効なフォーマット'];
60    }
61    
62    // 部品を抽出
63    $typeCode = (int)substr($cuitCuilClean, 0, 2);
64    $dni = (int)substr($cuitCuilClean, 2, 8);
65    $verificationDigit = (int)substr($cuitCuilClean, 10, 1);
66    
67    // タイプコードを検証
68    $validTypeCodes = [20, 23, 24, 27, 30, 33, 34];
69    if (!in_array($typeCode, $validTypeCodes)) {
70        return ['isValid' => false, 'errorMessage' => '無効なタイプコード'];
71    }
72    
73    // 検証桁を計算して比較
74    $calculatedDigit = calculateVerificationDigit($typeCode, $dni);
75    if ($calculatedDigit !== $verificationDigit) {
76        return ['isValid' => false, 'errorMessage' => '無効な検証桁'];
77    }
78    
79    return ['isValid' => true];
80}
81
82// 使用例
83echo generateCuitCuil(20, 12345678) . "\n"; // 特定のDNIのために生成
84echo generateCuitCuil(27) . "\n"; // ランダムDNIで生成
85var_dump(validateCuitCuil("20-12345678-9")); // CUIT/CUILを検証
86?>
87

よくある質問

CUITとCUILの違いは何ですか?

CUIT(Clave Única de Identificación Tributaria)は、税識別目的で使用され、アルゼンチンで税金を支払う必要がある個人および法人に割り当てられます。CUIL(Clave Única de Identificación Laboral)は、労働者を特定するために特に使用され、労働および社会保障目的で使用されます。形式と計算アルゴリズムは同じですが、異なる管理目的に役立ちます。

個人用のタイプコードと企業用のタイプコードはどれですか?

個人の場合:

  • 20、23、24: 男性個人(CUIL)
  • 27: 女性個人(CUIL)

企業および団体の場合:

  • 30: 法人(CUIT)
  • 33: 市民団体(CUIT)
  • 34: 財団(CUIT)

検証桁はどのように計算されますか?

検証桁は、重み付け合計アルゴリズムを使用して計算されます。最初の10桁の各桁は、対応する重み(5、4、3、2、7、6、5、4、3、2)で掛け算され、その結果が合計されます。検証桁は、この合計を11で割った余りを引いた11です。特殊ケース:結果が11の場合、検証桁は0です。結果が10の場合、検証桁は9です。

このツールを使用して実際の公式CUIT/CUIL番号を生成できますか?

いいえ、このツールはテストおよび教育目的のために設計されています。生成された番号は、CUIT/CUILアルゴリズムに基づいて数学的に有効ですが、アルゼンチンの税務当局(AFIP)に公式に登録されているわけではありません。公式のCUIT/CUIL登録を行うには、個人および企業はAFIPを通じて適切な法的手続きを行う必要があります。

CUIT/CUILのバリデーションが、形式が正しいにもかかわらず失敗するのはなぜですか?

バリデーションが失敗する理由はいくつかあります:

  1. タイプコードが有効なコード(20、23、24、27、30、33、34)のいずれでもない
  2. 検証桁が計算された値と一致しない
  3. フォーマットが正しくない(XX-XXXXXXXX-Xでなければなりません)
  4. 入力に数値以外の文字が含まれている(ハイフンを除く)

CUIT/CUIL番号に桁数が8桁未満のDNI部分はありますか?

いいえ、DNI部分は常に正確に8桁でなければなりません。実際のDNIが桁数が少ない場合は、8桁に達するように先頭にゼロを追加する必要があります。たとえば、誰かのDNIが1234567の場合、CUIT/CUILでは01234567として表されます。

アルゼンチンでCUIT/CUILが公式に登録されているかどうかを確認するにはどうすればよいですか?

CUIT/CUILが公式に登録されており、アクティブであるかどうかを確認するには、公式のAFIP(Administración Federal de Ingresos Públicos)ウェブサイトまたはサービスを使用する必要があります。私たちのツールは、番号の数学的な有効性のみを検証し、その公式登録状況を確認するものではありません。

このツールを商業アプリケーションで使用できますか?

はい、このツールで示されているアルゴリズムとロジックを商業アプリケーションに統合することができます。CUIT/CUILバリデーションアルゴリズムは公共の標準です。ただし、本番環境では、適切なエラーハンドリングを実装し、必要に応じて公式ソースに対する追加のバリデーションを検討することをお勧めします。

ツールは生成されたまたはバリデートされたCUIT/CUIL番号のいずれかを保存しますか?

いいえ、このツールは入力または生成された情報を保存しません。すべての処理はブラウザ内でクライアントサイドで行われ、データは私たちのサーバーに送信または保存されません。これにより、入力された情報のプライバシーとセキュリティが確保されます。

参考文献

  1. AFIP(Administración Federal de Ingresos Públicos)。“CUIT/CUIL/CDI。”公式ウェブサイト。https://www.afip.gob.ar/

  2. 労働雇用社会保障省。“CUIL - Clave Única de Identificación Laboral。”https://www.argentina.gob.ar/trabajo

  3. ANSES(Administración Nacional de la Seguridad Social)。“私のCUILを取得。”https://www.anses.gob.ar/

  4. アルゼンチン共和国官報。“AFIP一般決議2854/2010:手続き。Clave Única de Identificación Tributaria(C.U.I.T.)。”

  5. アルゼンチン共和国税法。“納税者の識別と登録。”


アルゼンチンのCUIT/CUIL番号を生成またはバリデートする準備はできましたか?今すぐツールを試して、テストプロセスを簡素化しましょう!