カスタムリンクとクエリでBeancountのエクスペリエンスを向上させる
開発者や財務オタクに愛される複式簿記会計システム Beancount は、そのシンプルさにおいて強力です。しかし、Fava (BeancountのWebインターフェース) 内でより多くの制御と高速なナビゲーションを求める人にとって、カスタムサイドバーリンクとSQLクエリは、ワークフローを次のレベルに引き上げることができます。
このガイドでは、次の方法を紹介します。
- Favaのサイドバーにクイックアクセスリンクを追加する
- SQLクエリを使用して高度なフィルタリングと分析を行う
- 月次レビューまたは異常検出のた めにワークフローをカスタマイズする
Favaをカスタマイズする理由
FavaはすでにBeancount台帳を表示するための美しいインターフェースですが、ジャーナルが成長するにつれて、より良いショートカットとよりスマートなクエリの必要性も高まります。
これが解決する問題点:
- 時間範囲を繰り返しナビゲートする
- ネストされたアカウント全体のトランザクションをフィルタリングする
- マイナス残高や異常をより迅速に発見する
✨ カスタムサイドバーリンク
簡単なサイドバーショートカットで日々のワークフローを改善することから始めましょう。これらのリンクは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ではカスタムクエリへの直接リンクは許可されていませんが、次の方法で月次レビューの習慣を作成できます。
- 「Current Month」リンクを使用してレビューを開始する
- 保存したクエリタブを別のペインで開く
- 両方を同時にレビューする—最初にフィルタリングし、次に深く掘り下げる
この組み合わせは、異常が拡大する前にキャッチし、台帳をクリーンに保つのに役立ちます。