メインコンテンツへスキップ
Beancount.io LogoBeancount.io
Beancount FAQ: プレーンテキスト会計に関する質問

Beancount FAQ: プレーンテキスト会計に関する質問

Beancountを使ったプレーンテキスト会計について実際によく聞かれる質問への回答 — 銀行取引のインポート、借方と貸方、複数通貨、原価基準、事業用帳簿、そしてBeancountとLedger、hledgerの比較。

以下の質問は、プレーンテキスト会計コミュニティ(Reddit、Hacker News、Beancountメーリングリスト)から寄せられたもので、実践の仕組みをカバーしています。Beancount.ioサービス自体に関する質問(料金、プラン、サポート、アカウント管理)は、製品FAQをご覧ください。

始めるにあたって

始める前に、どれくらいの会計知識が必要ですか?

学位が必要なわけではなく、約5つの概念を理解すれば大丈夫です。5つの勘定科目タイプ(資産、負債、資本、収益、費用)と、すべての取引がこれらのうち少なくとも2つの間で価値を移動させるという考え方、そして取引はバランスしていなければならないというルールが必要です。残りの部分はBeancountが強制します。つまり、取引が合計されないファイルの読み込みを拒否するため、初心者がうっかり犯しがちなミスをソフトウェアが自動的にキャッチしてくれます。

Beancount入門から始め、用語集をタブで開いておき、クイックスタートで最初の取引を追加してみてください。

Beancountにおける借方と貸方はどこにありますか?

Beancountは「借方」や「貸方」という言葉をまったく使いません。代わりに、合計がゼロになる符号付き数値を使用します。口座からお金が出ていくのはマイナス、入ってくるのはプラスであり、各記帳が相殺されたときに取引が有効とみなされます。これは会計士が行うものと同じ複式簿記ですが、初心者を混乱させる用語が取り除かれています。

従来の会計ソフトを使用したことがある方への変換ルールは、借方=正の数、貸方=負の数です。記帳の書き方については言語構文リファレンスを、会計の背景知識についてはわかりやすい英語で解説した借方と貸方の説明をご覧ください。

なぜ取引は合計がゼロにならないといけないのですか?

お金は常にどこからか来るものであり、ゼロサムであることがその事実をエラーチェックに変えるからです。食料品に40ドル使った場合、そのお金は銀行口座から出ていきました。両方を記録するということは、両者が相殺されなければならないことを意味し、どちらかの金額にタイプミスがあると、間違った残高を静かに生み出すのではなく、ファイルの読み込みが失敗するようになります。

これが、プレーンテキストの元帳が費用のスプレッドシートよりも信頼できる理由です。構造自体が自己検証的だからです。残高アサーションは、元帳と現実を照合する関連メカニズムです。

開始残高はどのように設定すればよいですか?

開始日に、各口座の現在の残高をEquity:Opening-Balancesから移動させる取引を記録し、その後balanceアサーションを追加して固定します。自分の財務履歴を再構築する必要はありません。開始日を選び、その日の残高をそのまま取得して、そこから未来に向かって進めていけばよいのです。

クイックスタートでは、開始残高の完全な例を順を追って説明しています。

勘定科目表はどの程度詳細にすべきですか?

大まかに始め、より細かい区分が意思決定を変える場合にのみ分割してください。最初は20程度の勘定科目で十分です。「Expenses:Food」を食料品と外食に分けるべきか迷った場合、その区分を知ったことで実際に何か行動が変わるかどうかが有効な判断基準です。

後から名前を変更したり分割したりするのはテキストファイル内の検索置換で済むため、シンプルに始めることのコストは低くて済みます。勘定科目名は入れ子にできるので、広いカテゴリから始めて後でサブ勘定科目に分割しても履歴を書き換える必要はありません。コピーしたい構造がある場合は、勘定科目表の設計方法をご覧ください。

なぜプレーンテキストなのか?

なぜスプレッドシートではなくプレーンテキスト会計を使うのですか?

スプレッドシートは、自分が間違っているときにそれを教えてくれません。プレーンテキスト会計は複式簿記を強制するため、すべての取引が自己検証的であり、ファイルはテキストファイルが存在する限り、grep可能、diff可能、スクリプト可能な状態を保ちます。また、真のバージョン履歴も得られます。元帳に対するgit logで、何が、いつ、なぜ変更されたかを正確に表示できます。

この実用的な違いは、複数の口座、通貨、または投資がある場合に顕著で、単式のスプレッドシートは静かに真実から乖離していきます。透明で監査可能な会計をご覧ください。

複式簿記は個人の財務管理にはオーバーキルではないですか?

コーヒーにいくら使ったかだけを知りたいのであれば、その通りで、スプレッドシートで十分です。複式簿記の真価が発揮されるのは、複数の口座、住宅ローン、証券口座、または複数の通貨を持った瞬間です。なぜなら、まさにそれらの状況で単式の追跡は警告なしにお金を見失ってしまうからです。

これについて考える有益な方法は、複式簿記は財務に対するチェックサムであるということです。より詳細な説明は入門をご覧ください。

コマンドラインを使わなければなりませんか?

いいえ。Favaは同じテキストファイル上で動作する完全なWebインターフェースです(貸借対照表、損益計算書、チャート、取引入力)。Beancount.ioはあなたの元帳をクラウド上で管理し、このインターフェースを提供します。テキストファイルが情報源であり続けるため、日々の操作はWeb UIを使い、必要な時だけターミナルに降りることができます。

インターフェースでできることについてはUI機能を、ライブデモもお試しください。

データの取り込み

銀行取引をBeancountに取り込むにはどうすればよいですか?

ほとんどの人は80~95%の取引をインポートし、残りを手入力しています。信頼性の高い順に、銀行からの直接OFX/QFXダウンロード、CSVエクスポートとインポートルール、アグリゲーター接続、そして最後の手段として、PDF明細書をCSVに変換する方法があります。Beancount.ioの銀行同期は、接続と自動分類を処理します。

金融機関ごとにルールを作成または調整する必要があると想定してください。銀行のCSVエクスポートは非常に一貫性がなく、エスケープされていないカンマを含む加盟店名は現実的かつ一般的な問題です。自動化されたパスについてはスマートインポートをご覧ください。

同じ取引を二重にインポートするのを防ぐにはどうすればよいですか?

インポーターは、すでに元帳にあるエントリと日付、金額、支払先を照合して重複排除し、曖昧なものは推測せずに確認用にフラグを立てます。通常のワークフローでは、不確かなインポートは保留としてマークされ、永続的な記録の一部になる前に確認できるようになります。

これを補完するのが振替です。自分が所有する2つの口座間での資金移動は、両方の銀行のエクスポートに表示されます。これは2つの記帳を持つ単一の取引として一度だけ記録します。

銀行のログイン情報を第三者に提供する必要がありますか?

いいえ。そして、多くの人にとってこれこそがプレーンテキスト会計を使用する理由です。自分で銀行からOFXやCSVをエクスポートすれば、アグリゲーターに認証情報を渡す必要はまったくありません。自動同期を希望する場合、Beancount.ioはオンラインバンキングのパスワードを保存するのではなく、銀行公認のアグリゲーターを使用します。

詳細はセキュリティページをご覧ください。

元帳と銀行口座明細書をどのように照合すればよいですか?

明細書の残高と日付を指定してbalanceアサーションを追加します。元帳が銀行と一致しない場合、Beancountはファイルの読み込みを拒否します。これにより、照合作業が手作業での比較から、ソフトウェアが実行のたびにチェックするものに変わります。

月に一度の頻度でほとんどの人には十分です。差異を追跡するにはフィルタリングと検索をご覧ください。

通貨と投資

Beancountは複数通貨をどのように扱いますか?

ネイティブで対応しており、これは消費者向け金融アプリに対する最も強力な利点の一つです。すべての金額には通貨が付随し、口座は複数の通貨を同時に保有でき、換算は価格には@、原価には{}を使って明示的に記録されるため、為替レートの変更が履歴を静かに書き換えることはありません。

何も背後で変換されることはなく、元の通貨と換算値の両方を常に確認できます。言語構文精度と許容差、そして複数通貨会計をご覧ください。

原価基準とキャピタルゲインを追跡するにはどうすればよいですか?

購入を波括弧で原価を指定して記録します(例:10 AAPL {150.00 USD})。Beancountは各ロットを個別に追跡します。売却時には、どのロットを減らすかを指定し、キャピタルゲインは手計算する代わりに自動的に算術計算から導き出されます。

BeancountはSTRICT、FIFO、LIFO、NONEのブッキング方式をサポートしています。平均原価法のブッキングは解析はされますが、完全には実装されていません。あなたの税務管轄区域で平均原価が必要な場合は、プラグインまたは明示的なロットを使って追跡する計画を立ててください。在庫管理をご覧ください。

暗号通貨の取引とその原価基準を記録するにはどうすればよいですか?

他のどの商品ともまったく同じです。暗号通貨は原価を持つ単位であり、同じロットとブッキングの仕組みが適用されます。あるトークンを別のトークンと交換することは、一つのロットを減らし別のロットを開始する単一の取引であり、これによってほとんどの税務当局が報告を求める実現損益も得られます。

暗号通貨ポートフォリオ追跡と、既製の暗号通貨テンプレートをご覧ください。

事業とフリーランスの帳簿

Beancountを小規模事業に使えますか?それとも個人財務専用ですか?

事業でも使用されており、数十万件の取引を持つ企業も含まれます。発生主義会計、複数エンティティ構造、そして会計士が期待するレポートを処理できます。正直な限界としては、マルチユーザー同時編集、組み込みの請求書UI、買掛金承認ワークフローがないことです。これは元帳であり、ERPではありません。

業種別設定と、実際の企業帳簿のショーケースであるオープン元帳をご覧ください。

個人用と事業用の元帳は別々にすべきですか?

別々に保管してください。一つのファイル内でトップレベルの勘定科目ツリーを分けるか、includeで結合する二つのファイルとして管理します。混在させると事業の損益計算書が意味をなさなくなり、確定申告の時期が難しくなります。分離することに初期コストはかかりません。

事業用に独自の銀行口座がある場合は、通常は二つのファイルの方がすっきりします。マルチファイルサポートをご覧ください。

請求書と売掛金はどのように扱えばよいですか?

売掛金を資産勘定、買掛金を負債勘定としてモデル化し、請求書を発行した時点で記録し、入金があった時点で支払いを記録します。これが発生主義会計であり、Beancountはこれを直接サポートしています。ただし、請求書作成インターフェースはありません。つまり、支払われるべき金額を追跡しますが、請求書を生成したり送信したりはしません。

レポート面については財務報告テンプレートを、具体例については業種別設定を、概念については売掛金の理解をご覧ください。

確定申告の時期に、どのように帳簿を会計士に渡せばよいですか?

元帳ではなくレポートをエクスポートしてください。あなたの会計士はテキストファイルを欲しがることはほぼ間違いなくありません。彼らが欲しいのは損益計算書、貸借対照表、取引明細であり、これらはWebインターフェースやクエリを使ってCSVまたはPDFで生成できます。

税務申告準備ガイド財務報告テンプレート、そしてSQLによるクエリで、彼らが求める正確な数値を引き出してください。

ツールとエコシステム

Beancount、Ledger、hledgerはどのように違いますか?

3つとも類似のファイル形式を持つプレーンテキストの複式簿記システムです。Ledgerはオリジナルで最も寛容なパーサーです。hledgerはHaskellによる再実装で、親切なCSVインポートルールとドキュメントで知られています。Beancountは最も厳格なパーサーを持ち、投資、ロット、複数通貨に対する最も強力なサポートと、PythonプラグインAPIを備えています。

厳格さが本当のトレードオフです。Beancountは曖昧だと判断したファイルの読み込みを拒否し、エラーを早期に発見する代わりに、より細かい点にうるさくなります。Beancount vs Ledger CLIBeancount vs hledgerをご覧ください。

BeancountはYNABのようなエンベロープ予算に対応していますか?

ネイティブでは対応していません。これは隠れた機能ではなく、実際のギャップです。Beancountの組み込み予算機能は限られており、厳格なエンベロープ方式を求める人は、通常、コミュニティプラグインを使用するか、エンベロープを勘定科目としてモデル化します。

エンベロープ予算が主な目的であれば、切り替える前にBeancount vs YNABをお読みください。現在使用できるものについては、Beancountでの予算管理をご覧ください。

取引にレシートを添付できますか?

はい。documentディレクティブはファイルを勘定科目と日付にリンクし、Webインターフェースでは、該当する取引と一緒にそれらの書類をアップロードして参照できます。レシートはディスク上の通常のファイルとして保存されるため、元帳自体と同じくらいポータブルです。

UI機能をご覧ください。

モバイルアプリはありますか?

はい。Beancount.ioはiOSAndroid向けアプリを公開しており、外出先で元帳の閲覧や取引の記録ができます。これは、ほとんどのプレーンテキスト環境が残しているギャップを埋めるものです。

アプリを使わずに素早く記録するために、多くの人はざっくりとしたメモを取って、後で元帳に反映させています。

元帳はどれくらいの大きさになると遅くなりますか?

10年分の個人の財務データは数メガバイトで、読み込みは1秒を大幅に下回ります。Beancountは読み込みのたびに全取引履歴から残高を再計算しますが、これは数十万エントリまで高速に動作します。それを超えた場合は、includeを使って年ごとに分割することで快適な状態を維持できます。

成長する元帳を分割する方法についてはマルチファイルサポートをご覧ください。

それでも解決しない場合は?

ヘルプセンターに全ドキュメントの索引があり、用語集で上記の馴染みのない用語を定義しています。