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

「財務報告」タグの記事が2件件あります

全てのタグを見る

Beancount における未払費用:実践ガイド(コピー&ペースト可能な元帳例付き)

· 約9分
Mike Thrift
Mike Thrift
Marketing Manager

未払費用は、月末の締めが積み重なるまで抽象的に感じられます。これは適切な発生主義会計の基礎であり、現金の出入りだけでなく、経済的実態を財務報告に反映させます。ここでは、未払費用が何か、なぜ重要か、そしてプレーンテキスト元帳でどのように記帳・逆転・報告するかを Beancount 視点でわかりやすく解説します。

TL;DR ⚡

  • 未払費用 は、当期に発生したがまだ支払っていないコストです。現金が出るまで負債として記録します。
  • Beancount ではExpenses: 勘定を借方、Liabilities:Accrued: 勘定を貸方にします。支払時に負債を消去します。
  • 報告 では、bean-queryCLOSE ONCLEAR を組み合わせて、特定日付時点のバランスシートを取得できます。

2025-08-24-accrued-expenses-in-beancount-a-practical-guide

未払費用とは?

未払費用は、事業がすでに費用を負担したものの、まだ支払っていないコストです。サービスを受領した時点、または費用が発生した時点で記録し、請求書が未着や支払期日がまだ来ていなくても認識します。この手法は 発生主義会計のマッチング原則 に基づき、費用をそれを生み出した収益と同じ期間に計上します。

代表的な例:

  • 従業員の給与 – 月末に発生し、翌月に支払われる。
  • 光熱費(電気・水道) – 12 月に使用したが、請求は 1 月になる。
  • 借入金の利息 – 月間で累積したが、まだ口座から引き落とされていない。

これらの費用を発生時に記録することで、当期の財務パフォーマンスをより正確に把握できます。

Beancount の考え方(30 秒で)

Beancount はプレーンテキストの二重仕訳システムです。すべては日付付きディレクティブまたは取引としてテキストに記述します。システムは 5 つのトップレベル勘定 Assets(資産), Liabilities(負債), Equity(純資産), Income(収益), Expenses(費用) に基づいています。

エントリは日付順に並び、balance アサーションは同日取引が処理される にチェックされます。チェックや逆転エントリを入れる際はこの順序を意識してください。

bean-query は SQL ライクなクエリ言語で、OPEN ON, CLOSE ON, CLEAR などの演算子を使い、特定日時点の財務諸表を簡単に生成できます。

推奨チャート・オブ・アカウント

階層的で整理されたチャートは最強の味方です。未払費用の構造はシンプルです。必要になるのは以下の勘定:

  • 費用勘定 例:Expenses:Utilities, Expenses:Payroll:Wages
  • 対応する負債勘定 例:Liabilities:Accrued:Utilities, Liabilities:Accrued:Payroll
  • 現金勘定 例:Assets:Bank:Checking

Beancount は 5 つのトップレベル勘定を強制します。勘定名を整理しておくと、後のクエリやレポート作成が格段に楽になります。

基本パターン(プラグイン不要、マジックなし)

未払費用を処理する最も直接的な方法です。月末に費用を計上し、支払時に負債を消去します。

手順 1:月末に費用を計上

期間最終日に費用と負債を記録します。

2025-02-28 * "2 月分電気代を未払計上" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

手順 2:支払時に未払を消去

請求書が届き支払ったら、費用勘定は再度触らず、負債勘定を借方にして消します。

2025-03-05 * "2 月分電気代支払 - City Power"
Liabilities:Accrued:Utilities 120.00 USD
Assets:Bank:Checking

この方法は小規模チームに最適です。2 月に費用が計上され、3 月に二重計上されることはありません。Beancount では金額を空欄にすると、システムが自動でバランスを取ってくれます。

代替手段:翌月 1 日に逆転エントリを入れる

古典的な「自動逆転」スタイルが好みなら、翌月 1 日に逆転エントリを入れ、実際の請求は通常通り費用勘定に記録します。

手順 1:月末に未払計上(上記と同じ)

2025-02-28 * "2 月分電気代を未払計上" #accrual
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

手順 2:翌月 1 日に逆転

2025-03-01 * "2 月分電気代未払逆転" #reversal
Liabilities:Accrued:Utilities 120.00 USD
Expenses:Utilities

手順 3:通常通り支払を記録

2025-03-05 * "City Power - 2 月分請求書"
Expenses:Utilities 120.00 USD
Assets:Bank:Checking

チェックに関する注意balance アサーションは同日取引の に評価されます。Liabilities:Accrued:Utilities の残高を確認したい場合は、未払計上直後の 2025-02-28 に置くか、逆転後の 2025-03-01 に置いて残高が 0 になることを確認してください。逆転取引の前に置くと誤検知になります。

よくある未払パターン 6 例(コピー&ペースト用) 📋

以下は一般的なビジネスシーンで使えるテンプレートです。

1. 請求書未到着の家賃

2025-01-31 * "1 月分家賃を未払計上" #accrual
Expenses:Rent 3000.00 USD
Liabilities:Accrued:Rent

2. 未払給与

2025-03-31 * "3 月分給与を未払計上" #accrual
Expenses:Payroll:Wages 8500.00 USD
Liabilities:Accrued:Payroll

3. 未払有給手当(PTO)

2025-03-31 * "3 月分有給手当を未払計上" #accrual
Expenses:Payroll:PTO 900.00 USD
Liabilities:Accrued:Payroll

4. 借入金利息の未払

2025-02-29 * "月次ローン利息を未払計上" #accrual
Expenses:Interest 210.00 USD
Liabilities:Accrued:Interest

5. プロフェッショナル費用(監査・法務)

2025-12-31 * "年末監査費用を未払計上" #accrual
Expenses:Professional:Audit 4200.00 USD
Liabilities:Accrued:Professional

6. 請求書未到着の光熱費

2025-04-30 * "4 月分光熱費を未払計上" #accrual
Expenses:Utilities 95.00 USD
Liabilities:Accrued:Utilities

レポート:特定日時点で「何が未払か」?

bean-query が答えを導き出すツールです。未払費用のバランスシートスナップショットを取得する例を示します。

期間末時点の全未払負債残高を取得

以下のクエリは 2025 年 3 月 31 日時点の各未払負債勘定の残高を返します。

bean-query main.beancount '
SELECT account, UNITS(SUM(position)) AS balance
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued"
GROUP BY 1
ORDER BY 1;
'
  • OPEN ON は期間開始時点の残高を設定。
  • CLOSE ON は指定日付 以前 の取引を除外(排他的)。したがって 2025-04-01 を指定すると 2025-03-31 までのデータが取得できます。
  • CLEAR は収益・費用をゼロクリアし、純粋なバランスシート(資産・負債・純資産)だけを残します。

未払勘定の全取引レジスターを表示

未払勘定の生取引履歴を確認したい場合:

bean-query main.beancount '
SELECT date, payee, narration, position
WHERE account "^Liabilities:Accrued"
ORDER BY date;
'

全未払の合計金額を取得

簡易サマリが欲しいときは次のクエリ:

bean-query main.beancount '
SELECT UNITS(SUM(position)) AS total_accruals
FROM OPEN ON 2025-01-01 CLOSE ON 2025-04-01 CLEAR
WHERE account "^Liabilities:Accrued";
'

Beancount 固有のコントロールと「落とし穴」

  • バランスアサーションのタイミング:前述の通り、アサーションはその日の取引が処理される に評価されます。2025-03-01 balance ... は 3 月 1 日の取引より前に実行されます。計画的に配置してください。
  • 命名と階層Liabilities:Accrued:* のようにツリー構造を保つと、クエリがシンプルになり、レポートの可読性が向上します。
  • pad の使用に注意pad ディレクティブは開始残高の調整に便利ですが、定期的な未払計上の「修正」には使わないでください。明示的なエントリが監査証跡を残します。
  • 時点レポート:バランスシートスナップショットは必ず OPEN … CLOSE … CLEAR を組み合わせて取得し、収益・費用が負債合計に混入しないようにします。

前払費用 vs. 未払費用(簡易比較)

混同しやすいので整理しておきましょう。

  • 未払費用:サービスは 消費、現金支払いは 。負債が発生。
  • 前払費用:現金は 支払い、サービスは に消費。資産が発生。

Beancount での会計ロジックは同じで、勘定だけが異なります(Assets:Prepaid:* vs. Liabilities:Accrued:*)。

ファイル冒頭のテンプレート(open ディレクティブ)

以下は本記事で使用した例の open ディレクティブです。元帳ファイルの先頭に追加してください。

; --- Accounts (open once) ---
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Expenses:Utilities
2025-01-01 open Expenses:Payroll:Wages
2025-01-01 open Liabilities:Accrued:Utilities
2025-01-01 open Liabilities:Accrued:Rent
2025-01-01 open Liabilities:Accrued:Payroll
2025-01-01 open Liabilities:Accrued:Interest
2025-01-01 open Liabilities:Accrued:Professional
2025-01-01 open Expenses:Rent
2025-01-01 open Expenses:Professional:Audit
2025-01-01 open Expenses:Payroll:PTO
2025-01-01 open Expenses:Interest
2025-01-01 open Expenses:Utilities

まとめ

未払費用は、発生主義会計の核心であり、正しく記録すれば財務情報の信頼性が格段に向上します。Beancount のシンプルさと bean-query の柔軟なレポーティング機能を活用すれば、未払費用の管理は手間なく実現できます。ぜひ本記事のテンプレートをコピーして、あなたの元帳に組み込んでみてください。

カスタムリンクとクエリでBeancount体験を向上させる

· 約4分
Mike Thrift
Mike Thrift
Marketing Manager

Beancount は、開発者やファイナンス好きに愛される二重仕訳会計システムで、シンプルさが魅力です。しかし、Fava(Beancount のウェブインターフェース)で、より細かい制御や高速なナビゲーションを求めるユーザーには、カスタムサイドバーリンクと SQL クエリがワークフローを次のレベルへ引き上げます。

このガイドでは、以下を実現する方法を紹介します。

  • Fava のサイドバーにクイックアクセスリンクを追加する
  • 高度なフィルタリングと分析のために SQL クエリを使用する
  • 月次レビューや異常検知のためにワークフローをカスタマイズする

なぜ Fava をカスタマイズするのか?

Fava はすでに美しい Ledger 表示インターフェースですが、ジャーナルが大きくなるにつれて、ショートカットやスマートクエリの必要性も高まります。

解決できる課題

  • 時間範囲を何度も手動で指定する手間
  • ネストされた勘定科目を横断する取引のフィルタリング
  • マイナス残高や異常を迅速に検出したい

✨ カスタムサイドバーリンク

まずは、シンプルなサイドバーショートカットで日々の作業を改善しましょう。これらのリンクは Fava の左サイドバーに表示され、今月の取引や先月の収入といったフィルタビューへ直接ジャンプできます。

Beancount ファイルに以下の行を追加します。

2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="

動作概要

  • Current Month:現在の月にフィルタされた取引ビューを開く
  • Last Month:前月に即座にジャンプ(月末レビューに最適)
  • Clear All:フィルタをリセットし、全エントリを再表示

これらのショートカットにより、手動で時間を入力する手間が省け、Fava の操作感がより流動的かつパーソナライズされます。

🔍 カスタム SQL クエリ

さらに深い洞察が必要な場合は、Fava の SQL インターフェースが非常に強力です。以下は、特定パターンにマッチする勘定科目の マイナス残高 をすべて抽出するクエリ例です。異常取引のフラグ付けに最適です。

SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)

クエリの構成要素

  • account '.*:BCM:.*':名前に :BCM: を含む勘定科目をフィルタ
  • number(units(position)) < 0:マイナス残高(例:予算超過)を検出
  • 日付条件で 1 カ月間に絞り込み

活用例

  • 重複経費や誤った仕訳のエラー検出
  • 特定ベンダーやカテゴリの監査
  • 予算策定のための実用的インサイト抽出

🛠 プロのコツ:リンクとクエリを組み合わせる

Fava ではカスタムクエリへの直接リンクは作れませんが、以下の手順で月次レビュー習慣を構築できます。

  1. 「Current Month」リンクでレビューを開始
  2. 別ペインで保存済みクエリタブを開く
  3. まずフィルタを適用し、次にクエリで詳細分析

この組み合わせにより 異常を早期に捕捉 し、Ledger のクリーンさを維持 できます。

最後に

Beancount はミニマル設計ですが、こうした小さな拡張で効率は飛躍的に向上します。予算の見直し、奇妙な残高のデバッグ、クリック数の削減など、カスタムリンクと SQL クエリは「パワー」を増し「摩擦」を減らします。

ボーナス:もし Fava のカスタムレポート を利用しているなら、個人のファイナンス習慣に合わせたダッシュボードも構築可能です。

さあ、コントロールを手に入れましょう!

まずは小さく始めてみてください。 「Current Month」リンクを追加し、次に自分だけのクエリを作成。将来の自分が感謝するはずです。

もっとこうしたヒントが欲しいですか? ニュースレターに登録するか、Beancount.io で他のレシピを探索してください。