税金は個人財務の世界では特別で複雑なものに感じられるかもしれません。しかし、もしそうでなかったらどうでしょう?税金を元帳の他のお金の流れとまったく同じように扱えたら?良い知らせがあります。それは可能です。税金を価値の単純な移動として扱うことで、Beancountの元帳はクリーンで、照会しやすく、そして最も重要なことに、理解しやすいものに保てます。
以下に、個人または小規模事業のBeancountファイルにそのまま追加できる、実用的で無駄のないパターンを示します。これは給与、税金の支払い、そして新年に持ち越される厄介な還付金を処理するためのシンプルなシステムです。必要な主要な勘定科目を説明し、実際の例を紹介し、必要な答えを得るための正確なクエリを示します。
基本原則
コードに飛び込む前に、いくつかのシンプルなルールに同意しましょう。これらの原則は物事を論理的に保ち、将来の頭痛を防ぎます。
-
「それが何か」と「現金が動く時期」を分離する。 🗓️ これは最も重要な概念です。税金費用は、たとえ2025年4月にIRS(米国内国歳入庁)と精算しても、収入を得た年(例:2024年)に属します。費用の時期と現金支払いの時期を分離しないと、年度比較レポートが乱雑で誤解を招くものになります。
-
勘定科目の階層は退屈でシンプルに保つ。 📁 税金の_種類_(例:
IncomeTax、SocialSecurity)に基づいて勘定科目を明確に命名します。これによりクエリが非常にシンプルになります。「W-2」や「1099」などのベンダー名やフォーム番号で勘定科目名を乱雑にしないでください。それらの詳細にはメタデータとタグを使用します。 -
年末調整には発生主義を取り入れる。 ⚖️ 個人の元帳であっても、年末に単純な発生主義の仕訳を使用することが、レポートを正確にする最もクリーンな方法です。つまり、現金が翌年まで動かなくても、費用や還付金を正しい年に認識することを意味します。これは、後で頭の体操を省くための、小さな追加ステップです。
-
将来の自分のために書く。 🧠 目標は明確さです。税年度などの追加の詳細は、それが本当にクエリを容易にする場合にのみ勘定科目名に追加してください。説得力のある理由がない限り、毎年新しい勘定科目セット(
Expenses:Taxes:2024:Federal、Expenses:Taxes:2025:Federalなど)を作成することは避けてください。フラットな構造はしばしば管理が容易です。
最小限の勘定科目スケルトン
始めるための基本的な勘定科目セットを以下に示します。この構造は米国中心ですが、自国の税制に合わせて名前を簡単に調整できます。これらのopenディレクティブをBeancountファイルに追加するだけです。
; --- 米国連邦所得税・給与税 ---
; 給与から差し引かれるお金用
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; 直接支払う予定納税や確定申告日の請求用
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; 受け取る税金還付金用
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD
; FICA拠出金
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD
; --- その他の一般的な税金 ---
; 購入時に支払う消費税/使用税用
2024-01-01 open Expenses:Taxes:Sales USD
; --- 年末調整用の勘定科目(任意だが推奨!) ---
; 未払いだがまだ支払っていない税金の一時的な holding 勘定
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; まだ受け取っていない還付金の一時的な holding 勘定
2024-01-01 open Assets:Tax:Receivable USDこの設定により、源泉徴収税が直接支払いや還付金から分離され、お金がどこに行ったかを正確に把握しやすくなります。LiabilitiesとAssetsの勘定科目は、年末のレポートを正確に保つための秘密兵器です。
例1: 給与
税金が自動的に源泉徴収される典型的な給与を計上しましょう。重要なのは、最初に総支給額を記録し、次にそれが税金と銀行口座に実際に入った現金にどのように分割されたかを示すことです。
2025-07-15 * "Employer Inc." "7月前半の給与"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USDこの単一の取引は全体像を物語っています:
- 総収入として6,000ドルを稼いだ。
- そのうち1,200ドルが連邦所得税としてIRSに送られた。
- 372ドルが社会保障に、87ドルがメディケアに充てられた。
- 残りの4,341ドルが手取り額です。
プロのヒント: 給与明細からのメタデータ(pay_period_end: "2025-07-15"など)を取引に添付して、簡単な監査証跡を作成できます。
例2: 確定申告(年度をまたぐ問題)
人々がつまずくシナリオはこれです。2025年4月に2024年分の税金を申告しています。すべての源泉徴収の後、さらに3,000ドルの追加納税が必要であることがわかりました。
これをどう記録しますか?費用は2024年に計上したいが、現金の支払いは2025年に発生します。これを処理する優れた方法が2つあります。
オプションA: 手動の2段階発生主義
この方法は純粋なBeancountで、プラグインは不要です。明確な2段階のプロセスです。
ステップ1: 課税年度の終わりに費用を認識する。 2024年の最終日に「調整」仕訳を作成します。まだ現金は動いていません。費用を認識し、一時的な負債勘定に保留しているだけです。
2024-12-31 * "2024年分の連邦所得税調整"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USDこれで、2024年の損益計算書にこの3,000ドルの費用が正しく表示されます。
ステップ2: 実際に支払いが発生したときに現金支払いを記録する。 2025年4月に実際にIRSに送金したとき、負債を清算します。
2025-04-15 * "IRS" "2024年分の確定申告の支払い"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD2024年のレポートは正確で、2025年のキャッシュフローも正確です。完璧です!この同じパターンは還付金の場合も逆に機能します。負債勘定の代わりにAssets:Tax:Receivableを使用してください。
オプションB: プラグインで自動化する
支払いを単一の取引にまとめたい場合は、beancount_reds_plugins.effective_dateという素晴らしいコミュニティプラグインが役立ちます。これにより、単一の明細行に異なる「発効日」を割り当てることができます。
まず、メインのBeancountファイルでプラグインを有効にします:
plugin "beancount_reds_plugins.effective_date"
次に、単一の取引を書くことができます。プラグインはバックグラウンドで自動的に分割し、レポートを正確にします。
; 1つの仕訳; 残りはプラグインが処理
2025-04-15 * "IRS" "2024年分の確定申告の支払い"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31ここでは、現金部分は2025年4月15日に記録されますが、費用部分は2024年12月31日に遡って適用されます。オプションAと同じ結果を、異なるワークフローで達成します。
消費税はどうする?
ほとんどの個人の元帳では、消費税はシンプルです。還付を受けない場合は、購入時に独自の費用として分割するだけです。
2025-07-19 * "地元の食料品店"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USDこれにより、1年間に消費税にいくら費やしているかを簡単に追跡できます。VAT(付加価値税)を扱う事業を行っている場合は、支払勘定と受取勘定を持つより正式なシステムを使用しますが、原則は同じです。
実際に使用するクエリ
この構造の要点は、答えを得るのを容易にすることです。税の状況を確認するためのBQLクエリをいくつか紹介します。
1. 2024年の連邦所得税の合計はいくらでしたか?
SELECT cost(sum(position))
WHERE account ~ "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;2. その合計は、源泉徴収、支払い、還付金にどのように内訳されましたか?
SELECT account, cost(sum(position))
WHERE account ~ "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;3. 未払いの税金債務や未収還付金はありますか?(作業の確認に便利です!)
SELECT account, units(sum(position))
WHERE account ~ "Liabilities:AccruedTaxes" OR account ~ "Assets:Tax"
GROUP BY account
ORDER BY account;このクエリがゼロ以外の残高を返す場合、まだ精算していない未払い金があることを意味します。
クイックFAQ
-
Expenses:Taxes:2024のような年度別の勘定科目は本当に必要ですか? おそらく必要ありません。発生主義(またはプラグイン)により、フラットな勘定科目構造をクリーンで読みやすく保ちます。特定のクエリが書きやすくなる場合にのみ、年度別の勘定科目を作成してください。 -
Beancountは税金を計算してくれますか? 直接はできませんが、データを準備できます。上級ユーザーの中には、BQLクエリの結果を税金計算ソフトウェアにパイプするスクリプトを書く人もいます。これは年間の納税義務を推定するのに最適です。
-
これは税務アドバイスですか? いいえ。 これはデータを整理するための簿記パターンです。会計処理は健全ですが、特定の状況に応じたアドバイスについては、常に税務の専門家に相談してください。
すぐに使えるチェックリスト
準備はできましたか?
- ✅ 勘定科目スケルトンをBeancountファイルに追加します(国に合わせて名前を調整します)。
- ✅ 給与を計上する際は、総収入から始めて税金の転記を分割します。
- ✅ 年末に、未払金や還付金の調整を計上し、負債/資産勘定を使用します(または
effective_dateプラグインを使用します)。 - ✅ 還付金を未収金として追跡し、現金が到着したら清算します。
- ✅ 上記のBQLクエリを実行して、申告前に合計を検証します。
退屈で一貫性のある状態を保てば、税務申告の季節はついにあなたの財務ストーリーのほんの一部に感じられるでしょう。解決すべき謎ではなくなります。