The Complete Guide to Real Estate Accounting with Beancount.io
Are you juggling spreadsheets trying to track mortgage payments, depreciation schedules, and rental income across multiple properties? You're not alone. Real estate investing creates some of the most complex accounting scenarios in personal finance — and the consequences of getting it wrong can cost thousands in overpaid taxes or trigger IRS scrutiny.
Here's the harsh reality: every rental property generates dozens of monthly transactions that must be categorized correctly. Mortgage payments split between interest and principal. Escrow accounts collecting for taxes and insurance. Depreciation entries that accumulate over 27.5 years. Capital improvements that add to your cost basis. And when you sell? You face the dreaded depreciation recapture calculation that trips up even experienced investors.
The problem? Traditional accounting software wasn't built for the unique complexity of real estate. QuickBooks can handle rent checks, but try tracking a land/building cost allocation, computing mid-month convention depreciation, or modeling the split between Section 1250 recapture and long-term capital gains at sale. You'll quickly find yourself in spreadsheet hell.
The solution? Beancount.io's plain-text accounting system built on the powerful open-source Beancount language. Important note: Beancount is an open-source double-entry accounting language created by Martin Blais, while Beancount.io is a commercial hosting service that provides a user-friendly interface and cloud infrastructure for Beancount. This guide covers both the underlying Beancount principles and how to use them effectively through the Beancount.io platform.
The Real Estate Accounting Nightmare (And Why It's Getting Worse)
Your Property Records Are Scattered Everywhere
Let's be honest about your setup. You probably have:
- Bank statements with mortgage payments that don't break out principal vs. interest
- Escrow statements from the lender showing tax and insurance disbursements
- A depreciation schedule in a spreadsheet somewhere (if you're lucky)
- Receipts for repairs mixed in with capital improvement invoices
- Property management statements showing gross rent minus fees
- Closing documents from purchase and (eventually) sale
Each source speaks a different language. Your lender's amortization schedule doesn't match your bank statement format. The county assessor's land/building split lives in a PDF you downloaded three years ago. And your CPA asks for everything organized by Schedule E line items.
Transaction Types That Challenge Traditional Accounting
Real estate investing involves transaction types that traditional accounting software struggles with:
- Land vs. building allocation where only the building portion is depreciable
- Mid-month convention depreciation that requires half-month calculations in the first and last months
- Escrow impound accounts that collect monthly but disburse semi-annually or annually
- Security deposits that are liabilities, not income, until forfeited
- Capital improvements vs. repairs — one adds to basis, the other is a current deduction
- Depreciation recapture at sale taxed at a different rate than long-term capital gains
The Tax Compliance Minefield
Here's what keeps real estate investors awake at night:
- Schedule E requires precise categorization of every income and expense item
- Depreciation must be tracked even if you don't claim it (the IRS will recapture it anyway)
- The land/building split must be defensible — the IRS scrutinizes aggressive building allocations
- Capital improvements must be distinguished from repairs — a new roof adds to basis, a patched roof is an expense
- At sale, depreciation recapture (Section 1250) is taxed at up to 25%, separate from the LTCG rate on remaining gain
- 1031 exchanges have strict timelines and documentation requirements
Traditional accounting software requires significant customization for this complexity. Most solutions handle rent and expenses fine but fail at depreciation tracking, cost basis adjustments, and sale gain decomposition.
Enter Beancount.io: The Real Estate Accounting Solution You've Been Waiting For
What if I told you there's an accounting system designed for exactly this complexity? Beancount.io isn't just another accounting tool — it's a plain-text accounting revolution that handles real estate's multi-year lifecycle like it was born for it.
Why Beancount.io Dominates Real Estate Accounting
Complete Transparency: Every calculation is visible. See exactly how your depreciation accumulates, how your cost basis is adjusted, and how your gain is split at sale. No black boxes.
Unlimited Flexibility: Model any property structure. Track land and building separately, handle escrow impounds, manage multiple properties with distinct depreciation schedules.
Precise Cost Basis: Lot-based tracking with exact purchase dates. When you sell, the adjusted basis calculation — original cost plus improvements minus depreciation — is already computed.
Future-Proof: Plain-text format means your 27.5-year depreciation history is yours forever. No vendor lock-in, no "sorry, we're shutting down" after you've been tracking a property for 15 years.
Property as Commodity: Model your property as a Beancount commodity with price directives. See unrealized appreciation in Fava's Holdings view alongside your other investments.
Setting Up Your Real Estate Command Center
Building Your Account Architecture
Think of this as designing the blueprint for your real estate empire. We're creating a structure that handles everything from purchase through years of rental operations to eventual sale:
Note: The examples use 1970-01-01 as a placeholder opening date. For actual use, replace with your real account opening dates.
; ============================================================
; Property Asset Accounts
; ============================================================
; The property commodity — 1 unit purchased at cost basis
1970-01-01 open Assets:RealEstate:Property
; Contra-asset: accumulated depreciation reduces building value
; Land ($80K, 20%) is non-depreciable; Building ($320K, 80%) is depreciated
1970-01-01 open Assets:RealEstate:AccumDepreciation
; Capital improvements added to basis (water heater, appliances, etc.)
1970-01-01 open Assets:RealEstate:CapitalImprovements
; ============================================================
; Bank Accounts
; ============================================================
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:Bank:Savings
; Escrow impound: monthly contributions for property tax & insurance
1970-01-01 open Assets:Bank:EscrowImpound
; ============================================================
; Liability Accounts
; ============================================================
; 30-year fixed mortgage at 7.0% APR
1970-01-01 open Liabilities:Mortgage
; Tenant security deposit — not income until forfeited
1970-01-01 open Liabilities:SecurityDeposit
; ============================================================
; Income Accounts
; ============================================================
1970-01-01 open Income:RealEstate:Rent
1970-01-01 open Income:RealEstate:CapitalGains:LongTerm
1970-01-01 open Income:RealEstate:DepreciationRecapture
; ============================================================
; Expense Accounts
; ============================================================
1970-01-01 open Expenses:RealEstate:MortgageInterest
1970-01-01 open Expenses:RealEstate:LoanOrigination
1970-01-01 open Expenses:RealEstate:PropertyTax
1970-01-01 open Expenses:RealEstate:Insurance
1970-01-01 open Expenses:RealEstate:PropertyManagement
1970-01-01 open Expenses:RealEstate:Repairs
1970-01-01 open Expenses:RealEstate:Maintenance
1970-01-01 open Expenses:RealEstate:Depreciation
1970-01-01 open Expenses:RealEstate:ClosingCosts
1970-01-01 open Expenses:RealEstate:SellingCosts