メインコンテンツまでスキップ

純利益 101 — Beancountでの追跡方法

· 約6分
Mike Thrift
Mike Thrift
Marketing Manager

ビジネスを表す数値の中で、ひとつだけは他を圧倒します:純利益です。これは収益性の究極の指標であり、いわゆる「最終利益」です。しかしそれは実際に何を意味し、プレーンテキスト会計システムであるBeancountを使ってどのように正確に追跡できるのでしょうか?

では、分解してみましょう。

2020-03-12-net-income-101-how-to-track-it-in-beancount

純利益の本当の意味

本質的に、純利益とはビジネスを運営するために必要なすべての支出(売上原価(COGS)、すべての営業費用、負債の利息、税金)を支払った後に残る金額です。

これは企業の財務健全性を示す最も明確な単一指標です。すべての関係者にとって重要な数値です:

  • 貸し手 は、返済能力を測るために純利益を見る。
  • 投資家 は、配当の源泉や成長に回せる資本として純利益を見る。
  • 創業者 は、財務的なランウェイを把握し、戦略的な再投資計画を立てるために純利益に依存する。

純利益がプラスであれば利益が出ていること、マイナスであれば損失が出ていることを意味します。シンプルです。

基本式(必要な詳細レベルを選択)

純利益は粒度の異なる計算式で求められます。どの程度詳細に分析したいかで選びます。

  • フル式: Revenue – COGS – Operating Expenses – Interest – Taxes = Net Income
  • 標準式: Revenue – COGS – Expenses = Net Income
  • 簡易式: Total Revenues – Total Expenses = Net Income

コストに関するちょっとしたコツ: COGS と営業費用の違いは何か? COGS(売上原価) は製品やサービスの直接的なコスト(例:原材料、直接労務)を指します。 営業費用 はそれ以外の、事業を継続させるために必要な費用—給与、家賃、ソフトウェアサブスクリプション、保険など—を指します。

ミニ例

具体的にイメージしてみましょう。小さなコーヒーロースティング事業が先月以下の結果を出したとします。

項目金額例示元帳勘定
売上収益$60,000Income:Sales
COGS(グリーンコーヒー豆)$20,000Expenses:COGS
営業費用$18,000Expenses:Ops:*
設備ローンの利息$1,000Expenses:Interest
税金$1,000Expenses:Taxes

フル式を使うと計算はシンプルです:

Net;Income=Net;Income = 60,000 - 20,00020,000 - 18,000 - 1,0001,000 - 1,000 = 20,00020,000

この事業は月間で実質的に $20,000 の利益を上げました。

Beancountでの記録方法

Beancount の構造はこの目的に最適です。アカウントを論理的に整理すれば、純利益は優れた簿記の副産物として自動的に算出されます。

  • すべての収益 を親アカウント Income の下にタグ付けします(例:Income:SalesIncome:Services)。
  • 費用を分割 して直接費と間接費を区別します。直接費は Expenses:COGS、それ以外は Expenses:Ops:SalariesExpenses:Ops:Software などのサブアカウントに振り分けます。
  • 利息と税金はそれぞれ専用アカウントExpenses:InterestExpenses:Taxes)に記録します。これにより、特に税務処理時の分析が格段に楽になります。
  • 定期的に残高を確認 します。基本的な会計等式 Assets = Liabilities + Equity が常に成り立つことを確認してください。

期間末(例:月末)には balance アサーションを使って各アカウントの状態を確認できます。これらのエントリは実際に資金を移動させるものではなく、残高が あるべき 状態であることを宣言し、bean-check が不一致をエラーとして報告します。

; 2025-07-31 Coffee Roaster Enterprises — July close
2025-07-31 balance Assets:Bank:Operating 42000.00 USD
2025-07-31 balance Expenses:COGS 20000.00 USD
2025-07-31 balance Expenses:Ops 18000.00 USD
2025-07-31 balance Expenses:Interest 1000.00 USD
2025-07-31 balance Expenses:Taxes 1000.00 USD
2025-07-31 balance Income:Sales -60000.00 USD

ワンライン純利益クエリ

ここが魔法の部分です。構造化された元帳があれば、単一コマンドで任意の期間の純利益を算出できます。

bean-query books.beancount \
"SELECT period, sum(number) WHERE account = '^(Income|Expenses)' \
AND year = 2025 GROUP BY month"

このクエリは 2025 年の IncomeExpenses アカウントのすべての金額を合計し、月単位でグループ化します。Beancount では収益は負数、費用は正数で表されるため、結果は純利益の 負数 となります。

さらに便利なのは、手動でクエリを実行しなくてもよいことです。Beancount のウェブインターフェースである Fava は、Reports → Income Statement ビューで自動的にグラフ化してくれます。

自動化できる高速インサイト

元帳がテキストファイルだけなので、強力な自動化ワークフローを構築できます。

  • 月次メールダイジェスト: bean-report books.beancount income_statement > net-income.txt を cron ジョブで実行し、毎月 1 日に生成されたテキストファイルを自分宛にメール送信します。
  • 収益性アラート: Git の pre‑commit フックでクエリを走らせ、月初からの純利益がマイナスの場合はコミットを拒否させ、赤字月を認識させます。
  • シナリオモデリング: ビジネスのストレステストをしたいですか? books.beancountscenarios/recession.bean にコピーし、Income エントリを 20% 減らして再度純利益クエリを実行すれば、影響を即座に確認できます。

主なポイント

  • 純利益は真の最終利益です。プラスを保ち、時間経過でのトレンドを把握することが目標です。
  • Beancount は計算式を明示的にし、検索可能でバージョン管理が可能です。隠れた計算式はありません。
  • 整然としたアカウント構造と単一クエリさえあれば、ビジネスが本当に利益を上げているか常に把握できます。