1. 概要

焦点質問: 今月末時点の資産・負債・純資産の状態は?

項目内容
出力タブ91_fs_bs
関数dmCalcBs_, dmBuildBsOutput_, dmBuildBsYtdOutput_
ファイル604_datamart_bs.js, 601_datamart_ingest.js, 602_datamart_main.js

B/S(貸借対照表)を以下の2ソースから集計する:

  • 32_wrk_invoice (承認済INV) → 未払金・前払費用・売掛金を計上(期ずれ
  • 33_wrk_bank (消込STL) → 未払金を解消 + 仕訳振替INVの認識(預り金・益税等)

42_trn_journal は監査証跡であり、B/S集計のソースとしては使用しない。


2. データソース

ソース読み込み条件用途
32_wrk_invoice承認済, 口座振込等(仕訳振替を除く)B/S計上: 未払金の計上(期ずれ)
33_wrk_bank消込済 かつ 自動仕訳JNL_IDありB/S解消: 未払金の解消 + 仕訳振替INVの認識
41_trn_budget有効フラグ = TRUE, pYm >= boundary将来予測
11_mst_accountacctMap (諸表区分・表示区分)P/L vs B/S 判定、セクション分類

3. 対象判定・フィルタ条件

3.1 PHASE 1 フィルタ (32_wrk_invoice)

#条件処理理由
F1有効フラグ = FALSESKIP無効レコード除外
F2ステータス ∉ [承認済, 決済完了]SKIP未承認は計上対象外
F3決済手段 = 仕訳振替SKIP決済まで発生しないため
F4諸表区分 = B/S科目SKIPSTL消込まで計上しない
F5決済手段 = 資産計上例外: B/S即時計上資産計上は承認時に即B/S計上

3.2 PHASE 2 フィルタ (33_wrk_bank)

#条件処理理由
F6有効フラグ = FALSESKIP無効レコード除外
F7決済ステータス ≠ 消込済SKIP未消込は処理対象外
F8自動仕訳JNL_ID = 空SKIPAction B 未処理

4. 処理ロジック

4.1 PHASE 1: B/S計上 (32_wrk_invoice → 期ずれ生成)

STEP処理入力出力条件
B1.1対象フィルタ有効フラグ, ステータス, 決済手段, 諸表区分 (32_wrk_invoice.A,I,W列, acctMap)§3.1 フィルタ適用
B1.2期ずれ判定P/L発生月(pYm), 決済月(sYm)B/Sイベント (martBs)pYm ≠ sYm の場合のみ期ずれ処理。詳細は §5.1 参照

PHASE 1 期ずれルール (pYm ≠ sYm の場合のみ)

#区分条件計上月B/S科目セクション解消
1実績・支出pYm ≠ sYmpYm未払金/未払費用 += amtliab_cl33タブ消込で解消 ※1
2実績・収入pYm ≠ sYmpYm売掛金 += amtasset_ca33タブ消込で解消
3予算・後払いsYm > pYmpYm: +amt / sYm: -amt未払金liab_cl支払予定で自動解消
4予算・前払いsYm < pYmsYm: +amt / pYm: -amt前払費用asset_ca費用発生で自動解消
5予算・売上収入pYm: +amt / sYm: -amt売掛金asset_ca入金予定で自動解消
6予算・前受け収入かつ sYm < pYmsYm: +amt / pYm: -amt前受金liab_cl売上計上で自動解消

※1: 実績では解消側(-amt)を生成しない。33_wrk_bankの消込で解消される。前払費用は実績では使用しない

4.2 PHASE 2: B/S解消 (33_wrk_bank → 消込処理)

33_wrk_bank の消込済 かつ Action B 処理済(自動仕訳JNL_ID あり)の STL を読み込む。

33_wrk_bank から読み取る列

ヘッダー名用途
A有効フラグFALSE → SKIP
B決済ID(STL)管理ID
C消込対象請求ID(INV)紐づくINVの特定
D決済日_計画仕訳振替INV認識の検索キー(32タブと同じ列名)
E決済日_実績B/S解消月 / CF計上日
F決済ステータス"消込済" のみ対象
J税込金額_決済CF出金額(実際の振込額)
K差額(手数料等)手数料等
N自動仕訳JNL_ID空でないこと必須(Action B 処理済の証跡)

STEP 1-2: 消込処理・仕訳振替認識

STEP処理入力出力条件
B2.1STLフィルタ有効フラグ, 決済ステータス, JNL_ID (33_wrk_bank.A,G,Q列)§3.2 フィルタ適用
B2.2P/L INV消込: 期ずれ解消対象INVの科目, 収支区分, pYm, sYm (32_wrk_invoice)B/Sイベント (martBs)P/L科目かつ期ずれ(pYm≠sYm)のみ。期ずれなし(pYm=sYm)は解消スキップ(二重減算防止)
B2.3B/S INV消込: 直接計上対象INVの科目, 決済手段 (32_wrk_invoice)B/Sイベント (martBs)B/S科目かつ仕訳振替以外 → INV科目をINV税込金額_計画で計上
B2.4仕訳振替INV認識親ORD_ID, 決済日_計画月 (32_wrk_invoice, 33_wrk_bank)P/L/B/Sイベント (martPl/martBs)ORD+同月の仕訳振替INVを検索。P/L科目→P/L計上、B/S科目→B/S直接計上。recognizedJeSetで重複防止 ※2
B2.5差額処理差額(手数料等) (33_wrk_bank.L列)P/Lイベント (martPl)≠ 0 → 差額処理科目(空なら支払手数料)でP/L費用を追加計上

金額の使い分け: B/S未払金解消・直接計上 → INVの税込金額_計画(帳簿額)。CF出金 → STLの税込金額_決済(実際の振込額)

※2: 同じORD+決済日_計画月の複数STLが同じ仕訳振替INVを重複認識しないよう、recognizedJeSetで管理


5. 財務ロジック (FRD)

※ 本セクションは経理担当・CFOが検証可能な表現で記述。 技術用語は使用しない。算出式は日本語数式。 → 技術詳細: §4 参照

5.1 B/Sのライフサイクル

B/Sの計上と解消は、以下の2段階で処理される。

第1段階: 請求書(INV)承認時 — B/S計上

承認済の請求書のうち、P/L科目で期ずれ(費用発生月と決済月が異なる)が発生する場合:

  • 支出の期ずれ → 未払金または未払費用を計上(流動負債の増加)
  • 収入の期ずれ → 売掛金を計上(流動資産の増加)
  • 仕訳振替の請求書 → 決済まで認識しない(第2段階で処理)
  • B/S科目の請求書 → 消込まで計上しない(第2段階で処理)

第2段階: 決済(STL)消込時 — B/S解消

消込済の決済データから以下を処理する:

  1. P/L請求書の消込 → 未払金・売掛金の解消(期ずれがある場合のみ)
  2. B/S請求書の消込 → 預り金等のB/S直接計上(増減)
  3. 仕訳振替請求書の認識 → 益税(雑収入)・預り金等をP/L・B/Sに反映
承認済INV (32_wrk_invoice)
  ↓ P/L科目 + 期ずれ → 未払金 +22,000 (B/S計上)
  ↓ 仕訳振替INV → 除外(決済まで発生しない)
  ↓ B/S科目INV → 除外(STL消込まで計上しない)

消込済STL (33_wrk_bank)
  ↓ 税込金額_決済 → 未払金 -22,000 (B/S解消) + CF出金
  ↓ 対象INVに紐づく仕訳振替INV → P/L・B/Sに認識
    例: 雑収入(益税) → P/L計上
    例: 預り金(+42) → B/S負債計上
    例: 預り金(-42) → B/S負債取崩し

5.2 現預金の逆算 (cashPlug)

現預金の残高は実際の入出金データからではなく、B/Sの貸借バランスから逆算する。これにより貸借差額は常にゼロとなる。

算出式:

現預金 = (流動負債 + 固定負債) + (株主資本 + 利益剰余金 + 当期純利益累積)
       − (流動資産 + 固定資産 + 繰延資産)

現預金に分類される科目(現金・小口現金・普通預金等)は、セクション分類で除外(IGNORE)され、上記の逆算値に置き換えられる。

→ 技術詳細: §4 参照

5.3 みなし法人税 (auto_tax)

P/Lで計算されたみなし法人税等(国税・地方税)を、B/Sの未払法人税等(流動負債)に月次で自動計上する。

  • 対象: 月次のみ(期首残高(OB)には含めない)
  • 影響: 負債が増加し、同額だけ現預金(cashPlug)も増加 → 中立化
  • 算出式: 各月の未払法人税等 += 当月のみなし法人税(国税) + 当月のみなし法人税(地方税)

→ 技術詳細: §4 参照

5.4 過去累積損益

対象期間より前のP/L実績は、B/Sの利益剰余金セクションに累積する。

  • 期首(OB)以前の収益 → 繰越利益剰余金に加算
  • 期首(OB)以前の費用 → 繰越利益剰余金から減算
  • 当期のP/L損益は「繰越利益剰余金(当期)」として別行で表示し、期末に利益剰余金に合算

→ 技術詳細: §4 参照

5.5 貸倒引当金

中小企業会計指針 第18項に基づき、差額補充法 x 法定繰入率で貸倒引当金を自動計算する。

  • 対象債権: 営業上の債権(売掛金)のみ。未収入金は資本取引等が混在するため除外
  • 算出式: あるべき引当金残高 = 期末の売掛金残高 x 法定繰入率(0.6%)
  • 計上方法: 差額補充法(前月の引当金残高との差額を繰入。戻入はゼロにクランプ)
  • B/S: 貸倒引当金を流動資産にマイナスで計上
  • P/L: 貸倒引当金繰入額を販管費に自動追加
  • P/L追加後、営業利益以降のセクション合計を再計算

→ 技術詳細: §4 参照


6. 出力スキーマ

B/Sセクション構造

11_mst_account に登録されている B/S 科目で構成。

【 資産の部 】
  流動資産 (asset_ca) — 表示区分: 現金及び預金 / 売上債権 / 有価証券 / 棚卸資産 / その他流動資産
    🤖 現預金 (cashPlug — 自動逆算)
    現金 / 小口現金 / 普通預金
    売掛金 (期ずれ自動生成を含む)
    有価証券
    商品 / 貯蔵品
    前渡金 / 短期貸付金 / 立替金 / 未収入金 / 仮払金 / 前払費用 / 仮払消費税等
  固定資産 (asset_nca) — 表示区分: 有形固定資産 / 無形固定資産 / 投資その他の資産
    建物 / 建物付属設備 / 構築物 / 機械装置 / 車両運搬具 / 工具・器具 / 土地 / リース資産
    電話加入権 / のれん / ソフトウェア
    投資有価証券 / 投資仮想通貨 / 長期貸付金 / 長期前払費用 / 保証金敷金 / 保険積立金 / 預託金
  繰延資産 (asset_def) — 表示区分: 繰延資産
    創立費 / 開発費(資産)
✨ 資産 合計

【 負債の部 】
  流動負債 (liab_cl) — 表示区分: 仕入債務 / 短期借入金 / 未払金等 / その他流動負債 / 未払税金
    買掛金
    短期借入金
    未払金 / 未払費用 (期ずれ自動生成を含む)
    前受金 / 仮受金 / 預り金
    未払法人税等 / 未払消費税等
  固定負債 (liab_ncl) — 表示区分: 長期借入金 / その他固定負債 / 長期未払金
    長期借入金 / 預り保証金 / 長期未払金
✨ 負債 合計

【 純資産の部 】
  株主資本等 (eq_cap) — 表示区分: 株主資本
    資本金
  利益剰余金 (eq_ret) — 表示区分: 株主資本
    繰越利益剰余金 (過去累積損益 + 当期P/L連動)
✨ 純資産 合計

✨ 負債・純資産 合計
⚠️ 貸借差額 (常に0)

セクション分類ロジック

11_mst_account の 表示区分 (disp) で判定する。科目名キーワードによる推測は行わない。

表示区分 (disp) のキーワードセクションセクション名
現金 / 預金 / 資金IGNORE現預金(cashPlugで逆算)
流動資産 / 売上債権 / 有価証券 / 棚卸asset_ca流動資産
固定資産 / 有形固定 / 無形固定 / 投資その他asset_nca固定資産
繰延資産asset_def繰延資産
流動負債 / 仕入債務 / 短期借入 / 未払金 / 未払税liab_cl流動負債
固定負債 / 長期借入 / 長期未払liab_ncl固定負債
純資産 / 株主資本eq_cap株主資本等
剰余金 / 繰越利益eq_ret利益剰余金
(該当なし)フォールバック: 大分類(cat)で判定資産→asset_ca, 負債→liab_cl, 資本→eq_cap
(大分類も該当なし)エラー表示区分の設定を確認

7. エッジケース

ケース条件処理
期ずれなしの消込pYm = sYmB/S解消スキップ(二重減算防止)
資産計上INV決済手段 = 資産計上PHASE 1 で B/S即時計上(通常のB/S科目スキップの例外)
仕訳振替INVの重複認識同ORD+同決済日_計画月に複数STLrecognizedJeSetで重複防止
差額(手数料等) ≠ 0STLに手数料差額あり差額処理科目(デフォルト: 支払手数料)でP/L追加計上
貸倒引当金の戻入あるべき残高 < 前月残高ゼロにクランプ(戻入は行わない)
貸倒引当金の対象外未収入金資本取引等が混在するため対象外
現預金科目のセクション分類表示区分に現金/預金/資金を含むIGNORE(cashPlugで逆算するため個別集計しない)
表示区分マッチなしdispキーワード該当なし大分類(cat)でフォールバック。それも該当なければエラー

8. テスト仕様

テストデータによるB/S集計結果

決済前 (STL消込なし)

32_wrk_invoice のうち口座振込の P/L 科目のみ取り込み:

科目2025-11末2025-12末
未払金+22,000+22,000 (STL消込まで残る)
現預金変動なし変動なし

決済後 (STL消込あり: 税込金額_決済 19,958、決済日 2026-02-12)

科目2025-11末2026-02末
未払金+22,0000 (INV請求総額で全額解消)
預り金0+42 (仕訳振替INV認識)
現預金変動なし-19,958
P/L 支払手数料-22,000-22,000
P/L 雑収入--+2,000 (仕訳振替INV認識)
CF 出金--19,958 (STL税込金額_決済)

PHASE 2 処理例 (給与 STL 消込)

給与 STL 消込(税込金額_決済 19,958、決済日_計画 2025-12-25):

STL: 消込対象INV = INV_20260403_0001 (支払手数料, 請求総額 22,000)
  → 親ORD = ORD_20260403_0001
  → 決済日_計画月 = 2025-12

STEP 1: 未払金 -= 22,000 (INV請求総額で全額解消)

STEP 2: 同じORD + 発生日月=2025-12 の仕訳振替INV:
  INV_20260403_0002: 雑収入 2,000 (P/L) → P/L営業外収益に計上
  INV_20260403_0003: 預り金 +42 (B/S)  → B/S流動負債に計上

PHASE 2 の影響まとめ

処理科目金額影響
未払金解消未払金-22,000決済月cashPlug -22,000 (INV全額)
益税認識雑収入+2,000決済月P/L収益 → cashPlug +2,000
預り金計上預り金+42決済月B/S負債 → cashPlug +42
差引 cashPlug-19,958 (= 差引支給額)
CF出金19,958決済月STL税込金額_決済 = 実際の振込額

※ cashPlug変動 (-19,958) = CF出金 (19,958) が一致


9. 財務健全性信号機判定

9.1 設計思想 — U字型非対称リスクモデル

一人法人 (IT/コンサル・年商 1〜3千万・無借金) の財務リスクは「倒産リスク(左の崖)」と「過剰保守による機会損失リスク(右のなだらかな丘)」の 非対称な U 字曲線 として捉える。

  • 🔴 倒産側は厳格に: 不可逆破綻を避けるため早めにアラート
  • 🔵 過剰側は緩やかに: 機会損失は連続的・回復可能。アラートではなく成長促進ガイダンス
  • 業種特性の反映: IT/コンサルは固定資産極小・買掛金薄・無借金前提で、中小企業一般の閾値をそのまま使うと過小評価になる
  • 留保金課税の対象外 (法人税法 67 条・租税特別措置法): 資本金 1 億円以下のマイクロ法人は留保し過ぎても税務リスクなし → 過剰側警告は機会損失観点のみ

9.2 5 段階閾値マトリックス

指標🔴 危険🟠 警告🟡 注意🟢 健全🔵 過剰
現預金比率 (現預金 / 月平均売上高)<1.0 ヶ月1.0-1.5 ヶ月1.5-2.5 ヶ月2.5-6.0 ヶ月>6.0 ヶ月
自己資本比率 (純資産 / 総資本)<15%15-30%30-55%55-95%>95%
流動比率 (流動資産 / 流動負債)<150%150-250%250-500%500-1000%>1000%
固定比率 (固定資産 / 純資産)>100%70-100%50-70%5-50%<5% ※過少投資
ランウェイ (実質現預金 / 月次経常支出)<3 ヶ月3-6 ヶ月6-12 ヶ月12-18 ヶ月>18 ヶ月

各指標の閾値根拠

  • 現預金比率(対月商倍率): 単位を %(対総資産)ではなく「月商倍率」とするのは、納税準備金 + 売上入金遅延ショックアブソーバーの観点で経営判断に直結するため。健全帯 2.5-6 ヶ月は税理士実務基準 (古田土会計ほか) と整合
  • 自己資本比率: 情報通信業中小企業平均 54.87% (中小企業実態基本調査 R4)、学術研究・専門技術サービス業 52.29% を健全下限の参照点に。無借金前提のため 95% 超は通常状態だが、「未払金・短期信用枠を一切活用していない=業務抱え込み」のサインとして🔵 過剰判定
  • 流動比率: 情報通信業中小平均 245.5% (R2)。買掛金・未払金が極小のため 500-1000% は通常範囲。1000% 超で初めて資金効率の問題として🔵 過剰
  • 固定比率: 情報サービス業平均 55.6% (リスクモンスター 2019)。一般中小の「100% 以下=優良」は本業種では緩すぎ。5% 未満は過少投資 (PC・周辺機器・作業環境への投資忌避による生産性損失) として🔵 過剰判定 — 創業者の労働力が直接売上源のため、生産性投資は最も利回りの高い投資
  • ランウェイ: 健全上限 18 ヶ月は Y Combinator・signifiant 等のスタートアップ実務 (12-18 ヶ月理想) と整合。18 ヶ月超は「完璧主義・失敗への過度な不安で事業のアクセルを踏めていない」サイン。一人法人の希少資産は現金ではなく創業者の時間であり、過剰なランウェイは時間投資への忌避を示唆

9.3 補助ロジック

Tax-Adjusted Cash(実質現預金)

納税サイクルによる一時的な現預金変動を構造的悪化と誤検知しないため、未払税金の概算控除後の現預金で判定する。

実質現預金 = 現預金残高
           − 未払法人税等 概算 (当期累計利益 × 約30%)
           − 未払消費税等 概算 (当期売上 × 10% − 仕入控除概算)
           − 予定納税額 (中間申告時)
  • 決算月の翌月・翌々月の「見せかけの危険判定」を防止
  • ランウェイ・現預金比率の両指標で実質現預金を分子に使用

MVS(Minimum Viable Salary)監査

役員報酬を不当に下げてランウェイを長く見せかけるパターンを検出。

  • MVS 基準値: 03_sys_params でパラメータ化(初期値: 月額 30 万円・社保最低 + 健康で文化的な最低限度の生活費)
  • 判定: 役員報酬月額 < MVS の場合、ランウェイ判定を 1 段階厳しく上書き (例: 健全 → 注意)
  • 目的: 法人帳簿上の健全性と創業者個人の持続可能性を一体で評価

9.4 総合判定ロジック

条件総合判定アクション
🔴 が 1 指標でも即時対応資金調達・事業モード転換・廃業判断の検討
🟠 が 2 指標以上要改善3 ヶ月以内に経営戦略見直し
🟡 が 3 指標以上要監視月次モニタリング強化、半期内の改善計画立案
🟢 が 3 指標以上 (🔴・🟠 なし)健全現状維持
🔵 が 2 指標以上成長加速推奨投資・採用・外注・マーケへの資金投下を検討

指標優先順位 (倒産判定時):

  1. ランウェイ(不可逆性最大)
  2. 自己資本比率(債務超過判定)
  3. 流動比率(短期支払不能判定)
  4. 現預金比率(短期流動性)
  5. 固定比率(構造的バランス)

9.5 メッセージ設計指針

「🔵 過剰」検知時の UI 出力は 称賛 → 機会損失指摘 → 具体的アクション提案 の 3 段構成とする。単に「資金が余りすぎ」とネガティブ警告するのではなく、成長フェーズへのマインドセット転換を促す。

例 (ランウェイ >18 ヶ月 + 固定比率 <5% 同時検知時):

貴社の財務基盤は極めて強固です(ランウェイ 24 ヶ月、自己資本比率 92%)。一方で 18 ヶ月超のランウェイ保有は資金の過剰保蔵を示唆します。さらなる成長のために、定型業務の外部委託 (時間の買い戻し)、または労働生産性向上のための最新 PC・作業環境への投資 (現在の固定比率は 2% で過少投資水準) をご検討ください。

9.6 パラメータ化対象(03_sys_params

パラメータキー初期値用途
HEALTH_CASH_RATIO_DANGER_MONTHS1.0現預金比率 危険境界
HEALTH_CASH_RATIO_HEALTHY_MIN_MONTHS2.5現預金比率 健全下限
HEALTH_CASH_RATIO_EXCESSIVE_MONTHS6.0現預金比率 過剰境界
HEALTH_RUNWAY_DANGER_MONTHS3ランウェイ 危険境界
HEALTH_RUNWAY_HEALTHY_MIN_MONTHS12ランウェイ 健全下限
HEALTH_RUNWAY_EXCESSIVE_MONTHS18ランウェイ 過剰境界
HEALTH_MVS_MONTHLY_JPY300000MVS 月額基準値
HEALTH_TAX_RESERVE_RATE0.30法人税概算控除率
(他 自己資本比率・流動比率・固定比率の各境界値)同様にパラメータ化

実装は MAS-008(Cash Runway 高度化)の延長として mas/600_report/605_datamart_cf.js または専用モジュール(612_health_diagnostic.js 等)で行う想定。


付録A: 実装ファイル

ファイル役割V2変更
601_datamart_ingest.jsPH1: INV 読込(仕訳振替除外)+ PH2: STL 読込(未払金解消・振替認識)
602_datamart_main.jsprocessEvent: P/L・B/S振り分け、期ずれ生成済 (noCash全廃)
604_datamart_bs.jsdmGetBsSectionId_: 大分類+表示区分で判定
604_datamart_bs.jsdmCalcBs_: 残高累積、cashPlug逆算、貸倒引当金計算
604_datamart_bs.jsdmBuildBsOutput_: B/S残高推移の出力配列構築
604_datamart_bs.jsdmBuildBsYtdOutput_: OBからの累積変動の出力配列構築
604_datamart_bs.jsdmBuildNotes_: 個別注記表の生成
604_datamart_bs.jsdmBuildEquityChanges_: 株主資本等変動計算書の生成
606_datamart_daily_cf.jsCF実績: 33_wrk_bankから直接集計

付録B: 出力フォーマット (91_fs_bs)

項目仕様
列構成B/S科目ラベル + 期首残高(OB) + 月次残高(12ヶ月)
列幅自動調整数値・日付列のみ(ラベル列は固定)
フィルタースキーマシートに自動設定
条件付き書式なし(現行)
YTD出力OBからの累積変動を別ブロックで出力