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

「Finance」タグの記事が35件件あります

全てのタグを見る

Beancountで実現するプレーンテキスト会計の魔法

· 約6分
Mike Thrift
Mike Thrift
Marketing Manager

Discover the Magic of Plain Text Accounting with Beancount

Beancountで実現するプレーンテキスト会計の魔法を発見しよう

Beancount.io バナー

はじめに

2023-04-18-introduction-to-beancount

会計がもはや困難な作業でなくなる世界へようこそ。今回は、強力で柔軟、かつ直感的なプレーンテキスト会計ツール Beancount をご紹介します。Beancount は、財務を透明でシンプルに管理できるアプローチを提供し、あなたが資金をコントロールできるよう支援します。

本ガイドでは、Beancount の基本を解説し、コアコンセプトを説明し、シンプルでありながら強力な機能をご案内します。この記事を読み終える頃には、Beancount の全体像が把握でき、財務生活を整理・分析する準備が整っているはずです。

Beancount とは?

Beancount は、Martin Blais が作成したオープンソースのプレーンテキスト会計システムです。John Wiegley の Ledger システムに触発され、個人や小規模事業の財務をプレーンテキストファイルで管理できる堅牢で信頼性の高い手法を提供します。Beancount を使えば、収入・支出・投資などを簡単に追跡できます。

なぜ Beancount なのか?

プレーンテキスト会計は、従来のスプレッドシートや専用ソフトに比べて以下のような利点があります。

  • 透明性:Beancount のファイルは人間が読める形式なので、財務データの理解や監査が容易です。
  • 柔軟性:好きなテキストエディタやバージョン管理システムを使って、ニーズに合わせて自由にカスタマイズできます。
  • ポータビリティ:デバイスを問わずアクセス可能で、システム間の移行や他者との共有も簡単です。
  • 将来性:プレーンテキストは普遍的に互換性があるため、技術が変化してもデータは残ります。

Beancount のコアコンセプト

Beancount を効果的に使うには、以下の概念を理解することが重要です。

  • 取引 (Transactions):収入、支出、口座間の振替など、財務イベントはすべて取引として記録されます。
  • 勘定科目 (Accounts):取引は資産、負債、収益、費用などの勘定科目に紐づきます。
  • 複式簿記 (Double‑entry bookkeeping):Beancount は複式簿記を強制し、すべての取引が借方と貸方でバランスします。
  • ディレクティブ (Directives):取引の定義や勘定科目のオープンなど、さまざまな財務イベントを指示するための構文です。

Beancount の始め方

以下の手順で Beancount を使い始めましょう。

  • Beancount をインストール:お使いの OS 向けインストール手順に従ってインストールします。
  • Beancount ファイルを作成:拡張子 .beancount のテキストファイルを作ります(例:my_finances.beancount)。
  • 勘定科目を定義open ディレクティブで取引に使用する勘定科目を作成します。
  • 取引を記録txn ディレクティブで財務取引を記録します。

あるいは https://beancount.io にサインアップしてください。以下はプレーンテキスト会計の例です。

例 1:基本的な取引

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

この例では、Assets:CheckingExpenses:Groceries の 2 つの勘定科目をオープンしています。2023 年 4 月 10 日に、食料品購入(50)を取引として記録し、Assets:Checking50)を取引として記録し、`Assets:Checking` が 50 減少(借方)し、Expenses:Groceries が $50 増加(貸方)します。

例 2:収入と支出の取引

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

この例では、Assets:CheckingIncome:SalaryExpenses:Rent の 3 つの勘定科目をオープンしています。4 月 5 日に給与 2,000を記録し、Assets:Checking2,000 を記録し、`Assets:Checking` が 2,000 増加(貸方)し、Income:Salary2,000減少(借方)します。46日に家賃2,000 減少(借方)します。4 月 6 日に家賃 1,000 を支払い、Assets:Checking1,000減少(借方)し、Expenses:Rent1,000 減少(借方)し、`Expenses:Rent` が 1,000 増加(貸方)します。

例 3:口座間の振替

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

この例では、Assets:CheckingAssets:Savings の 2 つの勘定科目をオープンしています。4 月 15 日に、チェック口座から貯蓄口座へ 500を振替える取引を記録し、Assets:Checking500 を振替える取引を記録し、`Assets:Checking` が 500 減少(借方)し、Assets:Savings が $500 増加(貸方)します。

これらの例は、Beancount の複式簿記システムの基本概念を示しています。取引を正しく記録することで、財務活動の正確な記録を保ち、レポートを生成して財務状況を把握できます。

レポートの生成とデータ分析

Beancount には、バランスシートや損益計算書などの財務レポートを生成する強力なツールが同梱されています。また、Web ベースの UI である Fava を使えば、財務データを視覚化・操作できます。https://beancount.io は MIT ライセンスの下、Fava をベースに構築されています。

結論

Beancount でプレーンテキスト会計の力とシンプルさを体感してください。コアコンセプトを理解し、本ガイドの手順に従えば、個人や小規模事業の財務管理を容易かつ正確に行えるようになります。Beancount に慣れたら、さらに高度な機能やカスタマイズを探求し、独自のニーズに合わせたシステムを構築できます。

支出の追跡、将来の計画、財務習慣の洞察など、何を目指すにせよ、Beancount は柔軟性と透明性を提供し、目標達成をサポートします。その使いやすさから、Beancount は財務管理の在り方を変革し、あなたが財務の未来をコントロールできるようになるでしょう。

さあ、プレーンテキスト会計の旅に出発しましょう。煩雑なスプレッドシートや複雑なソフトウェアにさようならを告げ、Beancount の世界へようこそ。楽しい会計ライフを!

カスタムリンクとクエリでBeancount体験を向上させる

· 約4分
Mike Thrift
Mike Thrift
Marketing Manager

Beancount は、開発者やファイナンス好きに愛される二重仕訳会計システムで、シンプルさが魅力です。しかし、Fava(Beancount のウェブインターフェース)で、より細かい制御や高速なナビゲーションを求めるユーザーには、カスタムサイドバーリンクと SQL クエリがワークフローを次のレベルへ引き上げます。

このガイドでは、以下を実現する方法を紹介します。

  • Fava のサイドバーにクイックアクセスリンクを追加する
  • 高度なフィルタリングと分析のために SQL クエリを使用する
  • 月次レビューや異常検知のためにワークフローをカスタマイズする

なぜ Fava をカスタマイズするのか?

Fava はすでに美しい Ledger 表示インターフェースですが、ジャーナルが大きくなるにつれて、ショートカットやスマートクエリの必要性も高まります。

解決できる課題

  • 時間範囲を何度も手動で指定する手間
  • ネストされた勘定科目を横断する取引のフィルタリング
  • マイナス残高や異常を迅速に検出したい

✨ カスタムサイドバーリンク

まずは、シンプルなサイドバーショートカットで日々の作業を改善しましょう。これらのリンクは 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 ではカスタムクエリへの直接リンクは作れませんが、以下の手順で月次レビュー習慣を構築できます。

  1. 「Current Month」リンクでレビューを開始
  2. 別ペインで保存済みクエリタブを開く
  3. まずフィルタを適用し、次にクエリで詳細分析

この組み合わせにより 異常を早期に捕捉 し、Ledger のクリーンさを維持 できます。

最後に

Beancount はミニマル設計ですが、こうした小さな拡張で効率は飛躍的に向上します。予算の見直し、奇妙な残高のデバッグ、クリック数の削減など、カスタムリンクと SQL クエリは「パワー」を増し「摩擦」を減らします。

ボーナス:もし Fava のカスタムレポート を利用しているなら、個人のファイナンス習慣に合わせたダッシュボードも構築可能です。

さあ、コントロールを手に入れましょう!

まずは小さく始めてみてください。 「Current Month」リンクを追加し、次に自分だけのクエリを作成。将来の自分が感謝するはずです。

もっとこうしたヒントが欲しいですか? ニュースレターに登録するか、Beancount.io で他のレシピを探索してください。

Beancount における将来取引の予測

· 約1分
Mike Thrift
Mike Thrift
Marketing Manager

Beancount には将来の定期取引を予測するプラグインがあります。beancount.io での適用方法は?以下の内容をあなたの元帳ファイルに貼り付けてください。

; import the plugin
plugin "fava.plugins.forecast"

; add a monthly HOA fee
2022-05-30 # "HOA fee [MONTHLY]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD

予測プラグインのスクリーンショット

2022-05-30-予測プラグイン

すると、純利益チャートに予測が表示されます。

予測プラグイン

上記のタグ [MONTHLY] は永遠に繰り返すことを意味します。さらに条件を設定したい場合は、[MONTHLY UNTIL 2022-06-01][MONTHLY REPEAT 5 TIMES][YEARLY REPEAT 5 TIMES]、または [WEEKLY SKIP 1 TIME REPEAT 5 TIMES] を試してください。

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

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

iOS と Android 用 Beancount モバイルアプリのご紹介

· 約2分
Mike Thrift
Mike Thrift
Marketing Manager

Beancount の進化における大きなマイルストーンを発表できることを嬉しく思います。iOS と Android の両プラットフォーム向けに専用モバイルアプリをリリースしました!このリリースは、コミュニティから最も頻繁に寄せられた要望の一つである「モバイルデバイスで台帳を効率的に管理したい」という声に直接応えるものです。

Beancount iOS アプリ

主な機能

  • クイック取引入力: 外出先でもシームレスに新しい取引を追加
  • モバイル財務レポート: いつでもどこでも財務インサイトにアクセス
  • 直接台帳編集: 最適化された Web ビューを通じて台帳ファイルにフルアクセス
  • クロスプラットフォーム同期: すべてのデバイスで財務データを一貫させる

2020-08-19-beancount-mobile-app

コミュニティ主導の開発

このリリースはモバイルの旅の始まりに過ぎません。皆様のニーズとフィードバックに基づき、アプリを進化させていくことを約束します。Telegram のコミュニティ https://t.me/beancount に参加して、Beancount について議論し、体験を共有し、将来の機能作りに貢献してください。

ビジョン

Beancount のミッションは、すべての人がより良い財務管理と理解を実現できるよう支援することです。このモバイルアプリはその目標に向けた重要な一歩であり、今後も多くのエキサイティングな機能やツールがロードマップにあります。

App Store からダウンロードPlay Store からダウンロード