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

「Assets」タグの記事が4件件あります

全てのタグを見る

減価償却累計(Beancount 用):実践的なプレーンテキストガイド

· 約7分
Mike Thrift
Mike Thrift
Marketing Manager

会計で固定資産(ノートパソコン、カメラ、機械、オフィス家具など)を管理している場合、帳簿はそれらの価値減少を反映する必要があります。これには、減価償却(費用)とその累計である 減価償却累計 の2つの重要概念が関わります。本ガイドでは、これらを平易な言葉で解説し、Beancount でのモデル化方法をコピー&ペースト可能な例とともに示し、強力な自動化オプションも紹介します。

Image

減価償却累計とは?

減価償却累計 は、資産が使用開始された日から記録された減価償却の総額です。累積的な合計と考えてください。新たな費用項目ではなく、対象資産に対して過去に計上された減価償却の合計です。

財務諸表では、減価償却累計は資産の取得原価と対になって表示されます。これにより、帳簿を見る人は 取得原価(支払った金額)と 帳簿価額(現在の帳簿上の価値)の両方を把握できます。

重要な点は、減価償却累計が 貸方資産(contra-asset) 勘定であることです。一見複雑に思えるかもしれませんが、シンプルです:

  • 「資産」勘定であるため、勘定科目表の Assets セクションに位置します。
  • しかし、貸方残高(Beancount の資産勘定では負の値)を持ち、関連する固定資産の価値を 減少 させます。

貸借対照表での表示場所は?

減価償却累計は通常、関連する固定資産の直下に貸借対照表に表示されます。例:

Equipment: Computers$10,000
減価償却累計$2,000
帳簿価額$8,000

多くの財務諸表では、「有形固定資産(純額)」 のように単一行で簡略化して表示します。この数値は、すべての資産の取得原価合計から総減価償却累計を差し引いたもので、最終的な 帳簿価額 を示します。

減価償却はどのように計算するか?

減価償却の計算方法は複数あり、選択した方法により各期間の費用計上額が決まり、結果として減価償却累計に加算されます。代表的な2つの方法は次のとおりです:

  • 定額法(Straight-Line, SL):最もシンプルで一般的な方法です。資産の耐用年数全期間にわたり、取得原価を均等に費用化します。例として、取得原価3,000ドル、耐用年数36か月(3年)のノートパソコンは、月額83.33ドルで減価償却します。
  • 税務上の方法(例:米国のMACRS):税務上は、政府が定めた加速償却スケジュールが使用されます。米国では、Modified Accelerated Cost Recovery System(MACRS)により、資産の初期年に大きな減価償却が認められます。Beancount でもこれらのスケジュールを扱えますが、公式表(IRS Publication 946 など)に基づいて金額を算出し、対応する仕訳を生成する必要があります。

式(定額法)

期間減価償却 = fractext取得原価text残存価額text耐用年数\\frac{\\text{取得原価} - \\text{残存価額}}{\\text{耐用年数}}

減価償却累計(日時 t 時点) = sum(text期間減価償却(tまで))\\sum (\\text{期間減価償却(t まで)})

残存価額 は、耐用年数終了時点での資産の推定残存価値です。簡便のため、ゼロと見なすことが多いです。

Beancount のやり方:取得原価と減価償却累計のモデル化

Beancount で固定資産を正しく管理し、取得原価を保持するために、各カテゴリごとに資産勘定を2つ(取得原価用と減価償却累計用)と費用勘定を使用します。

  • Assets:Equipment:Computers:Cost (取得原価を保持)
  • Assets:Equipment:Computers:AccumDep (貸方資産で、時間とともに貸方残高が増える)
  • Expenses:Depreciation:Computers (期間費用を記録)

オプション A:手動定額法仕訳

最も直接的な方法です。すべての仕訳を自分で管理できるため、仕組みの理解に適しています。

1. 必要な勘定を開く

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers
2025-01-01 open Expenses:Depreciation

2. 取得原価と減価償却累計を記録

2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-01-01 open Expenses:Depreciation:Computers

オプション B:自動化された仕訳

Beancount の自動化機能を利用して、減価償却の計算と仕訳生成を自動化できます。以下は、MACRS などの税務上のスケジュールを手動で適用する例です。

; 1. 初回購入を記録
2025-01-01 * "ノートパソコン購入"
Assets:Equipment:Computers:Cost 3000 USD
Assets:Bank:Checking -3000 USD

; 2. 定額法で毎月の減価償却を記録
2025-02-01 * "減価償却(定額法)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD

オプション C:税務上のスケジュール(例:MACRS)

税務上の加速償却スケジュールを使用する場合、公式表に基づいて金額を算出し、対応する仕訳を作成します。

; 1. 初回購入を記録(同上)
2025-01-01 * "ノートパソコン購入"
Assets:Equipment:Computers:Cost 3000 USD
Assets:Bank:Checking -3000 USD

; 2. MACRS に基づく減価償却を記録
2025-02-01 * "減価償却(MACRS)"
Expenses:Depreciation:Computers 150.00 USD
Assets:Equipment:Computers:AccumDep -150.00 USD

Beancount のやり方:取得原価と減価償却累計のモデル化

取得原価と減価償却累計を正しく管理するために、次のように勘定を構成します。

  • Assets:Equipment:Computers:Cost – 取得原価を保持
  • Assets:Equipment:Computers:AccumDep – 貸方資産で、時間とともに貸方残高が増加
  • Expenses:Depreciation:Computers – 期間費用を記録

オプション A:手動定額法仕訳

最も直接的な方法です。すべての仕訳を自分で管理できるため、仕組みの理解に適しています。

1. 必要な勘定を開く

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers
2025-01-01 open Expenses:Depreciation:Computers

2. 取得原価と減価償却累計の勘定を開く

2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep

3. 初回購入を記録

2025-01-15 * "ノートパソコン購入"
Assets:Equipment:Computers:Cost 3000 USD
Assets:Bank:Checking -3000 USD

4. 定額法で毎月の減価償却を記録

2025-02-01 * "減価償却(定額法)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD

オプション B:自動化された仕訳

税務上のスケジュールや自動化ツールを利用して、減価償却の計算と仕訳生成を自動化できます。以下は、MACRS に基づく例です。

; 1. 初回購入を記録(同上)
2025-01-01 * "ノートパソコン購入"
Assets:Equipment:Computers:Cost 3000 USD
Assets:Bank:Checking -3000 USD

; 2. MACRS に基づく減価償却を記録
2025-02-01 * "減価償却(MACRS)"
Expenses:Depreciation:Computers 150.00 USD
Assets:Equipment:Computers:AccumDep -150.00 USD

TL;DR

減価償却累計取得原価 を別々の勘定で管理し、Beancount の仕訳で正確に反映させます。手動でも自動化でも、コード例をコピー&ペーストすればすぐに実装可能です。

参考文献

  • 式(定額法)
    期間減価償却 = fractext取得原価text残存価額text耐用年数\\frac{\\text{取得原価} - \\text{残存価額}}{\\text{耐用年数}}
    減価償却累計(日時 t 時点) = sum(text期間減価償却(tまで))\\sum (\\text{期間減価償却(t まで)})

  • 残存価額 は、耐用年数終了時点での資産の推定残存価値です。簡便のため、ゼロと見なすことが多いです。

Beancountで不動産取引をモデル化する

· 約8分
Mike Thrift
Mike Thrift
Marketing Manager

不動産取引は、家族の生涯における最大の金融活動になることがあります。本稿では、Beancountで不動産をどのようにモデル化するかを解説します。私は不動産を資産として扱い、住宅の評価益を未実現利益とします。さらに、住宅ローンは負債としてモデル化し、利息は費用として扱います。

例として、A氏が2020年1月1日にカリフォルニア州XYZ市123 ABC Street(郵便番号12345)にある高級住宅を100万ドルで購入したとします。金利は3.0%、頭金は20%、ローン金額は80万ドルです。

項目金額
住宅ローン金額800,000
金利3%
住宅ローン期間30 years
住宅ローン総コスト1,478,219.62
月額支払額4,106.17
住宅保険1,300 per year (39,000 total)
固定資産税1,500 per year (7,500 total)
ローン完済2030-12-31
支払総利息678,219.62

2023-06-09-不動産追跡 住宅ローン詳細スクリーンショット

アカウント作成

まず、住宅を資産として扱います。資産として登録するためには単位を設定する必要があります。この場合、単位数量は1のみで、複数所有する可能性は低く、たとえn番目の住宅であっても別個の資産として記録したいと考えます。つまり、1つの住宅は1つの資産に対応し、この資産は特別な単位を持ち、その価値は 1 であるとみなします。

2020-01-01 open Assets:Home
2020-01-01 open Liabilities:Mortgage
2020-01-01 open Equity:Opening-Balances
2020-01-01 open Expenses:Interest
2020-01-01 open Expenses:Insurance
2020-01-01 open Expenses:Tax
2020-01-01 open Income:Gain
2020-01-01 open Assets:Cash
2020-01-01 open Liabilities:Credit-Card

ここでは、最初の行で住宅を表す商品単位を定義しました。4 行目で資産アカウントを定義し、先に定義した住宅の商品単位を保持します。5 行目で貸し手銀行のアカウントを定義しました。これは負債であるため、Liabilities カテゴリに属します。

購入

上記のようにアカウントを設定した上で、住宅の購入は次のように表せます。

borrowing money (debt) + spending money (down payment) = 1 house in asset

住宅購入時に最も重要な参照資料は、買主決済明細書(Buyer's Settlement Statement)であり、資金の流れが明確に示されています。

2020-01-01 open Assets:Home
2020-01-01 open Liabilities:Mortgage
2020-01-01 open Equity:Opening-Balances
2020-01-01 open Expenses:Interest
2020-01-01 open Expenses:Insurance
2020-01-01 open Expenses:Tax
2020-01-01 open Income:Gain
2020-01-01 open Assets:Cash
2020-01-01 open Liabilities:Credit-Card
2020-01-01 * "Buy house" "A氏が住宅を購入"
Assets:Home 1 Home @ 1,000,000 USD
Liabilities:Mortgage -800,000 USD
Assets:Cash:Bank1 -200,000 USD
Expenses:Interest 0 USD
Expenses:Insurance 0 USD
Expenses:Tax 0 USD

ここでは、住宅購入の取引を詳細に記述しています。いくつかの銀行から資金が流出し(頭金やその他費用に使用)、ローンが借り入れられ(負債が増加)、住宅が取得され(資産が増加)します。

住宅ローン返済

上記の購入記録に基づくと、現在800,000 USD の負債があります。金利があるため、米国のローンは元本と利息が均等に償却されることを考慮すると、月々の支払額は利息分と元本分に分かれます。初期段階では利息の割合が大きくなります。

ローン返済を記録するには、ローン銀行の明細を確認するだけです。毎月返済する元本額と残りの利息額を把握すればよく、利息は費用として計上します。

2025-01-01 * "Pay mortgage"
Assets:Cash:Joint -4,106.17 USD
Liabilities:Mortgage 3,106.17 USD
Expenses:Interest 1,000.00 USD

このエントリは、共同貯蓄口座から差し引かれる月々の住宅ローン支払を詳細に示しています。元本の返済は負債を減少させ、利息部分は費用として扱われます。

評価益

不動産の評価益を記録したい場合、別のアカウントを作成し(現在の不動産の評価益のみを記録)、住宅の価値が上昇または下落する可能性があるため、評価益はマイナスになることもあります。この方法の利点は、総資産のサマリーに取引時点の住宅価値と現在の評価益の2つのアカウントが含まれ、住宅のリアルタイム価格を反映できることです。

私はこの方法を採用しませんでした。その主な理由は以下の通りです。

  1. 現在の住宅価値はあくまで推定であり、参考程度にしかならず実務的価値が低い。通常は Redfin や Zillow といったウェブサイトで評価額を取得しますが、参考価値は高くないと考えています。また、リアルタイムで総資産に評価益を組み込むことは検討していません。

  2. 個人的には、住宅ローンが完済されるまでキャッシュフローがマイナスであれば、ある程度は資産ではなく負債とみなすべきだと考えます。そのため、資産に早期に組み込むと資産が実際以上に膨らんだように見え、評価益が錯覚を生むため、これを避けたいです。

私が不動産の評価益を記録する方法は、後述する RSU のモデル化でも使用します。この方法は仮想通貨単位を利用することです。基軸通貨が USD であると仮定し、USD.UNVEST(新たに Commodity を作成する必要はないようです)を用いて、この資産が特別な通貨で計算されることを示します。この資産の増減は USD で記録されません。これにより、住宅の評価益を記録しつつ、最終的な貸借対照表(Balance Sheet)には含めないという元々の目的を達成できます。

2025-01-01 price Assets:Home 1,400,000 USD.UNVEST

定期的に不動産の価格を USD.UNVEST で設定すればよいだけです。

したがって、Fava の Commodity ページでは住宅の基準価格の推移を追跡できますが、Balance Sheet ページでは住宅の価格は取引時点の価格のままです。つまり、総資産は当時の頭金と、返済し続けている元本の合計です。この資産の最終的な変化は住宅を購入したときにのみ起こります。

不動産価格チャートスクリーンショット

売却

まだ不動産が売却されておらず、中間の諸費用も不明なため、これは仮想シナリオです。

例えば、2025年1月1日に不動産の評価額が1,400,000ドルに上昇したとし、参考データは以下の通りです。

項目金額
残高1,300,000
仲介手数料(6%)78,000
その他クロージング費用2,000

A氏は不動産を売却することにし、最終的な売却価格は1,300,000ドルです。

2025-01-01 * "Sell house"
Assets:Home -1.0 Home @ 1,000,000 USD
Liabilities:Mortgage -800,000 USD
Assets:Cash:Bank1 200,000 USD
Expenses:Interest 100,000 USD
Income:Gain 0 USD
Assets:Cash:Bank2 1,300,000 USD

ここでは、5 年間のうち 2 年は自己居住と仮定し、評価益 500,000 ドルは課税対象外としています。数値はランダムに算出しています。最終的に A 氏の口座に入る金額は 418,343.8 ドルで、そのうち 200,000 ドルは当時の頭金、約 100,000 ドルは支払った利息です。したがって、帳簿上の利益は約 100,000 ドルとなります。計算は公平ではなく、実際には A 氏は 5 年間の家賃を節約しており、住宅の維持費やリフォーム費用など他の支出もあることに留意してください。

これを貸借対照表に反映させるには、以下のように価格を設定します。

2025-01-01 price Assets:Home 1,400,000 USD.UNVEST

Beancount における償却の理解

· 約2分
Mike Thrift
Mike Thrift
Marketing Manager

償却は支払いを時間にわたって多数の分割払いに分散させます。beancount.io では、プラグイン fava.plugins.amortize_over を使用してこれを実現できます。

2021-01-09-amortize

償却を使用しない場合、例えば 6 ヶ月間の自動車保険に 600 ドルかかるとします。この費用は特定の日付の一回限りの費用として記録しなければなりません。

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Pay car insurance"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

しかし、償却を使用すれば、ファイルの先頭に plugin "fava.plugins.amortize_over" を記述し、取引に amortize_months: 6 を指定することで、費用を 6 ヶ月にわたって配分できます。

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortize car insurance over six months"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

そしてジャーナルでは、取引が 6 件のポスティングに分割されていることが確認できます。

2020-11-01 * Amortize car insurance over six months (6/6) am
2020-10-01 * Amortize car insurance over six months (5/6) am
2020-09-01 * Amortize car insurance over six months (4/6) am
2020-08-01 * Amortize car insurance over six months (3/6) am
2020-07-01 * Amortize car insurance over six months (2/6) am
2020-06-01 * Amortize car insurance over six months (1/6) am

償却取引のスクリーンショット

Beancount.io の紹介

· 約6分
Mike Thrift
Mike Thrift
Marketing Manager

現代の簿記が重要な理由

まだスプレッドシートで投資を管理していますか?スプレッドシートは汎用性がありますが、投資ポートフォリオが拡大するにつれて扱いにくくなり、ミスが起きやすくなります。そこで登場するのが Beancount.io です。エンジニアと金融ミニマリストを念頭に置いて設計された、株式や暗号通貨ポートフォリオの管理に特化した洗練されたが使いやすい投資トラッキングプラットフォームです。強力な機能と直感的なインターフェースを組み合わせ、投資トラッキング体験を効率化します。

2019-09-07-introduction-to-beancount

支出

損益計算書

貸借対照表

複式簿記:正確性の基盤

Beancount.io は、世界中の金融機関で採用されている実績のある複式簿記の原則に基づいて構築されています。このシステムは、シンプルでありながら強力な概念――すべての金融取引は完全にバランスしなければならない――を通じて数式的な正確性を保証します。

複式簿記では、各取引は少なくとも二つのエントリ――借方(+)と貸方(-)――を異なる勘定科目に記録します。この組み込みの検証システムにより、バランスが取れない取引を記録することは事実上不可能となり、財務記録の正確性と信頼性が保たれます。

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

上記二つの例から分かるように、すべての取引は会計等式を満たす必要があります。

Assets = Liabilities + Equity(aka Net Assets)

Beancount の構文(Martin Blais)と、Jakob Schnitzer が開発した Web プロジェクト Fava を使用してこのサイトを構築しています。取引のいずれかの足がゼロに合計されていない場合は、即座に警告が表示されます。

エラーアラート

これで台帳の正確性をどのように保証しているかが分かりますね。では「勘定科目」とは何でしょうか?

勘定科目の理解:水バケツのたとえ

財務勘定科目を相互に接続された水バケツのシステムと考えてみてください。お金はバケツ間を水のように流れます。このたとえにより、複式簿記が直感的に理解できます:ある勘定科目から別の勘定科目へ資金を移すことは、バケツからバケツへ水を注ぐことと同じで、システム全体の水量(資金)は一定のままです。

Beancount.io では以下の5種類の勘定科目が用意されています。

  1. Income — 金額は常に負(借方)です。収入が発生すると「Income」勘定が借方に記録され、資産勘定にクレジットされます。
  2. Expenses — 金額は常に正(貸方)です。支出が発生すると資産または負債から「Expenses」勘定へ資金が流れます。
  3. Liabilities — 金額は正またはゼロです。クレジットカードの残高など、増減がサイクルする負債が該当します。
  4. Assets — 金額は正またはゼロです。現金や不動産など、所有する資産の価値がここに記録されます。
  5. Equity — 純資産です。システムが自動的に計算します。Equity = Assets - Liabilities で、あなたの富の程度を表します。

上記キーワードでカスタマイズした勘定科目を開設できます。

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

商品を使った高度な投資トラッキング

Beancount.io は株式から暗号通貨まで、さまざまな投資を正確に追跡できます。複雑な投資シナリオの例を見てみましょう。たとえば、2014 年に 1 ビットコイン 100 USD で 10 ビットコインを購入した場合は次のように記録します。

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

そして 3 年後にそれらを 1 ビットコインあたり 10,000 USD の価格で売却した場合は次のように記録します(@ 10,000.00 USD が単価を示します)。

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

同じ取引を @@ 20,000.00 USD と書くと、合計 20,000 USD の価格で売却したことを意味します。

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

取引のすべての足(-2 BTC {100.00 USD} を含む)は常にゼロに合計されます。

{100.00 USD} のコストタグは重要です。なぜなら、同じ商品でも取得価格が異なる場合があるからです。

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

プロセスを簡略化したい場合は、勘定科目を FIFO または LIFO で開設できます。FIFO は「先入れ先出し」、LIFO は「後入れ先出し」を意味します。米国では IRS が FIFO を使用して損益と税金を計算します。

1970-01-01 open Assets:Trade:Positions "FIFO"

その後、-2 BTC {} のように省略形で売却指示を出すと、Beancount が自動的に FIFO 戦略を適用し、最も古い商品を売却します。

Beancount.io の始め方

Beancount.io は、テキストベースの取引記録を包括的な財務諸表(損益計算書、貸借対照表、試算表)に変換するモダンなクラウド型金融管理プラットフォームです。プレーンテキストファイルの信頼性と強力な可視化ツールを組み合わせることで、財務生活を正確にコントロールしながら、投資パフォーマンスに関する貴重なインサイトを得られます。

Beancount.io で金融の旅を始めましょう ― プロモーション期間中は無料!