# 協力会社の税区分による税額計算実装完了

## 実装概要

受注書のコスト項目において、協力会社が内税か外税かで税額を計算する機能を実装しました。

## 実装内容

### 1. バックエンド（PHP）

#### 既存機能の活用
- **協力会社の税区分取得**: `KTPWP_Supplier_Data::get_tax_category_by_supplier_id()` メソッドを活用
- **AJAXハンドラー**: `ktp_get_supplier_tax_category` アクションが既に実装済み
- **データベース構造**: `ktp_supplier`テーブルの`tax_category`カラムを使用

#### 税額計算ロジック
```php
// 内税計算（切り上げ）
$tax_amount = ceil($amount * ($tax_rate / 100) / (1 + $tax_rate / 100));

// 外税計算（切り上げ）
$tax_amount = ceil($amount * ($tax_rate / 100));
```

### 2. フロントエンド（JavaScript）

#### 改善された機能
- **協力会社ID取得の改善**: 複数の方法で協力会社IDを確実に取得
- **税区分取得の強化**: AJAX通信の安定性を向上
- **デバッグ機能の追加**: 動作確認を容易にするデバッグボタン

#### 主要な変更点
1. **協力会社ID取得の優先順位**:
   - 隠しフィールド（最優先）
   - data属性
   - クラス付き要素
   - select要素

2. **デバッグ機能**:
   - 画面右上にデバッグボタンを配置
   - デバッグモードON/OFF切り替え
   - 詳細なログ出力

### 3. 表示機能

#### 税区分別表示
- **内税のみ**: 「金額合計：○○円　（内税：○○円）」の1行表示
- **外税あり**: 「金額合計」「消費税」「税込合計」の3行表示

#### 利益計算
- 適格請求書ナンバーを考慮した利益計算
- 協力会社の税区分に応じた正確な税額計算

## テスト機能

### 1. PHPテストファイル
`test_supplier_tax_calculation.php` を作成
- 協力会社の税区分取得テスト
- 税額計算ロジックの検証
- データベース内の協力会社一覧表示

### 2. JavaScriptデバッグ機能
- デバッグボタンでON/OFF切り替え
- 協力会社ID取得状況の確認
- 税区分取得の詳細ログ
- 税額計算プロセスの追跡

## 使用方法

### 1. 協力会社の税区分設定
1. 管理画面で協力会社を編集
2. 「税区分」フィールドで「内税」または「外税」を選択
3. 設定を保存

### 2. コスト項目での税額計算
1. 受注書のコスト項目で協力会社を選択
2. 金額と税率を入力
3. 協力会社の税区分に応じて自動的に税額が計算される

### 3. デバッグ機能の使用
1. 画面右上の「デバッグ: OFF」ボタンをクリック
2. ブラウザの開発者ツールでコンソールを確認
3. 詳細なログが出力される

## 技術仕様

### データベース
- **テーブル**: `ktp_supplier`
- **カラム**: `tax_category` (VARCHAR(100))
- **値**: '内税' または '外税'

### API
- **エンドポイント**: `wp_ajax_ktp_get_supplier_tax_category`
- **パラメータ**: `supplier_id` (int)
- **レスポンス**: `{success: true, data: {tax_category: '内税'|'外税'}}`

### JavaScript
- **ファイル**: `js/ktp-cost-items.js`
- **主要関数**: `getSupplierTaxCategory()`, `updateProfitDisplay()`
- **デバッグ**: `window.ktpDebugMode` フラグ

## 注意事項

1. **既存のUI/UXを維持**: 操作カラムのデザインは変更していません
2. **後方互換性**: 既存のデータとの互換性を保持
3. **エラーハンドリング**: 協力会社が見つからない場合はデフォルトで「内税」を使用
4. **パフォーマンス**: キャッシュ機能を活用して高速化

## 今後の拡張予定

1. **優先度2**: インボイス対応の利益計算
2. **優先度3**: 発注メールの最適化

## 実装完了日

2025年1月27日

---

この実装により、協力会社の税区分に応じた正確な税額計算が可能になりました。 