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

Beancount のオプション設定

Beancount の動作は、メインの元帳ファイルの先頭に配置された option ディレクティブを使用してカスタマイズできます。これらのキーと値のペアは、ルートアカウントの名前から通貨換算の処理方法まで、あらゆるものを制御します。これらのオプションを適切に設定することは、Beancount を特定のニーズに合わせて調整するために不可欠です。⚙️

主要な設定オプション

options-configuration

これらのオプションは、元帳の基本的な設定を制御します。

基本設定

これらは、設定する最も一般的なオプションの一部です。

option "title" "個人元帳"
option "render_commas" "TRUE"
option "plugin_processing_mode" "raw"
  • title: レポートと Web インターフェースのタイトルを設定します。
  • render_commas: TRUE の場合、レポートの数値は桁区切り記号でフォーマットされます (例: 1,000,000.00)。
  • plugin_processing_mode: プラグインのロード方法を制御します。raw は明示的に指定したプラグインのみをロードし、default は標準的な便利なプラグインのセットを含みます。

アカウント名のカスタマイズ

Beancount の 5 つの基本的なアカウントタイプを名前変更できます。これは完全に表面的なものであり、レポートでの表示方法を変更します。

option "name_assets" "資産"
option "name_liabilities" "負債"
option "name_equity" "資本"
option "name_income" "収入"
option "name_expenses" "費用"

資本勘定の設定

Beancount は、期首残高と収益計算を処理するために、いくつかの特別な資本勘定を自動的に作成します。これらの勘定のカスタム名を指定できます。

option "account_previous_balances" "期首残高"
option "account_previous_earnings" "収益:繰越"
option "account_current_earnings" "収益:当期"
option "account_previous_conversions" "換算:繰越"
option "account_current_conversions" "換算:当期"
option "account_rounding" "端数処理"
  • account_previous_balances: 元帳に期首残高を投入するために使用される勘定。
  • account_current_earnings: 当期のすべての収入と費用の合計を累積し、実質的に純利益を計算する勘定。
  • account_rounding: 自動端数処理による小さな不一致が計上される勘定。

精度と許容範囲の設定

これらのオプションは、Beancount がトランザクションの端数処理と小さな不均衡をどのように処理するかを制御します。

デフォルトの許容範囲設定

Beancount は、複数の通貨またはコストを持つトランザクションの許容範囲を自動的に推測できるため、エラーを引き起こすことなく、小さな端数処理の違いを許容できます。

option "inferred_tolerance_default" "USD:0.01"
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"
  • inferred_tolerance_default: 指定された通貨のデフォルトの許容範囲を設定します。*:0.5 を使用して、すべての通貨のデフォルトを設定できます。
  • inferred_tolerance_multiplier: わずかに大きな誤差範囲を提供するために、許容範囲に適用される係数。
  • infer_tolerance_from_cost: True の場合、許容範囲はコストの桁数から推測されます。

記帳方法

このオプションは、一方のレッグが推測されるトランザクションを Beancount がどのように処理するかを定義します。

option "booking_method" "SIMPLE"
  • SIMPLE: トランザクションごとに 1 つの商品のみを自動的にバランスさせることができます。これは推奨される最も一般的な方法です。
  • FULL: 複数の商品をバランスさせることができます。これはより複雑で、めったに必要とされない方法です。

通貨管理

適切な通貨設定は、正確なレポート作成に不可欠です。

営業通貨

1 つ以上の「営業通貨」を宣言できます。これらは、取引で使用し、レポートに表示したい主要な通貨です。

option "operating_currency" "USD"
option "operating_currency" "EUR"
option "conversion_currency" "NOTHING"

営業通貨を宣言すると、Beancount はレポートにそれらの専用の列を作成するように指示され、最もよく使用する通貨での財務状況を簡単に確認できます。conversion_currencyNOTHING に設定すると、自動換算列が無効になります。これは、よりクリーンなレポートのために推奨されることがよくあります。

ドキュメント管理

Beancount は、領収書や請求書などの外部ファイルをトランザクションにリンクできます。documents オプションは、これらのファイルが保存されているルートフォルダーを指定します。

option "documents" "/path/to/documents/archive"

要件:

  • ファイルは YYYY-MM-DD.description.ext の形式で名前を付ける必要があります (例: 2025-07-28.amazon-order.pdf)。
  • 異なるフォルダーに対して複数の documents オプションを指定できます。
  • パスは、メインの元帳ファイルに対する絶対パスまたは相対パスにすることができます。

プラグインシステム

Beancount の機能は、プラグインで拡張できます。

プラグインの設定

モジュールパスを指定してプラグインを有効にします。

option "plugin" "beancount.plugins.module_name"

前述のように、plugin_processing_mode オプションは、Beancount が指定されたプラグインのみ (raw) をロードするか、デフォルトのセットもロードするか (default) を制御します。

技術的な制限と制約

これらのオプションは、Beancount パーサーの技術的な側面を制御します。

文字列処理

解析エラーを防ぐために、複数行文字列で許可される行数の制限を設定できます。

option "long_string_maxlines" "64"

試験的な機能

Beancount には、オプションで有効にできる試験的な機能が含まれている場合があります。たとえば、明示的な許容構文を有効にするには:

option "experiment_explicit_tolerances" "True"

これにより、532.23 ~ 0.001 USD のように、トランザクションの投稿で許容範囲を直接指定できます。

システム動作の制御

これらのオプションは、互換性または特定のシステム動作を維持するためのものです。

レガシーサポート

このオプションは、古い元帳との下位互換性のために、古い固定許容値を有効にします。

option "use_legacy_fixed_tolerances" "True"

固定されたレガシーの許容範囲は次のとおりでした。

  • Balance/Pad ディレクティブ: 0.015 単位
  • トランザクション: 0.005 単位

推奨される設定 ✅

ほとんどのユーザーにとって、次の設定は堅牢で賢明な出発点を提供します。

基本設定

option "title" "個人元帳"
option "operating_currency" "USD" // 主要な通貨に変更してください
option "documents" "/home/user/Documents/beancount" // ドキュメントのパスに変更してください
option "render_commas" "TRUE"

精度管理

option "inferred_tolerance_default" "USD:0.01" // 主要な通貨に変更してください
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"

アカウント構造

option "account_previous_balances" "資本:期首残高"
option "account_current_earnings" "資本:当期収益"
option "account_rounding" "費用:端数処理"

この設定は、新しい Beancount 元帳の堅固な基盤を提供し、明確なレポート、賢明な精度管理、および論理的な資本勘定構造を保証します。