## 07_accounting/01_system_design.md # 会計システム 設計書 ## 1. システム概要 ### 1.1 目的 - 個人事業(SPS)と法人(SCSPS)の会計処理を一元管理 - 仕訳入力から決算書・申告書までをカバー ### 1.2 対象 - 個人事業:SPS(1/1〜12/31 確定申告) - 法人:SCSPS(7/1〜6/30 法人税申告) ### 1.3 基本原則 - 複式簿記(仕訳帳ベース) - インボイス制度対応(適格請求書) - 消費税:簡易課税 - **年を意識しない入力**(日付で自動判別) ## 2. 機能一覧 ### 2.1 日次処理(共通) | 機能 | ファイル名 | 状態 | |------|------------|------| | 仕訳入力 | common/accounting/journal.html | 🔄 修正中 | ### 2.2 月次処理(共通) | 機能 | ファイル名 | 状態 | |------|------------|------| | 総勘定元帳 | common/accounting/ledger.html | ✅ 基本OK | | 試算表 | common/accounting/trial.html | ✅ 基本OK | | 月次損益 | common/accounting/monthly.html | ⬜ 未実装 | | 資金繰り表 | common/accounting/cashflow.html | ⬜ 未実装(法人のみ) | ### 2.3 年次処理(決算・申告) | 機能 | ファイル名 | 状態 | 備考 | |------|------------|------|------| | 損益計算書 | common/accounting/pl.html | ✅ 基本OK | 共通 | | 貸借対照表 | common/accounting/bs.html | ✅ 基本OK | 共通 | | 勘定科目内訳書 | common/accounting/schedule.html | ⬜ 未実装 | 共通 | | 固定資産台帳 | common/accounting/fixed_asset.html | ⬜ 未実装 | 共通 | | 確定申告(個人) | private/accounting/tax.html | ✅ 実装済 | 個人事業専用 | | 法人税申告(法人) | corporate/accounting/corporate.html | ✅ 実装済 | 法人専用 | | 消費税申告書 | common/accounting/consumption_tax.html | ⬜ 未実装 | 共通 | ### 2.4 設定(共通) | 機能 | ファイル名 | 状態 | |------|------------|------| | 勘定科目マスタ | common/accounting/settings.html | ⬜ 未実装 | ### 2.5 一括操作機能(未申告対応) | 機能 | 用途 | |------|------| | 借方/貸方入れ替え | 個人←→法人の振替時の貸借逆転対応 | | 別期間に移動 | 今年入力したデータを過去年に移す(コピー→移動) | | 会社間で移動 | 個人事業↔法人の振替 | | 年を一括変更 | まとめ入力後の年次振分 | | 勘定科目一括変更 | 入力ミス修正 | | ソート | 時系列整理(日付順) | | 削除 | 重複除去 | ### 2.6 申告済みデータの扱い - 確定申告(private/accounting/tax.html)または法人税申告(corporate/accounting/corporate.html)で「申告済」にしたデータは**ロック** - 一括操作の対象外(選択できない/グレーアウト) - 修正が必要な場合は「修正申告モード」で解除(要確認) ## 3. 画面構成 ### 3.1 会計TOP(common/accounting/index.html) ``` ┌─────────────────────────────┐ │ 会社: [SPS ▼] 期間: [2024 ▼]│ ├─────────────────────────────┤ │ 【日次処理】 │ │ 仕訳入力 │ ├─────────────────────────────┤ │ 【月次処理】 │ │ 総勘定元帳 試算表 月次損益│ ├─────────────────────────────┤ │ 【年次処理】 │ │ 損益計算書 貸借対照表 │ │ 勘定科目内訳書 固定資産台帳│ │ [個人事業確定申告] [法人税申告]│ ← 権限に応じて表示 │ 消費税申告 │ ├─────────────────────────────┤ │ 【設定】 │ │ 勘定科目設定 │ └─────────────────────────────┘ ``` ### 3.2 仕訳入力画面(common/accounting/journal.html) ``` ┌─────────────────────────────────────┐ │ 日付: [2024-03-12] 会社: [SPS ▼] │ │ 借方科目: [現金 ▼] 借方金額: [10000]│ │ 貸方科目: [売上高 ▼] 貸方金額: [10000]│ │ 税区分: [10% ▼](デフォルト10%) │ │ 摘要: [売上 A社] │ │ [登録] │ ├─────────────────────────────────────┤ │ 日付 科目 借方 貸方 税区分 │ │ 3/12 現金 10,000 - 10% │ │ 3/12 売上高 - 10,000 10% │ └─────────────────────────────────────┘ ``` ### 3.3 ログイン時TOPページ振り分け - ユーザーの「現在契約CD」と権限に基づき、アクセス可能な会社を判定 - アクセス可能な会社が1つの場合:その会社のデータのみ表示(会社切替なし) - アクセス可能な会社が2つの場合:会社切替プルダウン付きで表示 - 申告ボタンは権限に応じて表示/非表示を制御 ## 4. データ構造 ### 4.1 仕訳データ(期間非依存) ```json { "id": "J20240312-001", "date": "2024-03-12", // 日付が「年」を決める "company": "SPS", // SPS / SCSPS "business": "INV", // 事業コード "branch": "01", // 拠点コード "entries": [ { "account": "現金", "debit": 10000, "credit": 0, "tax_type": "10%", // 10% / 8% / 非課税 / 免税 "tax_amount": 909 // 消費税額(自動計算) }, { "account": "売上高", "debit": 0, "credit": 10000, "tax_type": "10%", "tax_amount": 909 } ], "description": "売上 A社", "case_id": "S01R0203001A", // 案件番号(任意) "created_by": "SPS01-00001", "locked": false // true=申告済(編集不可) } ``` ### 4.2 勘定科目マスタ(master/accounts.json) ```json { "accounts": [ { "code": "現金", "name": "現金", "type": "asset", "tax": "0%", "for": ["SPS", "SCSPS"] }, { "code": "売上高", "name": "売上高", "type": "income", "tax": "10%", "for": ["SPS", "SCSPS"] }, { "code": "事業主借", "name": "事業主借", "type": "liability", "tax": "0%", "for": ["SPS"] }, { "code": "資本金", "name": "資本金", "type": "equity", "tax": "0%", "for": ["SCSPS"] } ] } ``` ### 4.3 税区分と消費税処理 - **入力方式:総額入力(税込金額)** - システムが自動で本体価格と消費税に分解 - 税区分はプルダウン選択(デフォルト10%) | 優先度 | 税区分 | 使用シーン | |--------|--------|-----------| | ① デフォルト | 10% | ほとんど全て | | ② たまに | 非課税 | 郵便切手、印紙、預金 | | ③ まれに | 8% | 飲食料品(パーティー用食材など) | 損益計算書(pl.html)、月別売上内訳(monthly.html)、確定申告(tax.html)における売上・経費の集計は、科目マスタ(`/master/accounts.json`)の `type` フィールドに基づいて動的に行う。 - **売上集計**:`type: "income"` の科目に該当する仕訳の貸方金額(税込)を集計 - **経費集計**:`type: "expense"` の科目に該当する仕訳の借方金額(税込)を集計 これにより、科目の追加・変更があっても各画面が自動的に追従する。 ## 5. 保存先 ### 5.1 プログラムファイル ``` /backoffice/common/accounting/ # 共通会計ファイル(日常処理) /backoffice/private/accounting/ # 個人事業固有(申告処理) /backoffice/corporate/accounting/ # 法人固有(申告処理) ``` ### 5.2 データ保存(サーバー) ``` /backoffice/master/accounts.json # 勘定科目マスタ /backoffice/data/accounting/private/[年]/journals.json # 個人事業仕訳データ /backoffice/data/accounting/corporate/[期]/journals.json # 法人仕訳データ /backoffice/data/accounting/private/[年]/locked.json # 個人事業申告済フラグ /backoffice/data/accounting/corporate/[期]/locked.json # 法人申告済フラグ ``` ### 5.3 バックアップ(ローカル/USB) - 全データをZIPでエクスポート - ファイル名:`SPS_backup_YYYYMMDD_HHMMSS.zip` - 内部構造:年/会社/データ.json の形式を維持 - 定期的なバックアップを推奨(サーバー障害対策) ## 6. 申告書作成ロジック 1. ユーザーが「申告期間」を指定 - 個人事業:2024-01-01〜2024-12-31 - 法人:2023-07-01〜2024-06-30 2. 期間内の仕訳データを抽出 3. 会社でフィルタ(個人事業ならprivate、法人ならcorporate) 4. 抽出データから各種書類を自動生成 - 損益計算書(common/accounting/pl.html) - 貸借対照表(common/accounting/bs.html) - 勘定科目内訳書(common/accounting/schedule.html) - 確定申告書(private/accounting/tax.html / corporate/accounting/corporate.html) ## 7. 税務署モード 税務調査時に、調査対象期間・案件のデータのみを閲覧可能な専用モード。 詳細は別設計書 `03_tax_audit_mode.md` 参照。 ## 8. 今後の拡張 - 勘定科目内訳書(schedule.html)の実装 - 固定資産台帳(fixed_asset.html)の実装 - 消費税申告書(consumption_tax.html)の実装 - 税制改正対応の特例チェック機能 - 銀行口座連携(API取込) ## 9. 改訂履歴 | 日付 | 版 | 内容 | |------|----|------| | 2026-03-12 | 1.0 | 初版作成(打ち合わせ内容反映) | | 2026-03-15 | 1.1 | 共通フォルダ構成に対応するよう修正 | | 2026-03-17 | 1.2 | 4.4節「科目区分と集計ルール」を新設 | ```