このガイドでは、BeancountのcustomディレクティブとFavaウェブインターフェースを使用して、アカウントごとの予算を設定、管理、可視化する方法を説明します。
実践的なLedgerの例: 各封筒を実際の銀行勘定の上に重ねた純資産のサブ勘定としてモデル化します。給与の割り当ては純資産内で価値を移動させ、購入は現金の移動と予算の決定の両方を記録します。
予算の設定方法
予算は、Beancountファイル内でcustom "budget"ディレクティブを使用して定義します。構文は簡単です。
YYYY-MM-DD custom "budget" AccountName "interval" Amount CURRENCYAccountName: 予算を設定する特定の費用または収入アカウント。interval: 予算期間。daily、weekly、monthly、quarterly、yearlyのいずれかである必要があります。Amount: 期間ごとの目標金額。
仕組み:
- 予算ディレクティブは、その日付から同じアカウントの別の予算ディレクティブによって上書きされるまで有効です。
- BeancountとFavaはすべての予算を日割り換算し、任意の日付範囲の予算総額を計算できるようにします。
例:
; コーヒーの日次予算を設定
2024-01-01 custom "budget" Expenses:Food:Coffee "daily" 5.00 USD
; 食料品の月次予算を設定
2024-01-01 custom "budget" Expenses:Food:Groceries "monthly" 600.00 USD
; バケーションの年次予算を設定
2024-01-01 custom "budget" Expenses:Travel:Vacation "yearly" 3000.00 USD予算を調整するには、より新しい日付のディレクティブを追加するだけです。例えば、3月から食料品予算を増やす場合:
2024-03-01 custom "budget" Expenses:Food:Groceries "monthly" 650.00 USDFavaでの予算の可視化
BeancountのウェブインターフェースであるFavaは、予算を自動的に検出し、いくつかの主要なレポートで表示します。これにより、実際の支出を目標と比較できます。
- 損益計算書: 純利益と費用のチャートに、予算額と実際の値が表示されます。
- 変動 (月次): 各月の予算額を表示します。
- 残高 (月次): 経時的な累積予算額を表示します。
高度な予算テクニック
予算の繰越
デフォルトの予算システムは、各期間でリセットされます。未使用の資金を繰り越す「ロールオーバー」を実装するには、専用の資産アカウントを使用して予算資金を保持します。
-
期間の開始時に予算アカウントに資金を入れる:
2024-02-01 * "月次娯楽予算への資金投入" Assets:Checking -200.00 USD Assets:Budget:Entertainment 200.00 USD -
この予算アカウントから直接支出する:
2024-02-15 * "映画の夜" Expenses:Entertainment:Movies 30.00 USD Assets:Budget:Entertainment -30.00 USDAssets:Budget:Entertainmentの残高が繰越額となります。
収入目標の追跡
負の予算額を使用することで、収入アカウントに目標を設定することもできます。これにより、Favaは目標に対する収入を追跡できます。
; 月次収入目標を設定
2024-01-01 custom "budget" Income:Salary "monthly" -5000.00 USD
2024-01-01 custom "budget" Income:Freelance "monthly" -1000.00 USDトラブルシューティング
予算がFavaに表示されない場合は、以下を確認してください。
- 日付形式: 日付が
YYYY-MM-DD形式であることを確認します。 - アカウント名: ディレクティブ内のアカウント名が、取引のアカウント名と完全に一致している必要があります。
- 期間のスペル: 期間は5つの有効なオプションのいずれかで、小文字である必要があります(例:
"monthly")。 - Favaの再起動: ディレクティブを最近追加した場合は、変更を反映するためにFavaサーバーの再起動が必要な場合があります。

