買掛金とは?ベーコンカウント対応のプレーンテキストでベンダー請求書を追跡するガイド
買掛金(AP)とは、すでに受領した商品やサービスに対して、まだ支払っていない仕入先への未払い金額です。会計の世界では、買掛金は貸借対照表上の現在負債として分類され、通常は翌年以内、特に30〜60日以内に支払われる金額とみなされます。
この概念は発生主義会計の中心であり、請求書が届いた時点で費用とそれに対応する負債を記録し、実際に現金を支払うタイミングとは独立しています。本ガイドでは、プレーンテキストの会計ツールである Beancount を使って、買掛金のワークフロー全体をクリーンかつ効率的に管理する方法を示します。
クイックサマリー
Before we dive into the details, let's cover the essentials:
- Accounts Payable (AP) はベンダーへの短期負債を表します。貸借対照表の
Liabilities
セクションに表示されます。 - Accrual vs. Cash: 買掛金は 発生主義 で帳簿を付けている場合にのみ存在する概念です。Beancount は発生主義ワークフローを完全にサポートし、Web インターフェースの Fava では負債が正しく表示されます。
- AP vs. AR: 簡単に言えば、買掛金は自分が 支払うべき 金額で、売掛金(AR)は他者が 自分に支払うべき 金額です。
Beancount(および Fava)での買掛金の位置
買掛金の追跡を開始するには、まず元帳にアカウントを宣言する必要があります。一般的な慣例は次のとおりです:
Liabilities:AccountsPayable
主要ベンダーごとにサブアカウントを作成しても構いません(例:Liabilities:AccountsPayable:ForestPaintSupply
)。
Fava では、このアカウントが Liabilities
配下の Balance Sheet に表示されます。クリックすると詳細にドリルダウンでき、未払・支払済み項目の一覧が見られ、負債の全体像が把握できます。Fava の public example ledger でも同様のアカウントが使用されている様子を確認できます。
Beancount の構成要素
- Accounts: 主に
Liabilities:AccountsPayable
アカウント、Assets:Bank:Checking
のような現金アカウント、そして各種 費用アカウント(例:Expenses:Supplies
)を使用します。 - Metadata: 任意の取引にキー‑バリュー形式のメタデータを付与できます。買掛金では
invoice:
、due:
、terms:
、document:
などを使用します。Fava はdocument:
キーを認識し、ドキュメントフォルダを設定すれば添付ファイルへのクリック可能なリンクを自動生成します。 - Tags & Links: 簡単なフィルタリングのために
#tags
(例:#ap
)を、取引をプログラム的に結びつけるために^links
(例:^INV-10455
)を使用します。これにより明確で監査可能なトレイルが作成されます。 - Queries (BQL): Beancount の SQL ライクなクエリ言語(BQL)を使って、未払金を期日順に一覧表示するなどの強力なレポートを、コマンドラインの
bean-query
や Fava の「Query」ページから実行できます。
Beancount における基本的な買掛金ワークフロー
買掛金の管理は、請求書の記録、支払い、場合によっては部分支払いや割引の処理という 2〜3 の主要ステップで構成されます。
1) ベンダー請求書の記録(負債の発生)
まず、請求書が届いた時点で費用を計上し、同時に買掛金を作成します。
# option "titlecase_accounts" "True"
2022-01-01 * "Purchase of office supplies"
Expenses:Supplies 100.00 USD
Liabilities:AccountsPayable -100.00 USD ; invoice: INV-001, due: 2022-01-31, terms: 2/10, n/30, document: receipt.pdf
この単一エントリは次の 2 つの重要なことを実現します:
- 期日が到来するまで費用と負債を同時に認識できる
- 後で支払い取引に同じリンク
^INV-10455
を付与でき、請求書と支払い取引を論理的に結び付けられる
^INV-10455
リンクは一意の識別子であり、後で支払い時に同じリンクを付与できるため、請求書と支払い取引が論理的に接続された状態を保ちます。
2) 請求書の支払い(負債の消却)
請求書を支払う際には、銀行口座から資金を移動させて負債を消却する取引を作成します。
a) 標準支払い(割引なし):
2022-01-15 * "Pay office supplies invoice"
Assets:Bank:Checking -100.00 USD
Liabilities:AccountsPayable 100.00 USD
このエントリは、銀行口座から資金が引き落とされ、買掛金が消却されたことを示します。
b) 早期支払い割引(例: "2/10, n/30"):
2022-01-08 * "Pay office supplies invoice early"
Assets:Bank:Checking -98.00 USD ; discount applied
Liabilities:AccountsPayable 100.00 USD
Expenses:Supplies 2.00 USD ; discount recognized as expense
または
2022-01-08 * "Pay office supplies invoice early"
Assets:Bank:Checking -98.00 USD
Liabilities:AccountsPayable 98.00 USD
オプション 1 は割引分を別途費用として計上し、オプション 2 は割引後の金額だけで負債を減らします。どちらの方法でも、支払い時点で負債が正しく消却されます。
3) 部分支払いの処理
部分支払いが必要な場合は、同様に ^INV-10455
リンクを使用して支払い取引を結び付けます。
2022-01-20 * "Partial payment for office supplies"
Assets:Bank:Checking -50.00 USD
Liabilities:AccountsPayable 50.00 USD ; ^INV-10455
^INV-10455
リンクにより、請求書と部分支払いが論理的に結び付けられ、全体の残高が把握しやすくなります。
便利なクエリ(BQL)
これらのクエリは Fava の「Query」タブまたはコマンドラインの bean-query
で実行できます。
Tip:
any
演算子は任意のフィールドが存在すればマッチします。any: true
はすべてのエントリを対象にします。
ベンダー別未払金(残高表示):
SELECT any: true
WHERE any: true
GROUP BY account
このクエリはベンダーごとの未払金残高を表示し、現在の負債状況を把握できます。
請求書+期日別未払金:
SELECT any: true
WHERE any: true
GROUP BY account
このクエリは請求書と期日で未払金をソートし、支払スケジュールの管理に役立ちます。
添付PDF付き請求書一覧:
SELECT any: true
WHERE any: true
GROUP BY account
このクエリは document:
メタデータが設定された請求書を抽出し、添付 PDF へのリンクを一覧で確認できます。
Fava で買掛金を見る場所
- Balance Sheet –
Liabilities
配下にAccounts Payable
が表示されます。 - Transactions –
#ap
タグでフィルタリングすれば、買掛金に関連するすべての取引が一覧できます。 - Documents –
document:
メタデータが設定された取引は、Fava のドキュメントビューでクリック可能な PDF リンクとして表示されます。
買掛金のエイジング、回転率、キャッシュフロー認識
- エイジング: 発生主義会計では、未払金を期日別に分類し、30 日未満、30〜60 日、60 日以上といったエイジングレポートで支払遅延リスクを把握できます。
- 回転率: 買掛金回転率は「年間仕入れ総額 ÷ 平均未払金残高」で算出し、支払サイクルの効率性を評価します。
- キャッシュフロー認識: 早期支払い割引(例:2/10, n/30)を活用すれば、期日より前に支払うことで割引を得られ、キャッシュフローの最適化が可能です。
- 再分類: 支払期限が長期になる場合は、
Liabilities:AccountsPayable
からLiabilities:LongTermLiabilities
へ再分類して、財務諸表上の負債構成を正確に保ちます。
2022-01-01 * "Purchase of office supplies"
Expenses:Supplies 100.00 USD
Liabilities:AccountsPayable -100.00 USD ; invoice: INV-001, due: 2022-01-31, terms: 2/10, n/30, document: receipt.pdf
プレーンテキスト元帳での買掛金ベストプラクティス
- ドキュメント管理:
document:
キーを設定し、請求書の PDF を一元管理することで、参照が容易になります。 - 一意のリンク:
^INV-xxxx
のような一意のリンクを使用し、請求書と支払い取引を常に結び付けます。 - 定期的なレビュー: Fava の Balance Sheet でベンダー別残高を定期的に確認し、エイジングレポートで遅延リスクを早期に検出します。
- 割引活用: 早期支払い割引条件(例:2/10, n/30)を把握し、可能な限り割引を適用してコスト削減を図ります。
- 部分支払いの記録: 部分支払いでも
^
リンクで結び付け、残高と支払履歴を正確に追跡します。
コピー&ペースト用テンプレート:ベンダー請求書+支払い
2022-01-01 * "Purchase of office supplies"
Expenses:Supplies 100.00 USD
Liabilities:AccountsPayable -100.00 USD ; invoice: INV-001, due: 2022-01-31, terms: 2/10, n/30, document: receipt.pdf
2022-01-15 * "Pay office supplies invoice"
Assets:Bank:Checking -100.00 USD
Liabilities:AccountsPayable 100.00 USD
本ガイドは教育目的であり、税務・法務・財務の助言を構成するものではありません。
参考文献と追加情報
- Beancount ドキュメント – Beancount の公式マニュアルです。
- Fava ユーザーガイド – Fava の使い方と機能の概要が掲載されています。
- 発生主義会計の概要 – 発生主義会計の基本概念を解説しています。
- 買掛金に関する会計基準 – 現在負債としての買掛金の分類基準を示します。