> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 法人登記API：KYBデータ抽出の自動化

> Diditの法人登記APIで、220+か国の登記照会、法人ステータス確認、データ抽出を自動化。料金は国とレベルに応じてチェック1件あたり$2.00から、契約不要です。

法人確認セッションが開始されると、Diditは公式の法人登記を照会して企業情報を取得し、検証します。この自動照会が、法人確認プロセス全体の基盤となります。

## 法人登記の照会

Diditは、対応国の法人登記に接続して公式データを取得します。ホスト型フローでは、ユーザーが設立国を選択し、会社名、登記番号、またはその両方を入力します。少なくともいずれか一方の入力が必須です。登記番号は、登記機関が求める場合に正規化されます(たとえば、英国の会社番号は先頭をゼロで埋めて8桁にします)。両方の識別子が入力された場合、法人登記の照会では両者を組み合わせて検索します。

### `expected_details`で検索項目を事前入力する

対象企業がすでに分かっている場合は、[セッションの作成](https://docs.didit.me/ja/sessions-api/create-session.md)時に`expected_details`(`company_name`、`registry_country`、`registration_number`)を渡します。ホスト型フローでは国(`US-CA`のような州単位の登記機関の場合は州も)が事前に選択されてロックされ、対応する検索フィールドが事前入力されたうえで、指定された内容での検索が自動的に実行されます。ユーザーは自社の検索結果に直接移動します。指定内容が誤っていた場合にユーザーが修正できるよう、両方のフィールドは編集可能なままです。これは事前入力のみを目的とした機能であり、指定された企業とは別の企業を選択しても警告は発生しません。

### 検索タイプ

法人登記の検索には2つのモードがあります。

| モード | 説明 |
| - | - |
| **完全一致** | 会社名または登記番号と正確に一致するものを検索します |
| **含む** | 名称に検索語を含む企業を検索します。正式な法人名が分からない場合に便利です |

### 検索の流れ

法人登記の照会は、次の非同期の流れで進みます。

**1. 検索**

Diditは、選択された国と入力された識別子(会社名、登記番号、またはその両方の組み合わせ)を使って法人登記に照会します。レスポンスの`searched_by`フィールドは、結果の照合方法(`name`、`registration_number`、または`registration_number_and_name`)を示します。また、ホスト型UIでは、登記番号による検索結果に対して、ワンタップで会社名として検索し直せる「Search as company name instead」オプションが表示されます。検索は非同期で実行されます。

**2. 結果をポーリング**

結果が確定するまで検索ステータスをポーリングします。大規模な登記機関では、結果が返るまでに数秒かかる場合があります。

**3. 企業を選択**

返された企業を確認し、正しく一致する企業を選択します。Diditは選択された企業をKYBチェックに紐付け、利用可能なすべてのデータを反映します。

**4. 確認して続行**

企業情報を確認または修正し、次に設定されているステップへ進みます。
登記機関によっては、所有構造レポートの準備が整う前に企業プロフィールを返す場合があります。その場合、申請者が書類のアップロードなど、レポートに依存しないステップを進めている間、レポートの取得はバックグラウンドで継続されます。
法人登記からの事前入力が主要人物フォームの入力を妨げることはありません。申請者は人物を手動で入力でき、レポートが届くと、送信前に法人登記から取得できた人物が表示されます。
レポートに依存するカスタムの判定は、結果を推測することなく、レポートの到着を待ちます。
レポートが届いても、ユーザーが行った修正は保持されます。
保留中のレポートは、完了した法人登記チェックや自動承認としては扱われません。法人登記の請求は、実際に提供されたレベルに基づいて行われます。

**5. 手動送信**

法人登記で企業が見つからない場合は、企業データを手動で送信します。セッションは入力されたデータで続行され、`is_from_registry`は`false`に設定されます。

### 取得されるデータ

| フィールド | 説明 |
| - | - |
| `company_name` | 当局に登記されている正式な法人名 |
| `registration_number` | 公式の会社登記番号または設立番号 |
| `country_code` | 設立国(ISO 3166-1 alpha-3) |
| `company_type` | 法人形態(Ltd、LLC、PLC、SA、GmbH、SLなど) |
| `registry_status` | 法人登記上の現在の会社ステータス(`active`、`dissolved`、`struck_off`など) |
| `incorporation_date` | 会社が最初に登記された日付 |
| `registered_address` | 公式の登記上の本店所在地 |
| `tax_number` | 納税者番号(取得可能な場合) |
| `alternative_names` | 商号、DBA、旧法人名、または原語表記の名称(テキスト値) |
| `legal_entity_identifier` | LEI(金融機関および上場企業向け) |
| `nature_of_business` | 事業内容の簡潔な説明(登記機関の言語で記載) |
| `registered_capital` | 授権資本または発行済資本(`{amount, currency}`オブジェクト) |
| `location_of_registration` | 登記を管轄する登記機関の市区町村または地域 |
| `control_scheme` | 支配・ガバナンスの形態(登記機関が公開している場合) |
| `website`, `email`, `phone` | 法人登記に記録されている連絡先情報 |
| `addresses[]` | その他の登記上の住所または営業所の住所 |
| `industries[]` | 業種分類コード(SIC、NACE、または各国の同等のコード) |
| `accounts` | 報告されている場合の届出日(`last_annual_return_date`と`last_agm_date`を含む)。年次申告や年次株主総会は、財務諸表とは別のものです。 |
| `financial_summary` | 登記機関が公開している場合の財務データの概要(売上高、従業員数、届出状況) |
| `confirmed_by_user_at` | エンドユーザーが法人登記のデータを確認または編集した日時 |
| `last_console_edit_at` | アナリストがコンソール上で最後に編集した日時 |
| `is_editable` | ホスト型フローでエンドユーザーが法人登記由来のデータをまだ編集可能な間は`true` |
| `is_from_registry` | 法人登記由来の企業の場合は`true`、手動入力の場合は`false` |
| `fetch_status` | `pending`、`resolved`、または`failed`(法人登記の照会状態) |
| `verification_status` | `verified`、`failed`、または`unknown` |

### 会社ステータス

| ステータス | 説明 |
| - | - |
| **有効** | 会社は現在活動中であり、良好な状態にあります |
| **解散** | 会社は正式に解散しています |
| **登記抹消** | 登記簿から抹消されています(法令違反などによる) |
| **清算中** | 会社は清算手続き中です |
| **休眠** | 登記はされているものの、現在は事業を行っていません |

> [!WARNING]
>
> ステータスが**有効**以外の企業は、ワークフローの設定に応じて、自動的にフラグが付けられるか、却下される場合があります。

### データソースの表示

各企業レコードには`is_from_registry`フラグが含まれます。

* **`true`**: データは公式の法人登記から取得されました
* **`false`**: 企業が法人登記で見つからなかったため、データは手動で提出されました

`fetch_status`フィールドは、登記照会が完了したか、失敗したか、まだ処理中かを示します。

## データレベルと料金

ホスト型フローでは、申請者が詳細を確認する前や認証を完了する前に離脱した場合でも、企業を選択した時点で登記照会の料金が発生します。
選択時にレポートの準備ができている場合は、提供されたレベルの料金が即時に請求されます。
所有構造がまだ保留中の場合は、選択時にLiteの料金が請求され、より上位のレベルが提供された時点で差額のみが請求されます。
所有構造を取得できない場合、所有構造の追加料金は発生しません。
合計金額には選択時に提示された料金が適用され、リクエストしたレベルの見積額を超えることはありません。
選択とその後の所有構造に関する調整は1件の登記照会として計上されます。購入したレポートの閲覧やその詳細の確認で再度請求されることはありません。
既存の定額契約では、選択時に1件の登記照会が計上され、後から所有構造が提供されても2つ目の契約単位は計上されません。
ホスト型ワークフローでの検索には、別途検索料金はかかりません。
スタンドアロンAPIでの検索では、成功したリクエスト1件あたり\$0.50の料金が発生する場合があります。詳しくは[検索の請求](https://docs.didit.me/ja/standalone-apis/kyb-registry-search.md)を参照してください。国別の料金表の全体は[KYB登記照会の料金](https://docs.didit.me/ja/getting-started/kyb-registry-pricing.md)を参照してください。

| レベル | 取得できる内容 |
| - | - |
| **Lite** | 上記のフィールド：企業プロフィール、識別子、ステータス、登記住所、事業内容、役員 |
| **株主** | Liteの内容に加え、直接の株主（自然人および法人）とその持株比率の範囲 |
| **UBO** | 株主レベルの内容に加え、所有構造のチェーンをたどって特定された最終的な実質的支配者 |

ホスト型ワークフローでは、*Workflows → KYB Registry Check → Countries*で国ごとにレベルを選択します。登記にその企業の所有構造の記録がない場合、株主またはUBOのリクエストは、その国の登記が提供できる最上位のレベル（通常はLite）で提供され、そのレベルで請求されます。

見つからずに手動で入力された企業（`is_from_registry: false`）には、一律**\$0.75**が請求されます。登記レコードが返されなかった場合でも、検索自体は実行されているためです。

> [accordion] 例：Liteレベルのレスポンス
>
> Liteでは企業プロフィールのみが返され、株主、UBO、所有構造は含まれません。
>
> ```json theme={null}
> {
>   "company_name": "ACME HOLDINGS PTY LTD",
>   "registration_number": "094447122",
>   "country_code": "AU",
>   "registry_status": "active",
>   "incorporation_date": "2000-09-12",
>   "company_type": "Proprietary Limited",
>   "registered_address": "Sydney, NSW, 2000",
>   "tax_number": null,
>   "vat_number": null,
>   "website": null,
>   "is_from_registry": true
> }
> ```
>
> 株主レベルでは、`ownership_structure`と株主のエントリに加え、取締役・役員が追加されます。UBOレベルではさらに、実質的支配者が所有比率とともに特定されます。[所有構造](https://docs.didit.me/ja/business-verification/ownership.md)と[役員・取締役](https://docs.didit.me/ja/business-verification/officers.md)を参照してください。

## 登記データとユーザー提供データ

Diditは、登記から返されたデータとユーザーが確認したデータを**別々の監査レコード**として保持し、後続のチェックではそれらを統合した正規ビューを使用します。各企業には、相互に関連する3つのブロックがあります。

| フィールド | 説明 |
| - | - |
| `registry_data` | Diditが正規化した登記の詳細情報です。所有構造の取得結果（`ownership_error`、`section_errors`、`ubo_resolution`）、[update-data](https://docs.didit.me/ja/sessions-api/update-data.md)で行われた修正、および専用のフィールドを持たない登記上の事実が含まれます。キーは企業によって異なり、安定した仕様ではありません。 |
| `user_provided_data` | ホスト型フローの登記確認ステップで、エンドユーザーが確認または編集した内容です。 |
| トップレベルの正規フィールド（`company_name`、`registration_number`、`country_code`、`incorporation_date`など） | 統合された正規データです。ユーザーが確認したデータがあればそれを使用し、なければ登記データを使用します。後続の機能（書類のOCRクロスチェック、AMLスクリーニング、リスク評価）は、この正規ビューに対して実行されます。 |

`confirmed_by_user_at`タイムスタンプは、エンドユーザーが登記データを確認または編集した日時を示します。このタイムスタンプがまだnullで、`is_editable`が`true`の間は、エンドユーザーはホスト型フロー内でフィールドを引き続き変更できます。

**手動入力された企業**（`is_from_registry: false`）の場合、`user_provided_data`が唯一のソースとなり、ユーザーが送信した後は`is_editable`が`false`になります。

アナリストは[Business Console](https://docs.didit.me/ja/business-verification/console.md)のセッションレビューで2つのソースを並べて表示し、登記の内容とユーザーが確認した内容の差分を比較できます。

## 設定可能な登記フォームのフィールド

ホスト型検証フローの登記確認ステップで、どの企業データのフィールドを入力させるかを制御できます。設定はBusiness Consoleで行います。ワークフローエディターを開き、**KYB Registry check**ノードを選択して、**Fields**タブに切り替えてください。

各フィールドは、次の3つの状態のいずれかを取ります。

| 状態 | 動作 |
| - | - |
| **非表示** | フィールドはホスト型フローに表示されず、収集されません。 |
| **任意** | フィールドは表示されますが、ユーザーは空欄のままにできます。 |
| **必須** | フィールドは表示され、ユーザーが送信する前に入力する必要があります。 |

次の3つのフィールドは常に表示され、常に必須です。これらは企業を特定するためのもので、設定を変更することはできません。対象は`company_name`、`country_code`、`region`(登記が地域単位で管理されている場合の州・地域)です。

設定可能な16個のフィールドは次のとおりです。

`registration_number`, `incorporation_date`, `legal_address`, `vat_number`, `alternative_names`, `tax_number`, `company_type`, `legal_entity_identifier`, `location_of_registration`, `nature_of_business`, `registered_capital_amount`, `registered_capital_currency`, `website`, `email`, `phone`, `control_scheme`

デフォルトでは(既存のすべてのワークフローを含め)、**必須**は`incorporation_date`のみで、その他の設定可能なフィールドはすべて**任意**です。そのため、フォームはこの設定が導入される前とまったく同じように動作します。

必須かどうかはサーバー側で強制されます。必須フィールドが空のまま登記フォームを送信すると、フィールドごとのエラーメッセージとともに`400`が返されます。また、ホスト型UIには有効化されたフィールドのみが表示されます。ワークフローAPIでは、この設定はKYB Registryノードの`kyb_registry_fields_config`オブジェクトです。構造については[機能設定](https://docs.didit.me/ja/management-api/workflows/feature-configs.md#kyb登記)を参照してください。

> [!NOTE]
>
> **必須**に設定した`vat_number`は、EUのVAT対象国(後述)で設立された企業に対してのみ強制されます。それ以外の国では、収集すべきEU VAT番号が存在しないため、必須に設定していても任意として扱われます。なお、それらの国の企業の`tax_number`は、入力された場合は引き続き検証されます。

## VATおよび納税者番号の検証

登記ステップが送信されると、Didit は企業の `vat_number` を、その国の公式ソースと照合して検証します。
`vat_number` がない企業の場合は、代わりに `tax_number` を検証します。
番号は国プレフィックスの有無や区切り文字の種類を問わず送信できます（ドイツ企業の場合、`DE 123 456 789`、`DE123456789`、`123456789` はいずれも同じ番号として扱われます）。

**公式登記簿。** 以下の国では、番号を政府または公式の商業登記簿とリアルタイムで照合します。登記簿からは登録名称（多くの国では住所も）が返されます。

| 国 | ソース |
| - | - |
| EU加盟27か国および北アイルランド（`XI`） | 欧州委員会の[VIES](https://ec.europa.eu/taxation_customs/vies/) |
| ポーランド | VIES。VIESに掲載されていない企業については、財務省のVAT納税者登録簿（「ホワイトリスト」） |
| ノルウェー | ブレンネイスン登記センター（法人中央調整登記簿） |
| スイス | 連邦統計局のUID登録簿 |
| ブラジル | 連邦歳入庁（Receita Federal）のCNPJ登録簿 |
| コロンビア | RUES（商工会議所の統一企業・社会登記簿） |
| コスタリカ | 財務省（Hacienda）の納税者登録簿 |
| エクアドル | 国税庁（SRI）の納税者登録簿 |
| パラグアイ | 国家税務局（DNIT）のRUC登録簿 |

VAT番号として送信されたフランスのSIRENまたはSIRET、オランダのRSIN、ハンガリーの完全な納税者番号は、照合前に対応するVAT番号に変換されます。
ギリシャのVAT番号は、自動的に`EL`プレフィックスで照合されます。

**チェックディジットルール。** 以下の国では照会できる登記簿がないため、番号はその国の公式な形式とチェックディジットのルールに基づいて検証されます。対象国はアルバニア、アンドラ、アルゼンチン、オーストラリア、アゼルバイジャン、ベラルーシ、カナダ、チリ、中国、ドミニカ共和国、エジプト、エルサルバドル、ガーナ、グアテマラ、アイスランド、インド、インドネシア、イスラエル、日本、ケニア、リヒテンシュタイン、メキシコ、モルドバ、モナコ、モンテネグロ、モロッコ、モザンビーク、ニュージーランド、北マケドニア、ペルー、ロシア、サンマリノ、セルビア、シンガポール、南アフリカ、韓国、台湾、タイ、チュニジア、トルコ、ウクライナ、英国、米国、ウルグアイ、ベネズエラ、ベトナムです。
EU域内でも、`tax_number`が照合すべきVAT番号を持たない国内の納税者番号（ドイツのSteuernummerなど）である場合は、これらのルールが適用されます。
`tax_number`は納税者番号であることを示すだけで、VAT登録を示すものではありません。そのため、VIESに掲載されていない場合、結果は`invalid`ではなくこれらのルールによる検証にフォールバックします。

上記以外の国の企業には`vat_validation_status: "not_applicable"`が返されます。
サンドボックスのセッションも同様で、税務登記簿に照会することはありません。

結果は企業に保存され、[KYB判定ペイロード](https://docs.didit.me/ja/business-verification/response-schema.md#companyブロック)で公開されます。

| フィールド | 説明 |
| - | - |
| `vat_number` | 送信されたままのVAT番号 |
| `vat_validation_status` | `valid`、`invalid`、`format_valid`、`invalid_format`、`could_not_validate`、`not_applicable`のいずれか |
| `vat_validated_number` | 照合に使われた番号で、ソース側での表記に基づくもの（例：SIRENから導出されたVAT番号） |
| `vat_validation_source` | ステータスを決定したソース（下記参照） |
| `vat_validated_name` | ソースに登録されている名称（ソースが開示する場合） |
| `vat_validated_address` | ソースに登録されている住所（ソースが開示する場合） |
| `vat_checked_at` | 照合のタイムスタンプ |

| ステータス | 意味 |
| - | - |
| `valid` | 公式登記簿により、番号が登録済みかつ有効であることが確認されました |
| `invalid` | 公式登記簿に、この番号の有効な登録がありません。EUでは、VIESに掲載されるのはEU域内取引の登録を行っている企業のみです |
| `format_valid` | 番号はその国の形式とチェックディジットのルールを満たしています。登記簿への照会は行われていません |
| `invalid_format` | 番号がその国の形式またはチェックディジットのルールを満たしていません |
| `could_not_validate` | 登記簿が利用できなかったため、番号を照合できませんでした。次回登記チェックが実行される際に再度照合されます |
| `not_applicable` | VAT番号も納税者番号も提供されていない、その国に登記簿やルールがない、またはセッションがサンドボックスのセッションです |

`vat_validation_source`は`eu_vies`、`pl_vat_white_list`、`no_brreg`、`ch_uid_register`、`br_receita_federal`、`co_rues`、`cr_hacienda`、`ec_sri`、`py_dnit`、`format_rules`のいずれかです。

番号が`valid`、`invalid`、`format_valid`、`invalid_format`のいずれかになると、その結果はセッションの終了まで保持され、番号が変更されない限り登記簿への再照会は行われません。

**名称のクロスチェック。** 番号が`valid`で、ソースが登録名称を開示している場合、Didit はその名称を送信された企業名とあいまい比較します。
大きな相違がある場合は`KYB_COMPANY_VAT_NAME_MISMATCH`警告が発生しますが、セッションのステータスは変わりません。これはレビュアー向けのソフトシグナルです。
その`additional_data`には`registry_name`、`registry_source`、`submitted_name`が含まれ、ソースがVIESの場合は`vies_name`も含まれます。
EU加盟国の中には名称や住所を開示しない国もあり、その場合はフィールドが空で返され、比較は実行されません。

**設定可能なアクション。** KYB登記チェックノードの2つの設定で、照合が成功しなかった場合にセッションへ与える影響を制御します（値は`REVIEW`、`DECLINE`、`NO_ACTION`）。

| 設定 | 発動条件 | デフォルト |
| - | - | - |
| `kyb_vat_invalid_action` | `vat_validation_status`が`invalid`の場合、または`vat_number`が`invalid_format`の場合 | `REVIEW`（セッションはレビュー中になります） |
| `kyb_vat_unverified_action` | `vat_validation_status`が`could_not_validate`の場合 | `NO_ACTION`（セッションに影響しません） |

`invalid_format`となった`tax_number`は、ペイロードで報告されますがアクションはトリガーされません。自由記述の税フィールドには、別の企業識別子が入力されていることが多いためです。

各結果では、登記チェックに対応する警告（`KYB_COMPANY_VAT_INVALID`、`KYB_COMPANY_VAT_COULD_NOT_VALIDATE`）も発生します。詳しくは[法人確認の警告](https://docs.didit.me/ja/business-verification/warnings.md#kyb登記の警告)を参照してください。

## データの照合

Diditは、ユーザーが入力したデータまたは基準データを、法人登記から返されたデータおよびアップロードされた書類からOCRで抽出したデータと自動的に照合します。

* **会社名**：略称や表記の違いを考慮したあいまい一致
* **登記番号**：完全一致による検証
* **国**：入力された国と法人登記上の国の整合性チェック
* **住所**：比較のためのジオコーディングと正規化

不一致はすべてセッション内で警告としてフラグ付けされ、コンソールでアナリストが確認できます。

## 財務概要

取得可能な場合、Diditは法人登記から財務データの概要を取得します。

* 売上高
* 従業員数
* SIC/NACE業種コード
* 提出日とコンプライアンス状況

## その他の法人登記フィールド

法域ごとの対応範囲によっては、法人登記のレスポンスに以下が含まれる場合もあります。

* `alternative_names`：商号、DBA(屋号)、旧法人名
* `legal_entity_identifier`(LEI)：金融機関および上場企業向け
* `website`、`email`、`phone`：法人登記に登録されている連絡先情報
* `nature_of_business`：事業内容の簡単な説明(法人登記の言語で記載)
* `registered_capital`：授権資本/発行済資本を表す`{amount, currency}`オブジェクト

すべてのフィールドは、KYB判定の[`business`](https://docs.didit.me/ja/business-verification/response-schema)ブロックに格納されます。

## 信頼度と検証ステータス

法人登記の各レスポンスには`verification_status`が含まれます。

| 値 | 意味 |
| - | - |
| `VERIFIED` | 法人登記で一致が見つかり、データを取得できました。 |
| `FAILED` | 法人登記で一致が見つかりましたが、データの取得に失敗しました(例:部分的なレスポンス)。 |
| `UNKNOWN` | いずれの法人登記でも企業が見つかりませんでした。 |

`is_from_registry`と組み合わせて、後続の独自ロジックを制御できます。

| `is_from_registry` | `verification_status` | 意味 |
| - | - | - |
| true | VERIFIED | 公式の法人登記と照合して完全に検証済み |
| true | FAILED | 部分的:一部のフィールドが古いか欠落している可能性があります |
| false | UNKNOWN | ユーザーが入力したデータのみ。法人登記との一致なし |

## 照合結果

各照合はフィールドごとに実行され、次のいずれかを返します。

* `MATCH`:入力されたデータが法人登記と一致しています。
* `MISMATCH`:重要な不一致があります。警告としてフラグが付けられます。
* `NO_DATA`:一方が空のため、比較できません。

不一致は、コンソールのセッションレビューでフィールドごとに確認できます。

## 判定結果を左右する要素

企業のステータス、設立国、AMLの結果、申告データとの一致状況は、法人登記チェックとAMLスクリーニングの警告タグとして判定に反映されます。
各警告に対して承認、レビュー、却下のいずれとするかは、ワークフローで決まります。
シグナルとそれを制御するワークフローのキーについては、[リスク評価](https://docs.didit.me/ja/business-verification/risk-assessment.md)を参照してください。

## 対応国

対応範囲は国によって異なります。地域ごとのレベル別の内訳は[対応国](https://docs.didit.me/ja/business-verification/supported-countries.md)を参照してください。

## 次のステップ

> [card] [所有構造](https://docs.didit.me/ja/business-verification/ownership.md)
>
> UBOの特定と所有構造の連鎖。

> [card] [レスポンススキーマ](https://docs.didit.me/ja/business-verification/response-schema.md)
>
> 各フィールドがペイロードのどこに含まれるか。

> [card] [対応国](https://docs.didit.me/ja/business-verification/supported-countries.md)
>
> 地域別の対応範囲。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.