# 案件管理 会計連動設計 ## 1. 概要 本仕様書は、案件管理システムと会計システムの連動機能を定義する。 - 案件管理で入力した経費データを会計システムに転記 - 案件の売上(請求)を会計システムに転記 - 会計システム側で確認・確定後、正式な仕訳として扱う --- ## 2. 連動の基本方針 | 方向 | 対応 | |------|------| | 案件管理 → 会計 | ✅ 転記する(一方通行) | | 会計 → 案件管理 | ❌ 現時点では連動しない | **理由**: 会計システムは会計担当のみアクセス可能。案件管理から会計への転記は自動化するが、会計から案件管理への逆方向の連動は複雑になるため、現時点では実装しない。 --- ## 3. 経費連動フロー ``` 調査員/営業が経費入力 ↓ 管理者が「経費承認」(案件管理内) ↓ 承認 会計システムに転記(status: "pending"、case_id 付き) ↓ 会計担当が確認(会計システム) ├─ 問題なければ status: "confirmed" └─ 問題あれば 案件管理側に差戻し(要調整) ``` ### 3.1 経費承認の必須条件 | 条件 | 説明 | |------|------| | 領収書画像 | 原則必須(公共交通機関の一部を除く) | | 内容確認 | 経費種別、金額、実施日が正しいこと | **領収書不要の例外**: - バス、在来線、ICOCA等の公共交通機関(領収書が発行されない性質のもの) ### 3.2 経費データの会計転記 **転記タイミング**: 経費承認ボタンクリック時(案件管理内) **転記データ形式**: ```json { "id": "自動採番", "date": "実施日", "company": "SCSPS", // または "SPS" "entries": [ { "account": "旅費交通費", // 経費種別からマッピング "amount": 金額, "tax_rate": 0.1 }, { "account": "現金", "amount": 金額, "tax_rate": 0.1 } ], "description": "[案件番号] 経費内容", "case_id": "案件番号", "locked": false, "status": "pending", "receipt_path": "領収書画像パス(あれば)" } ``` --- ## 4. 売上連動フロー ``` 案件ステータスを「入金完了」に変更 ↓ 「会計連動(売上)」ボタンをクリック ↓ 会計システムに売上仕訳を転記(status: "pending") ↓ 会計担当が確認 → status: "confirmed" ``` ### 4.1 売上データの会計転記 **転記タイミング**: 入金完了ステータス変更後、「会計連動(売上)」ボタンクリック時 **転記データ形式**: ```json { "id": "自動採番", "date": "入金日", "company": "SCSPS", "entries": [ { "account": "売上高", "amount": 請求金額, "tax_rate": 0.1 }, { "account": "普通預金", "amount": 請求金額, "tax_rate": 0.1 } ], "description": "[案件番号] 調査報酬", "case_id": "案件番号", "locked": false, "status": "pending", "receipt_path": "" } ``` --- ## 5. 会計システムでの状態遷移 ### 5.1 status フィールドの定義 | status | 意味 | 集計対象 | 編集 | 備考 | |--------|------|---------|------|------| | `pending` | 未確認(案件管理から転記) | ❌ 対象外 | ✅ 可能 | 案件管理からの転記データ | | `confirmed` | 確定済み | ✅ 対象 | ✅ 可能 | 会計担当が確認済み | | `locked` | 申告済みロック | ✅ 対象 | ❌ 不可 | 確定申告後にロック | ### 5.2 会計担当の操作 1. 仕訳一覧に `status: "pending"` のデータが表示される 2. 内容確認、領収書画像確認 3. 問題なければ「確定」ボタン → `status: "confirmed"` 4. 問題があれば「差戻し」ボタン → 案件管理側に通知(別途実装要検討) --- ## 6. API仕様 ### 6.1 経費転記API(案件管理→会計) **エンドポイント**: `POST /master/api/transfer_expense.php` **リクエスト**: ```json { "case_id": "L01R0709001A", "expense_ids": ["exp_001", "exp_002"], "approved_by": "00004" } ``` **レスポンス(成功)**: ```json { "success": true, "transferred": [ { "expense_id": "exp_001", "journal_id": "1734567890123.456" }, { "expense_id": "exp_002", "journal_id": "1734567890456.789" } ] } ``` **レスポンス(エラー)**: ```json { "success": false, "error": "経費データに領収書が添付されていません" } ``` ### 6.2 売上転記API(案件管理→会計) **エンドポイント**: `POST /master/api/transfer_revenue.php` **リクエスト**: ```json { "case_id": "L01R0709001A", "invoice_id": "inv_001", "payment_date": "2026-01-15" } ``` **レスポンス(成功)**: ```json { "success": true, "journal_id": "1734567890789.012" } ``` --- ## 7. 会計システム側の受入処理 ### 7.1 仕訳保存API(既存) 会計システムの `save_journals.php` をそのまま利用。 - 案件管理からの転記データも通常の仕訳と同じ形式で保存 - `status` フィールドに `"pending"` をセット - `case_id` フィールドに案件番号をセット ### 7.2 会計システムの仕訳一覧表示 仕訳一覧(`journal.html`)に「未確認(案件管理)」エリアを追加。 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 未確認(案件管理から転記) │ ├─────────────────────────────────────────────────────────────────┤ │ 日付 │ 摘要 │ 借方科目 │ 借方金額 │ ステータス │ │ 2025-10-19│ L01R0709001A 高速料金 │ 旅費交通費│ 800 │ pending │ │ │ │ │ │ [確認] │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## 8. 勘定科目マッピング | 経費種別 | 借方勘定科目 | 貸方勘定科目 | |---------|-------------|-------------| | 車両移動費 | 旅費交通費 | 現金 | | 高速料金 | 旅費交通費 | 現金 | | 駐車料金 | 旅費交通費 | 現金 | | 面談時喫茶代 | 会議費 | 現金 | | 公共交通機関 | 旅費交通費 | 現金 | | 機材購入費 | 消耗品費 | 現金 | | 宿泊費 | 旅費交通費 | 現金 | | 外部機関鑑定料 | 外注費 | 現金 | | 医師面談料 | 外注費 | 現金 | **売上**: | 項目 | 借方勘定科目 | 貸方勘定科目 | |------|-------------|-------------| | 調査報酬 | 普通預金 | 売上高 | --- ## 9. エラーハンドリング | エラー | 表示メッセージ | 対応 | |--------|--------------|------| | 領収書未添付 | 「領収書が添付されていません。領収書をアップロードしてください。」 | 経費入力画面へ誘導 | | 承認未実施 | 「経費が承認されていません。先に経費承認を行ってください。」 | 承認依頼を促す | | 会計システム連携エラー | 「会計システムへの転記に失敗しました。しばらく経ってから再試行してください。」 | 再試行ボタン表示 | --- ## 10. 関連仕様書 | # | 仕様書 | 内容 | |---|--------|------| | 1 | `01_case_management.md` | 案件管理全体設計 | | 2 | `02_case_data_structure.md` | 案件データ構造 | | 4 | `04_case_input_screens.md` | 入力画面設計 | | 7 | `07_accounting/11_receipt_ocr.md` | 領収書OCR設計 | | 8 | `07_accounting/02_journal_spec.md` | 仕訳帳詳細仕様 | --- ## 改訂履歴 | 日付 | 版 | 担当 | 内容 | 理由・影響範囲 | |------|----|------|------|--------------| | 2026-03-24 | 1.0 | 案件管理担当 | 初版作成 | 案件管理と会計システムの連動定義 |