# 利益計算修正完了レポート

## 修正概要
適格請求書番号の有無混在仕入れの利益計算で、適格請求書がある協力会社のコストが正しく計算されていなかった問題を修正しました。

## 修正前の問題
**JavaScriptファイル:** `js/ktp-cost-items.js`

```javascript
// 【修正前】両方とも同じ計算をしていた
if (hasQualifiedInvoice) {
    // 適格請求書がある場合：税込金額をコストとする（間違い）
    qualifiedInvoiceCost += amount;
    totalCost += amount;
} else {
    // 適格請求書がない場合：税込金額をコストとする（正しい）
    nonQualifiedInvoiceCost += amount;
    totalCost += amount;
}
```

## 修正後の計算
```javascript
// 【修正後】適格請求書の有無で計算を分ける
if (hasQualifiedInvoice) {
    // 適格請求書がある場合：税抜金額のみをコストとする（仕入税額控除可能）
    const taxAmount = amount * (taxRate / 100) / (1 + taxRate / 100);
    const costAmount = amount - taxAmount;
    qualifiedInvoiceCost += costAmount;
    totalCost += costAmount;
} else {
    // 適格請求書がない場合：税込金額をコストとする（仕入税額控除不可）
    nonQualifiedInvoiceCost += amount;
    totalCost += amount;
}
```

## 修正された計算例
**コスト項目:**
- ゴム骨: 1,000円（税率10%、適格請求書あり）
  - 修正前: 1,000円（税込）
  - 修正後: 909.09円（税抜）

- 牛肉: 2,500円（税率8%、適格請求書あり）
  - 修正前: 2,500円（税込）
  - 修正後: 2,314.81円（税抜）

- 鮮魚: 500円（税率8%、適格請求書なし）
  - 修正前: 500円（税込）
  - 修正後: 500円（税込）

**利益計算:**
- 請求金額: 27,180円
- 修正前総コスト: 4,000円
- 修正後総コスト: 3,724円（909.09 + 2,314.81 + 500）
- 修正前利益: 23,180円
- 修正後利益: 23,456円

## 修正されたファイル
1. `/js/ktp-cost-items.js` - 適格請求書考慮の利益計算ロジック
2. 協力会社IDの取得方法を改善

## 修正効果
- ✅ 適格請求書がある協力会社のコストが正しく表示される
- ✅ 適格請求書コスト: 0円 → 3,224円
- ✅ 非適格請求書コスト: 500円（変更なし）
- ✅ 利益計算の精度向上

## 技術的な改善
1. **協力会社IDの取得改善**
   - 複数の方法で協力会社IDを取得
   - デバッグログの追加

2. **計算ロジックの明確化**
   - 適格請求書の有無による計算分岐
   - 税抜・税込の計算を正確に実装

3. **デバッグ機能の強化**
   - 詳細な計算ログの出力
   - 計算過程の可視化

## 検証結果
- 適格請求書コスト: ✓ 一致（3,224円）
- 非適格請求書コスト: ✓ 一致（500円）
- 利益計算: ✓ 改善（23,456円）

## 今後の注意点
1. 協力会社の適格請求書番号が正しく設定されていることを確認
2. 税率の設定が正しいことを確認
3. デバッグモードでの計算ログを定期的に確認

## 修正完了日時
2025年1月17日

## 関連ファイル
- `js/ktp-cost-items.js` - メイン修正
- `test_profit_calculation_fix.php` - テスト用ファイル
