1. 概要

焦点質問: PJ別の損益と共通費配賦はどのように計算されるか?

全社損益に加えて、プロジェクト (案件・プロダクト) 別の損益を可視化する。 78タブ(通期P/L79タブ(月次採算表) の二層構造で、異なるユースケースに対応する。

背景・課題

  • 14_mst_project: プロジェクトマスタ既存 (PJコード, PJ名, 区分, PM等)
  • PJ名列: 31_wrk_order, 32_wrk_invoice, 26_bud_adhoc, 41_trn_budget, 42_trn_journal に既存
  • 402_project_profitability.js: V14 で実装済み
    • 27_bud_resource (稼働率テーブル) × 22_bud_headcount (給与) で労務費配賦
    • 32_wrk_invoice + 33_wrk_bank から売上・直接費を集計
    • 共通費配賦 (28_bud_allocation) 実装済み

78タブ vs 79タブの役割分担

項目78_pj_pl(通期P/L)79_pj_monthly(月次採算表)
利用者経営陣現場PM
目的全社の固定費回収・ビジネス全体の収益性評価進行中PJの異常検知・軌道修正
集計軸科目(縦) × PJ(横)、通期合計PJ(縦) × 月(横)、12ヶ月ブレイクダウン
算出範囲PJ経常利益まで(共通費配賦・営業外損益込み)限界利益まで(共通費配賦前)
仕訳振替INV含む(33タブ消込STL経由)含まない
貸倒引当金含む(92タブから読取)含まない
共通費配賦あり(28タブのルールで按分)なし
営業外損益あり(売上高比で配賦)なし

設計根拠 — Controllability Principle(管理可能性の原則): 現場PMがコントロールできるのは「売上」「直接経費」「アサインメンバーの工数(労務費)」のみ。 バックオフィス人件費・家賃等の共通費や、源泉税・貸倒引当金等の税務手続きはPMの裁量外。 79タブはPJが全社固定費を賄うための「限界利益(貢献利益)」を純粋に追う設計とする。

78と79の数値差異は仕様。 制度会計との1円一致を目指すオーバーエンジニアリングは行わない。


2. 設計判断

#選択肢メリットデメリット選定
2-1既存の 14_mst_project + PJ名列をそのまま活用追加列不要。31/32/26/41/42 に PJ名列が既存。22_bud_headcount は 27_bud_resource 経由で按分する設計が自然23/24/25 にはPJ名列がないが全社共通費として配賦する運用で問題なし採用
2-1'PJマスタに新規列を大量追加情報が一元化既存列で十分。過剰設計不採用
2-2科目ごとに按分方法を選択可能。28_bud_allocation で管理。データマート計算時に按分配賦基準の変更が容易。科目ごとに最適な按分方法を選べる柔軟性採用
2-2'仕訳エンジンで配賦仕訳を生成仕訳帳に配賦が残るGAS実行時間制限。複雑化+冪等性リスク不採用
2-3既存の 27_bud_resource (稼働率テーブル) で兼務按分402_project_profitability.js が既に実装済み。新規の仕組み不要採用
2-4既存 402_project_profitability.js を改修し共通費配賦行を追加。出力先は 78_sum_project_pl既存コードを活用採用

3. 変更内容

3.1 スキーマ

14_mst_project への列追加

既存/新規列名内容
既存PJコードprj_0000, prj_0001, ...
既存プロジェクト名PJ名
既存PJ区分コーポレート, 自社プロダクト, 受託
既存ステータス進行中, 完了, 保留
新規配賦区分配賦元 / 配賦先 / 対象外
配賦区分意味
配賦元このPJの費用が他PJに配賦される指定なし_共通費など
配賦先共通費を受け取る側みらいワークス_PM支援
対象外配賦に一切関与しない社内検証PJ

27_bud_resource (要員稼働率) シート

ヘッダー内容
A有効フラグTRUE/FALSE
B要員名22_bud_headcount の氏名・ポジション
CPJ・案件名14_mst_project のプロジェクト名
D対象年月月単位で入力(例: 2025-11)
E稼働率(%)0〜1の小数(1 = 100%)

月ごとに1行。兼務者は同月に複数行(稼働率の合計が1.0)。 工数比配賦と労務費(工数配賦)の両方で使用される。

28_bud_allocation (配賦ルール) シート

ヘッダー内容
A有効フラグTRUE/FALSE
B科目名配賦対象の科目 (11_mst_account の科目名)
C按分方法売上高比 / 工数比 / 均等割 / 手動
D〜PJ別配賦率手動の場合のみ使用。列ヘッダーはPJ名。値は0〜1の小数(0.9 = 90%)。DDL実行時に配賦先PJ名が自動設定される

例:

科目名      | 按分方法 | みらいワークス | 講師等 | ...
────────────────────────────────────────────
地代家賃    | 工数比   |               |        |     ← 自動計算
通信費      | 売上高比 |               |        |     ← 自動計算
役員報酬    | 手動     | 0.9           | 0.1    |     ← 合計1.0にすること
法定福利費  | 工数比   |               |        |

行がない科目はデフォルト (売上高比) で配賦。 営業外損益(支払利息・雑収入等)は28タブの設定に関わらず強制的に売上高比で配賦される。 手動配賦率のバリデーション: 各値は0〜1の範囲、合計が1.0(100%)でなければエラー。

3.2 ロジック

分析ディメンションとファクト

ディメンション(分析軸):

ディメンションソース粒度用途
PJコード / プロジェクト名14_mst_projectPJ単位78タブの列方向展開、79タブの行方向展開
科目名11_mst_account勘定科目単位78タブの行方向展開(表示区分ごとにグルーピング)
対象年月27_bud_resource, 32_wrk_invoice月単位79タブの列方向展開(12ヶ月ブレイクダウン)
PJ区分14_mst_projectコーポレート / 自社プロダクト / 受託PJの性質分類
配賦区分14_mst_project配賦元 / 配賦先 / 対象外共通費配賦のロール判定
表示区分処理ロジックで付与売上高 / 販管費(直接) / 共通費配賦 / 営業外収益 / 営業外費用78タブのP/Lセクション分類
按分方法28_bud_allocation売上高比 / 工数比 / 均等割 / 手動科目ごとの配賦ドライバー選択

ファクト(計測値):

ファクト定義出力先
売上高32_wrk_invoice の承認済/部分決済/決済完了INV(仕訳振替・B/S科目除外)78, 79
直接経費同上のうち販管費に該当する科目78, 79
労務費(配賦)22_bud_headcount の月額給与 × 27_bud_resource の稼働率(%)78, 79
共通費配賦額配賦元PJの費用合計 × 28_bud_allocation の按分ルール78のみ
営業外損益(配賦)営業外収益・費用を売上高比で配賦先PJに按分78のみ
仕訳振替INV33_wrk_bank 消込済STLから親ORD ID経由で認識78のみ
貸倒引当金繰入額92_fs_pl から直接読み取り78のみ
限界利益売上高 − 直接経費 − 労務費(配賦)79のみ
PJ営業利益売上総利益 − 販管費(直接) − 共通費配賦額78のみ
PJ経常利益PJ営業利益 ± 営業外損益(配賦)78のみ

経理向け補足: 限界利益(=売上高 − 直接経費 − 労務費配賦)は、各プロジェクトが固定費(販管費・営業外費用)をカバーするためにどれだけ貢献しているかを示す指標です。79タブ(月次採算)ではPJマネージャーが自身の管理可能範囲(Controllability Principle)で収益性を判断できるよう、限界利益までを表示しています。

配賦計算

配賦元の特定: 14_mst_project の 配賦区分 列で判定

  • 配賦元: この PJ の費用が他PJに配賦される (例: 指定なし_共通費など)
  • 配賦先: 共通費を受け取る側 (例: みらいワークス案件)
  • 対象外: 配賦に一切関与しない (例: 社内検証PJ)

按分方法 (28_bud_allocation で科目ごとに設定):

  • 売上高比: 各PJの売上高シェアで按分
  • 工数比: 27_bud_resource の稼働率合計シェアで按分
  • 均等割: 配賦先PJ数で均等に分割
  • 手動: PJ別の配賦率(%)を手入力

配賦計算式:

売上高比: PJ_A の配賦額 = 科目共通費合計 × (PJ_A 売上高 ÷ 配賦先PJ売上高合計)
工数比:   PJ_A の配賦額 = 科目共通費合計 × (PJ_A 工数率合計 ÷ 配賦先PJ工数率合計)
均等割:   PJ_A の配賦額 = 科目共通費合計 ÷ 配賦先PJ数
手動:     PJ_A の配賦額 = 科目共通費合計 × PJ_A手動配賦率(%)

配賦ルールマトリクス:

費目カテゴリ配賦ドライバー基準値ソース備考
販管費(28タブに行あり)28_bud_allocation の按分方法に従う売上高比→32_wrk_invoice、工数比→27_bud_resource、均等割→14_mst_project(配賦先PJ数)、手動→28タブD列以降科目ごとに個別設定
販管費(28タブに行なし)売上高比(デフォルト)32_wrk_invoice の PJ別売上高シェア行がない科目は自動フォールバック
営業外損益(支払利息・雑収入等)売上高比(強制)32_wrk_invoice の PJ別売上高シェア28タブの設定に関わらず強制適用
人件費(労務費)工数比(稼働率按分)27_bud_resource × 22_bud_headcount要員別×PJ別×月別の稼働率で按分。配賦ではなく直接費計算

データソース

データソースフィルタ
P/L実績32_wrk_invoice有効フラグ=TRUE、ステータス=承認済/部分決済/決済完了、仕訳振替除外、B/S科目除外(資産計上以外)
仕訳振替INV33_wrk_bank → 32_wrk_invoice消込済STLから親ORD ID経由で仕訳振替INVを認識(60番台 PHASE 2と同じ)
貸倒引当金繰入額92_fs_plマート更新後の値を直接読み取り(将来的に32タブINV出力に移行予定)
労務費27_bud_resource × 22_bud_headcount対象年月×稼働率×月額給与

処理フロー

buildProjectProfitability()
  ├─ 1. マスタ読み込み
  │     ├─ 11_mst_account → 科目マスタ
  │     ├─ 14_mst_project → 配賦区分 (配賦元/先/対象外)
  │     ├─ 28_bud_allocation → 科目別按分方法・手動率
  │     └─ 22_bud_headcount → 人員マップ
  ├─ 2. 工数按分 (27_bud_resource × 人員)
  ├─ 3. 売上・直接費集計 (32_wrk_invoice)
  │     └─ 60番台と同じフィルタ適用
  ├─ 4. 貸倒引当金繰入額 (92_fs_pl から読み取り)
  ├─ 5. 仕訳振替INV認識 (33_wrk_bank → 32_wrk_invoice)
  ├─ 6. 共通費配賦 (配賦元PJの費用を配賦先PJに按分)
  │     ├─ 販管費 → 28タブのルールで按分(デフォルト: 売上高比)
  │     ├─ 営業外損益 → 強制的に売上高比で按分、本来のセクションに表示
  │     └─ 手動 → 28タブD列以降の配賦率で按分(バリデーション: 0≤rate≤1, 合計=1.0)
  ├─ 7. 出力 (78_pj_pl: PJ横並びP/L)
  │     ├─ B列: 配賦元合計(全社合計には含めない)
  │     ├─ C列〜: 配賦先PJ別の値
  │     └─ 最終列: 全社合計(PJ列のみ合算)
  └─ 8. 出力 (79_pj_monthly: 月次PJ別採算表)

3.3 出力レイアウト

78_pj_pl (PJ横並びP/L)

表示区分          | 配賦元合計 | PJ_A    | PJ_B  | ... | 全社合計
──────────────────────────────────────────────────────────────
■ 売上高          |           |         |       |     |
  売上高        |     -     | xxx     | xxx   |     | xxx
【売上高 計】     |     -     | xxx     | xxx   |     | xxx
✨ 売上総利益      |     -     | xxx     | xxx   |     | xxx
■ 販管費 (直接)   |           |         |       |     |
  役員報酬      | 1,500,000 |   -     |   -   |     |   -
  ...           |           |         |       |     |
■ 共通費配賦      |           |         |       |     |
  役員報酬      |           | xxx     | xxx   |     | xxx
  ...           |           |         |       |     |
✨ PJ営業利益      |     -     | xxx     | xxx   |     | xxx
■ 営業外収益      |           |         |       |     |
  雑収入        |           | xxx     | xxx   |     | xxx
■ 営業外費用      |           |         |       |     |
  支払利息      |           | xxx     | xxx   |     | xxx
✨ PJ経常利益      |     -     | xxx     | xxx   |     | xxx
  • B列 (配賦元合計): 配賦元PJの直接費を表示(全社合計には含めない、参考表示)
  • 全社合計: PJ列のみ合算(92_fs_pl の営業利益・経常利益と一致)
  • 営業外損益: 売上高比で配賦先PJに按分、本来のセクションに表示

79_pj_monthly (月次PJ別採算表)

現場PMが進行中PJの異常を月次で検知するための表。限界利益(貢献利益)まで。

プロジェクト・案件名 | 管理会計 項目      | 通期合計 | 2025-08 | 2025-09 | ... | 2026-07
─────────────────────────────────────────────────────────────────────────
■ PJ_A              |  売上高(期待値)    | xxx     | xxx     | xxx     |     | xxx
                    |  直接経費(外注等)  | xxx     | xxx     | xxx     |     | xxx
                    |  🤖 労務費(配賦)   | xxx     | xxx     | xxx     |     | xxx
                    | ✨ 限界利益          | xxx     | xxx     | xxx     |     | xxx
                    |   限界利益率        | xx.x%   | xx.x%   | xx.x%   |     | xx.x%
                    |                     |         |         |         |     |
■ PJ_B              | ...                 |         |         |         |     |
                    |                     |         |         |         |     |
🏢 【全PJ 合計】     |  売上高 合計        | xxx     | ...     |         |     |
                    |  直接経費 合計      | xxx     | ...     |         |     |
                    |  🤖 労務費 合計     | xxx     | ...     |         |     |
                    | 🌟 全社 限界利益     | xxx     | ...     |         |     |
                    |   全社 限界利益率   | xx.x%   | ...     |         |     |

スコープ — 意図的に含めない項目:

  • 仕訳振替INV(源泉税の預り金相殺等): 税務手続きでありPJの稼ぐ力と無関係
  • 貸倒引当金繰入額: 同上
  • 共通費配賦: PMの裁量外コスト。月次の配賦基準(売上高比等)が受託の納品月スパイクで歪む
  • 営業外損益: PMの管理不能コスト

データソース:

  • 32_wrk_invoice: 承認済/部分決済/決済完了のINVから売上・直接経費を集計
  • 22_bud_headcount × 27_bud_resource: 稼働率ベースの労務費配賦
  • 11_mst_account: 科目分類(営業外損益・B/S科目の除外判定)

フィルタ(78タブと共通 + 追加除外):

  • 有効フラグ=TRUE
  • ステータス=承認済/部分決済/決済完了
  • 仕訳振替INV=除外
  • B/S科目=除外(資産計上以外)
  • 営業外損益=除外(78タブでは含むが、79タブでは限界利益の対象外)

4. 影響範囲

影響対象影響内容対応
402_project_profitability.jsデータソースを32/33タブに変更、共通費配賦、営業外損益配賦、仕訳振替INV認識、貸倒引当金読込、手動配賦率実装改修
101_sys_config.js14_mst_project スキーマに「配賦区分」列追加、27_bud_resource / 28_bud_allocation / 79_pj_monthly スキーマ追加、DDLでPJヘッダー自動設定改修
14_mst_project「配賦区分」列の追加スキーマ変更
27_bud_resource新規シート追加DDL追加
28_bud_allocation新規シート追加(D列以降はDDL管理外)DDL追加
78_pj_pl出力レイアウト変更(共通費配賦行追加)出力変更
79_pj_monthly新規出力タブ新規追加
92_fs_pl貸倒引当金繰入額の読み取り元参照のみ(変更なし)

5. テスト仕様

#テスト内容
178タブの全社合計が92タブ(P/L)の営業利益・経常利益と一致すること
2配賦元PJの費用がB列に正しく集計されること
3配賦先PJに28タブのルール通り配賦されること(売上高比/工数比/均等割/手動)
4手動配賦率のバリデーション: 0≤rate≤1、合計=1.0
5営業外損益が売上高比で配賦され、本来のセクション(営業外収益/費用)に表示されること
6仕訳振替INV(益税等)がSTL消込済みの場合のみ計上されること
7貸倒引当金繰入額が92タブと一致すること
8対象外PJは78タブに表示されないこと
960番台と同じフィルタ: 承認済/部分決済/決済完了のみ、仕訳振替除外、B/S科目除外

付録A: ADR-0003リンク

設計判断の詳細は §2 設計判断テーブルを参照。

付録B: 配賦選択指針

配賦方法の選択指針:

  • 売上高比: 売上に比例して発生する費用(例: 営業関連費、マーケティング費)に適用
  • 工数比: 人的リソースの投入量に比例する費用(例: 管理部門の人件費)に適用
  • 均等割: 特定のドライバーと関連しない共通費(例: オフィス賃料)に適用
  • 手動: 上記ルールに当てはまらない特殊な配賦(例: 特定PJ専用の外注費)に使用