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

「ワークフロー」タグの記事が1件件あります

全てのタグを見る

Beancount流・会計サイクル

· 約11分
Mike Thrift
Mike Thrift
Marketing Manager

財務諸表は魔法のように現れるわけではありません。それらは会計サイクルとして知られる、構造化され、反復可能なプロセスの最終成果物です。その原則は普遍的ですが、使用するツールによって体験は劇的に変わります。このガイドでは、強力なプレーンテキスト会計ツールであるBeancountに焦点を当てて、会計サイクルを解説します。

Beancountのテキストファーストなアプローチが、いかに面倒なステップを排除し、何を自動化すべきか、そしてどのレポートがあなたの財務健全性を最も明確に示してくれるかを見ていきましょう。🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: Beancountのワークフロー

  • 記録と仕訳: すべての取引を、クリーンな複式簿記のエントリとして.beancountテキストファイルに記録します。
  • 検証と照合: balanceアサーションを使用して台帳が銀行の明細と一致することを確認し、bean-checkを実行してエラーを検出します。
  • レビュー: 簡単な健全性チェックのために、修正前の試算表を生成します。
  • 修正: 未収、繰延、減価償却、その他の期末項目に関する仕訳を計上します。
  • 再レビュー: 修正後の試算表をチェックして、すべてが正しいことを確認します。
  • 公開と締め: 損益計算書、貸借対照表、キャッシュフロー計算書を生成します。Beancountではレポートが日付を認識するため、帳簿の締めはオプションです。

このフローは次のように視覚化できます:


ステップ1:取引の捕捉と記録

これは基礎となるステップです。販売、購入、銀行手数料といったすべての財務イベントを記録する必要があります。Beancountでは、通常main.beancountと名付けられるか、年ごとに複数のファイルに整理された単純なテキストファイルに取引を作成することでこれを行います。

各取引は複式簿記のルールに従う必要があり、すべての転記の合計がゼロでなければなりません。Beancountはこれを強制します。

2025-08-10 * "Walmart" "オフィス用品の購入"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • プロのヒント: #project-phoenix#client-acmeのようなタグを使用してデータに次元を追加します。これにより、後々のクエリやレポート作成が非常に柔軟になります。

照合作業の習慣 ✅

正確性を保証するための最も強力な機能は、balanceアサーションです。明細期間の終わり(例:月末)に、勘定の残高がどうあるべきかを宣言します。

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

もしその日までのAssets:Bank:Checkingに影響を与えるすべての取引の合計が12345.67 USDと等しくない場合、Beancountはエラーを発生させます。この単純なディレクティブが、あなたの台帳を自己監査ドキュメントに変えます。

過去のデータを入力している人のために、padディレクティブは、開始残高が最初のアサーションと一致するように、自動的にバランス調整用の取引を作成できます。


ステップ2:「台帳への転記」(これはおまけです!)

伝統的な会計システムでは、まず「仕訳帳」に記入し、次に別の「転記」ステップでそれらの値を「総勘定元帳」にコピーします。

Beancountでは、あなたの.beancountファイルが仕訳帳と台帳の両方です。 取引を書いて保存した時点で、すでに転記は完了しています。別のステップはありません。この直接性が、プレーンテキスト会計の核となる利点です—見たままが得られるものです。


ステップ3:修正前試算表の準備

修正を始める前に、簡単な「すべてが合っているか?」のチェックが必要です。試算表は、すべての勘定とその合計残高をリストアップした単純なレポートです。すべての借方残高の合計は、すべての貸方残高の合計と等しくなければなりません。

これは単純なクエリで生成できます:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

または、より視覚的なアプローチとして、Fava(BeancountのWebインターフェース)で台帳を開き、「試算表」レポートに移動します。貸方残高のある資産勘定や、奇妙な値を持つ費用勘定など、異常なものがないか探します。


ステップ4:修正仕訳の計上

修正仕訳は、発生主義会計の下で正確な報告を行うために不可欠です。これにより、現金がいつやり取りされたかに関わらず、収益は稼得時に、費用は発生時に認識されることが保証されます。

一般的な修正には以下が含まれます:

  • 未収(Accruals): まだ請求していないが稼得した収益、または発生したがまだ支払っていない費用を記録します。
  • 繰延(Deferrals): 前払金を処理します。顧客が1年分のサービス料を前払いした場合、それを負債(Liabilities:UnearnedRevenue)として計上し、毎月その1/12を収益として認識します。
  • 非現金項目(Non-Cash Items): 資産の減価償却などを記録します。
  • 訂正(Corrections): 銀行フィードからの見逃し項目(少額の利息支払いなど)の修正や会計処理を行います。

例:未収収益の計上

8月31日にプロジェクトを完了しましたが、請求書を送るのは9月になります。正しい期間(8月)に収益を認識するために、修正仕訳を行います:

2025-08-31 * "クライアントプロジェクト#1042の収益を未収計上"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

例:減価償却の記録

あなたの会社には資産の減価償却スケジュールがあります。期間の終わりに、費用を計上します:

2025-12-31 * "コンピュータ機器の年間減価償却"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

ステップ5:修正後試算表の実行と検証

修正仕訳を計上したら、再び試算表レポートを実行します。これがあなたの修正後試算表です。これは、財務諸表を作成するために使用される最終的な数値セットを提供します。

これはまた、Beancountに組み込まれている健全性チェックを実行する絶好のタイミングでもあります:

bean-check main.beancount

このコマンドは、すべての構文、貸借一致ルール、およびアサーションを検証します。何も出力されずに実行されれば、あなたの帳簿は機械的に健全です。


ステップ6:財務諸表の公開 📊

これが成果です。修正後試算表の数値を使用して、主要な財務レポートを生成できるようになりました。Favaは、インタラクティブでドリルダウン可能なレポートを標準で提供するため、これを行う最も簡単な方法です。

  • 損益計算書(P&L): ある期間の収益と費用を示し、純利益または純損失を明らかにします。
  • 貸借対照表: 特定の日付における、所有するもの(資産)と負っているもの(負債)、そして純資産(資本)のスナップショットです。
  • キャッシュフロー計算書: お金がどこから来てどこへ行ったかを示すことで、期首の現金残高と期末の現金残高を調整します。

カスタムレポートには、Beancountクエリ言語(BQL)を使用できます。以下は月次損益計算書のクエリです:

-- 2025年8月の損益計算書
SELECT account, sum(position)
WHERE account ~ '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

ステップ7:帳簿の締め(オプション)

伝統的な会計では、「締め」のプロセスには、すべての一時勘定(収益と費用)をゼロにし、純利益を利益剰余金という資本勘定に振り替える仕訳を作成することが含まれます。これにより、翌年のために一時勘定が正式にリセットされます。

Beancountでは、このステップは通常不要です。 Favaのレポートは日付を認識します。2025年の損益計算書を要求すれば、2025年のデータのみが使用されます。残高が「繰り越される」ことはありません。ほとんどのユーザーは、残高をそのままにしておきます。

ただし、コンプライアンスや株主報告のために正式な締めを行う必要がある場合は、収益と費用の合計残高をEquity:Retained-Earningsに移動する簡単な年末取引で行うことができます。


実用的な月次締めチェックリスト

Beancountを使用して毎月帳簿を締めるための、反復可能なチェックリストです。

  • 記録: すべての銀行およびクレジットカードの取引をインポートします。現金経費やその他の項目を手動で入力します。
  • 照合: すべての銀行口座、クレジットカード、ローン口座にbalanceアサーションを追加し、明細書と一致させます。
  • レビュー: Favaで修正前試算表をスキャンします。奇妙な、または予期しない残高を調査します。古い未払いの請求書(Assets:AccountsReceivable)や支払い(Liabilities:AccountsPayable)がないか確認します。
  • 修正: 未収収益/費用、繰延収益、および必要な訂正の仕訳を計上します。
  • 検証: bean-checkを実行します。最終的な修正後試сан表をレビューします。
  • 公開: 損益計算書と貸借対照表を生成します。利害関係者に送るか、記録のために保存します。
  • 締め: ビジネスで必要な場合は、オプションで締め仕訳を実行します。その期間の.beancountファイルのコピーをアーカイブします。

Beancountが会計サイクルで優れている理由

  • 透明性と監査可能性: あなたの台帳はテキストファイルです。gitを使用して財務履歴をバージョン管理し、diffで変更を確認し、会計士と明確で曖昧さのない形式で共同作業できます。
  • 完全なコントロール: あなたが勘定科目表を定義します。ソフトウェアベンダーの構造に縛られることはありません。あなたのデータは、オープンフォーマットで、永遠にあなたのものです。
  • 比類なきパワー: SQLライクなクエリ(BQL)と豊富なWebインターフェース(Fava)の組み合わせにより、財務データを分析し、理解するための比類なき力を得られます。

すぐに始められるコピペ用スニペット

シンプルな勘定科目表:

option "title" "私の個人台帳"
option "operating_currency" "USD"

;; --- 勘定科目 ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

便利なBQLクエリ:

-- 未払い残高のあるすべての顧客を検索
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

時代を超越した会計サイクルを、Beancountのモダンでテキストベースのツールにマッピングすることで、堅牢で透明性が高く、長く使えるシステムを手に入れることができます。楽しい簿記を!