PHPackages                             gridworks/laravel-houjin-bangou - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. gridworks/laravel-houjin-bangou

ActiveLibrary[API Development](/categories/api)

gridworks/laravel-houjin-bangou
===============================

Laravel package for Japanese Corporate Number (法人番号) API integration

v1.0.0(3mo ago)00MITPHPPHP ^8.2

Since Mar 13Pushed 3mo agoCompare

[ Source](https://github.com/GridworksInc/laravel-houjin-bangou)[ Packagist](https://packagist.org/packages/gridworks/laravel-houjin-bangou)[ RSS](/packages/gridworks-laravel-houjin-bangou/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Laravel Houjin Bangou (法人番号)
============================

[](#laravel-houjin-bangou-法人番号)

[![Latest Version](https://camo.githubusercontent.com/db0d83c9bacfee48059f038cbe7d3a108b9b523d3bec23e25abe01f868504e73/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f47726964776f726b73496e632f6c61726176656c2d686f756a696e2d62616e676f75)](https://github.com/GridworksInc/laravel-houjin-bangou/releases)[![Laravel](https://camo.githubusercontent.com/cda3a3caf1337c6e594a2b1be6a3166edf268a87d7254f5c4c82f1483814c1d7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d313125323025374325323031322d7265642e737667)](https://laravel.com)[![PHP](https://camo.githubusercontent.com/5fe05c705bf034839bda7651781e4d0a9d42f4a840478ca5e343873a0361bb89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322b2d626c75652e737667)](https://www.php.net)[![License: MIT](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](LICENSE)

日本の法人番号（Corporate Number）を検証し、国税庁の法人番号システムWeb-APIから企業情報を取得するLaravelパッケージです。

Developed by [Gridworks, Inc.](https://gridworks.co.jp)

機能
--

[](#機能)

- ✅ 法人番号のチェックデジット検証
- ✅ 国税庁法人番号APIからの企業情報取得
- ✅ 自動ルート登録
- ✅ 設定ファイルのカスタマイズ可能
- ✅ Laravel 11/12 対応

必要要件
----

[](#必要要件)

- PHP 8.2以上
- Laravel 11.x または 12.x
- ext-dom (XML解析用)

インストール
------

[](#インストール)

### 1. Composerでインストール

[](#1-composerでインストール)

```
composer require gridworks/laravel-houjin-bangou
```

### 2. 設定ファイルの公開（オプション）

[](#2-設定ファイルの公開オプション)

```
php artisan vendor:publish --tag=houjin-bangou-config
```

### 3. 環境変数の設定

[](#3-環境変数の設定)

`.env` ファイルに法人番号APIのアプリケーションIDを追加:

```
HOUJIN_BANGOU_APP_ID=your-application-id-here
```

**アプリケーションIDの取得方法**:

1. [国税庁法人番号システムWeb-API](https://www.houjin-bangou.nta.go.jp/webapi/)にアクセス
2. 「Web-APIの利用届出」から申請
3. 発行されたアプリケーションIDを上記に設定

使用方法
----

[](#使用方法)

### APIエンドポイント

[](#apiエンドポイント)

パッケージをインストールすると、以下のAPIエンドポイントが自動的に登録されます:

```
GET /api/corporate-number/{number}

```

**パラメータ**:

- `number`: 13桁の法人番号

**レスポンス例（成功）**:

```
{
    "name": "株式会社サンプル",
    "address": "東京都千代田区霞が関1-2-3",
    "prefecture_code": "13",
    "postal_code": "1000013"
}
```

**レスポンス例（エラー）**:

```
{
    "error": "法人番号は13桁で入力してください。"
}
```

### Vueコンポーネントでの使用例

[](#vueコンポーネントでの使用例)

```

import { ref } from 'vue'
import { useForm } from '@inertiajs/vue3'

const form = useForm({
    corporate_number: '',
    company_name: '',
    address: '',
})

const loading = ref(false)
const error = ref(null)

const fetchCompanyInfo = async () => {
    if (form.corporate_number.length !== 13) {
        return
    }

    loading.value = true
    error.value = null

    try {
        const response = await fetch(`/api/corporate-number/${form.corporate_number}`)
        const data = await response.json()

        if (response.ok) {
            form.company_name = data.name
            form.address = data.address
        } else {
            error.value = data.error
        }
    } catch (e) {
        error.value = '法人情報の取得に失敗しました。'
    } finally {
        loading.value = false
    }
}

            法人番号（13桁）

                必須

        {{ error }}

        会社名

        住所

```

### サービスクラスの直接使用

[](#サービスクラスの直接使用)

```
use Gridworks\LaravelHoujinBangou\CorporateNumberService;

// チェックデジットの検証
$isValid = CorporateNumberService::validateCheckDigit('1234567890123');

if ($isValid) {
    // API呼び出し
    $info = CorporateNumberService::lookup('1234567890123');

    if ($info) {
        echo $info['name'];        // 会社名
        echo $info['address'];     // 住所
        echo $info['postal_code']; // 郵便番号
    }
}
```

### カスタムコントローラーでの使用

[](#カスタムコントローラーでの使用)

```
use Gridworks\LaravelHoujinBangou\CorporateNumberService;
use Illuminate\Http\Request;

class CompanyController extends Controller
{
    public function store(Request $request)
    {
        $validated = $request->validate([
            'corporate_number' => 'required|digits:13',
        ]);

        // チェックデジット検証
        if (!CorporateNumberService::validateCheckDigit($validated['corporate_number'])) {
            return back()->withErrors(['corporate_number' => '法人番号が無効です。']);
        }

        // API呼び出し
        $info = CorporateNumberService::lookup($validated['corporate_number']);

        if (!$info) {
            return back()->withErrors(['corporate_number' => '法人情報が見つかりませんでした。']);
        }

        // 企業情報を保存
        Company::create([
            'corporate_number' => $validated['corporate_number'],
            'name' => $info['name'],
            'address' => $info['address'],
            'postal_code' => $info['postal_code'],
        ]);

        return redirect()->route('companies.index');
    }
}
```

設定
--

[](#設定)

`config/houjin-bangou.php` で以下の設定が可能です:

```
return [
    // 法人番号APIアプリケーションID
    'app_id' => env('HOUJIN_BANGOU_APP_ID'),

    // ログ設定
    'log_lookups' => env('HOUJIN_BANGOU_LOG_LOOKUPS', false),

    // APIタイムアウト（秒）
    'timeout' => env('HOUJIN_BANGOU_TIMEOUT', 10),
];
```

### 環境変数

[](#環境変数)

変数名説明デフォルト値`HOUJIN_BANGOU_APP_ID`法人番号APIのアプリケーションID-`HOUJIN_BANGOU_LOG_LOOKUPS`法人番号検索をログに記録するか`false``HOUJIN_BANGOU_TIMEOUT`APIタイムアウト（秒）`10`APIレスポンスフィールド
-------------

[](#apiレスポンスフィールド)

フィールド型説明`name`string法人名`address`string本店所在地`prefecture_code`string都道府県コード（2桁）`postal_code`string郵便番号（ハイフンなし7桁）チェックデジットアルゴリズム
--------------

[](#チェックデジットアルゴリズム)

法人番号のチェックデジットは以下のアルゴリズムで検証されます:

1. 法人番号の2桁目から13桁目までの各桁に重み（奇数位:2、偶数位:1）を掛ける
2. 重みを掛けた値の合計を9で割った余りを求める
3. 余りが0の場合はチェックデジットは0、それ以外は9から余りを引いた値
4. 1桁目とチェックデジットが一致すれば有効

参考: [国税庁 - 法人番号の構成](https://www.houjin-bangou.nta.go.jp/setsumei/)

トラブルシューティング
-----------

[](#トラブルシューティング)

### API呼び出しで404エラー

[](#api呼び出しで404エラー)

**原因**: アプリケーションIDが未設定または無効

**解決方法**:

1. `.env` に `HOUJIN_BANGOU_APP_ID` が設定されているか確認
2. 国税庁のWeb-APIサイトでアプリケーションIDの状態を確認
3. キャッシュをクリア: `php artisan config:clear`

### ルートが見つからない

[](#ルートが見つからない)

**原因**: ServiceProviderが登録されていない

**解決方法**:

```
# パッケージの再検出
php artisan package:discover --ansi

# キャッシュをクリア
php artisan route:clear
php artisan config:clear
```

### XMLパースエラー

[](#xmlパースエラー)

**原因**: `ext-dom` 拡張がインストールされていない

**解決方法**:

```
# Ubuntu/Debian
sudo apt-get install php8.2-xml

# macOS (Homebrew)
brew install php@8.2

# Composer autoloadの再生成
composer dump-autoload
```

テスト
---

[](#テスト)

```
# テストの実行（開発中）
composer test
```

セキュリティ
------

[](#セキュリティ)

セキュリティ上の問題を発見した場合は、公開せずに以下のメールアドレスに報告してください:

ライセンス
-----

[](#ライセンス)

このパッケージはMITライセンスの下で提供されています。詳細は [LICENSE](LICENSE) ファイルを参照してください。

開発元
---

[](#開発元)

**Gridworks, Inc.**

- Website:
- GitHub:

貢献
--

[](#貢献)

プルリクエストを歓迎します！貢献する前に、以下を確認してください:

1. コーディング規約に従う
2. テストを追加する
3. ドキュメントを更新する

参考リンク
-----

[](#参考リンク)

- [国税庁 法人番号システム Web-API](https://www.houjin-bangou.nta.go.jp/webapi/)
- [Laravel Package Development](https://laravel.com/docs/packages)
- [Gridworks Developers Guide](https://github.com/GridworksInc/developers-guide)

変更履歴
----

[](#変更履歴)

### v1.0.0 (2026-03-13)

[](#v100-2026-03-13)

- 初回リリース
- 法人番号チェックデジット検証機能
- 国税庁APIからの企業情報取得機能
- 自動ルート登録
- Laravel 11/12 対応

---

Made with ❤️ by Gridworks, Inc.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance80

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

106d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5fde8219261eb6514ac7b410f99f42fd845c149bb905880b803a1f32b522d0a5?d=identicon)[tatsuya.sato](/maintainers/tatsuya.sato)

---

Tags

apicomposer-packagecorporate-numberhoujin-bangoujapanlaravellaravel-packagentaapilaraveljapanCorporate Numberhoujin-bangou

### Embed Badge

![Health badge](/badges/gridworks-laravel-houjin-bangou/health.svg)

```
[![Health](https://phpackages.com/badges/gridworks-laravel-houjin-bangou/health.svg)](https://phpackages.com/packages/gridworks-laravel-houjin-bangou)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

815320.5k3](/packages/defstudio-telegraph)[resend/resend-laravel

Resend for Laravel

1212.2M8](/packages/resend-resend-laravel)[essa/api-tool-kit

set of tools to build an api with laravel

53386.5k](/packages/essa-api-tool-kit)[api-platform/laravel

API Platform support for Laravel

59156.3k11](/packages/api-platform-laravel)[simplestats-io/laravel-client

Analytics for Laravel. Track visitors, registrations, and payments. Discover which channels actually drive revenue, not just traffic. Server-side, GDPR compliant, ad-blocker proof.

5019.3k](/packages/simplestats-io-laravel-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
