Beancount.io LogoBeancount.io

Real Estate Templates and Examples

Practical Beancount templates and real-world examples for common real estate scenarios including property purchase, mortgage payments, rental income, depreciation, capital improvements, and property sale.

Real Estate Templates and Examples

This guide provides practical Beancount templates and real-world examples for common real estate investment scenarios. Copy and adapt these templates for your own rental property accounting needs.

Explore a live real estate example ledger:

Basic Setup Template

Account Structure Template

; =============================================================================
; REAL ESTATE ACCOUNT SETUP TEMPLATE
; =============================================================================
 
; Property Asset Accounts
1970-01-01 open Assets:RealEstate:Property
1970-01-01 open Assets:RealEstate:AccumDepreciation
1970-01-01 open Assets:RealEstate:CapitalImprovements
 
; Bank Accounts
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:Bank:Savings
1970-01-01 open Assets:Bank:EscrowImpound
 
; Liability Accounts
1970-01-01 open Liabilities:Mortgage
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
 
; Equity
1970-01-01 open Equity:Opening
 
; Commodity Definition
1970-01-01 commodity PROP123MAIN
  name: "123 Main St, Anytown, CA 90210"
  asset-class: "real-estate"
 
1970-01-01 commodity USD

Property Purchase Templates

Down Payment + Mortgage

; Template: Purchase property with mortgage
YYYY-MM-DD * "Escrow" "Down payment — [DOWN_PCT]% of $[PRICE]"
  Assets:RealEstate:Property           1 [COMMODITY] {[PRICE] USD, YYYY-MM-DD}
  Assets:Bank:Checking              -[DOWN_PAYMENT] USD
  Liabilities:Mortgage             -[LOAN_AMOUNT] USD
 
; Example: $400,000 property with 20% down
2024-03-15 * "Escrow" "Down payment — 20% of $400,000"
  Assets:RealEstate:Property           1 PROP123MAIN {400,000.00 USD, 2024-03-15}
  Assets:Bank:Checking              -80,000.00 USD
  Liabilities:Mortgage             -320,000.00 USD

Closing Costs

; Template: Loan origination fee
YYYY-MM-DD * "Lender" "Loan origination fee — [PCT]% of $[LOAN]"
  Expenses:RealEstate:LoanOrigination   [FEE] USD
  Assets:Bank:Checking                 -[FEE] USD
 
; Template: Title and escrow fees
YYYY-MM-DD * "Title company" "Title insurance, escrow fees, recording"
  Expenses:RealEstate:ClosingCosts      [AMOUNT] USD
  Assets:Bank:Checking                 -[AMOUNT] USD
 
; Template: Property appraisal
YYYY-MM-DD * "Appraiser" "Property appraisal"
  Expenses:RealEstate:ClosingCosts      [AMOUNT] USD
  Assets:Bank:Checking                 -[AMOUNT] USD
 
; Example: Closing costs for $320,000 loan
2024-03-15 * "Lender" "Loan origination fee — 1% of $320,000"
  Expenses:RealEstate:LoanOrigination   3,200.00 USD
  Assets:Bank:Checking                 -3,200.00 USD
 
2024-03-15 * "Title company" "Title insurance, escrow fees, recording"
  Expenses:RealEstate:ClosingCosts      2,800.00 USD
  Assets:Bank:Checking                 -2,800.00 USD
 
2024-03-15 * "Appraiser" "Property appraisal"
  Expenses:RealEstate:ClosingCosts        450.00 USD
  Assets:Bank:Checking                   -450.00 USD

Initial Escrow Impound

; Template: Initial escrow deposit at closing
YYYY-MM-DD * "Escrow" "Initial escrow impound — property tax ([N] mo) + insurance (1 yr)"
  Assets:Bank:EscrowImpound              [TAX_IMPOUND] USD
  Expenses:RealEstate:Insurance          [INSURANCE_PREPAID] USD
  Assets:Bank:Checking                  -[TOTAL] USD
 
; Example: 3 months property tax + 1 year insurance
2024-03-15 * "Escrow" "Initial escrow impound — property tax (3 mo) + insurance (1 yr)"
  Assets:Bank:EscrowImpound              1,250.00 USD
  Expenses:RealEstate:Insurance          1,800.00 USD
  Assets:Bank:Checking                  -3,050.00 USD

Mortgage Payment Templates

Monthly P&I + Escrow

; Template: Monthly mortgage payment with escrow
; Total payment = Interest + Principal + Escrow
YYYY-MM-DD * "Bank" "Mortgage payment — [MONTH YEAR]"
  Expenses:RealEstate:MortgageInterest    [INTEREST] USD
  Liabilities:Mortgage                    [PRINCIPAL] USD
  Assets:Bank:EscrowImpound               [ESCROW] USD
  Assets:Bank:Checking                   -[TOTAL] USD
 
; Example: 30-year fixed, $320,000 at 7.0% APR
; Monthly P&I: $2,129.06, Escrow: $566.67, Total: $2,695.73
; Month 1 interest: $320,000 × 0.07 / 12 = $1,866.67
2024-04-01 * "Bank" "Mortgage payment — April 2024"
  Expenses:RealEstate:MortgageInterest    1,866.67 USD
  Liabilities:Mortgage                      262.39 USD
  Assets:Bank:EscrowImpound                 566.67 USD
  Assets:Bank:Checking                   -2,695.73 USD
 
; Month 2 interest: ($320,000 - $262.39) × 0.07 / 12 = $1,865.14
2024-05-01 * "Bank" "Mortgage payment — May 2024"
  Expenses:RealEstate:MortgageInterest    1,865.14 USD
  Liabilities:Mortgage                      263.92 USD
  Assets:Bank:EscrowImpound                 566.67 USD
  Assets:Bank:Checking                   -2,695.73 USD

Escrow Disbursements

; Template: Semi-annual property tax payment from escrow
YYYY-MM-DD * "County tax collector" "Property tax — [INSTALLMENT] installment"
  Expenses:RealEstate:PropertyTax        [AMOUNT] USD
  Assets:Bank:EscrowImpound             -[AMOUNT] USD
 
; Template: Annual insurance payment from escrow
YYYY-MM-DD * "Insurance company" "Homeowner insurance renewal — year [N]"
  Expenses:RealEstate:Insurance          [AMOUNT] USD
  Assets:Bank:EscrowImpound             -[AMOUNT] USD
 
; Example: Property tax ($5,000/yr paid semi-annually)
2024-09-15 * "County tax collector" "Property tax — first installment"
  Expenses:RealEstate:PropertyTax        2,500.00 USD
  Assets:Bank:EscrowImpound             -2,500.00 USD
 
; Example: Insurance renewal
2025-03-15 * "Insurance company" "Homeowner insurance renewal — year 2"
  Expenses:RealEstate:Insurance          1,850.00 USD
  Assets:Bank:EscrowImpound             -1,850.00 USD

Rental Income Templates

Monthly Rent with Property Management Fee

; Template: Monthly rent with PM fee
YYYY-MM-DD * "Tenant" "[MONTH YEAR] rent"
  Assets:Bank:Checking                    [NET_RENT] USD
  Expenses:RealEstate:PropertyManagement  [PM_FEE] USD
  Income:RealEstate:Rent                 -[GROSS_RENT] USD
 
; Example: $2,400/mo rent with 8% PM fee ($192)
2024-04-01 * "Tenant" "April 2024 rent"
  Assets:Bank:Checking                    2,208.00 USD
  Expenses:RealEstate:PropertyManagement    192.00 USD
  Income:RealEstate:Rent                 -2,400.00 USD

Security Deposit Receipt

; Template: Receive security deposit (liability, NOT income)
YYYY-MM-DD * "Tenant" "Security deposit — [N] month rent"
  Assets:Bank:Checking                    [AMOUNT] USD
  Liabilities:SecurityDeposit           -[AMOUNT] USD
 
; Example: 1-month security deposit
2024-03-20 * "Tenant" "Security deposit — 1 month rent"
  Assets:Bank:Checking                    2,400.00 USD
  Liabilities:SecurityDeposit           -2,400.00 USD

Security Deposit Return

; Template: Return security deposit at lease end
YYYY-MM-DD * "Tenant" "Return security deposit — lease ended"
  Liabilities:SecurityDeposit            [AMOUNT] USD
  Assets:Bank:Checking                  -[AMOUNT] USD
 
; Example: Full deposit return
2025-11-01 * "Tenant" "Return security deposit — lease ended"
  Liabilities:SecurityDeposit            2,400.00 USD
  Assets:Bank:Checking                  -2,400.00 USD

Operating Expense Templates

Repairs (Current Deduction)

; Template: Repair expense — fully deductible in current year
YYYY-MM-DD * "[VENDOR]" "[DESCRIPTION]"
  Expenses:RealEstate:Repairs             [AMOUNT] USD
  Assets:Bank:Checking                   -[AMOUNT] USD
 
; Example: HVAC repair
2024-05-18 * "HVAC Pro" "A/C repair — replaced capacitor"
  Expenses:RealEstate:Repairs             285.00 USD
  Assets:Bank:Checking                   -285.00 USD
 
; Example: Plumbing repair
2024-06-10 * "Joe's Plumbing" "Fix leaking kitchen faucet"
  Expenses:RealEstate:Repairs             180.00 USD
  Assets:Bank:Checking                   -180.00 USD

Maintenance (Current Deduction)

; Template: Regular maintenance expense
YYYY-MM-DD * "[VENDOR]" "[DESCRIPTION]"
  Expenses:RealEstate:Maintenance         [AMOUNT] USD
  Assets:Bank:Checking                   -[AMOUNT] USD
 
; Example: Quarterly landscaping
2024-06-15 * "Green Lawn Care" "Quarterly landscaping — Q2"
  Expenses:RealEstate:Maintenance         360.00 USD
  Assets:Bank:Checking                   -360.00 USD
 
; Example: Annual pest control
2024-10-20 * "PestShield" "Annual termite inspection & treatment"
  Expenses:RealEstate:Maintenance         350.00 USD
  Assets:Bank:Checking                   -350.00 USD

Depreciation Templates

Monthly Straight-Line Depreciation

; Template: Monthly depreciation entry (full month)
; Building cost / 27.5 / 12 = monthly amount
YYYY-MM-DD * "Depreciation" "[MONTH YEAR]"
  Expenses:RealEstate:Depreciation        [MONTHLY_AMOUNT] USD
  Assets:RealEstate:AccumDepreciation    -[MONTHLY_AMOUNT] USD
 
; Example: $320,000 building, monthly = $320,000 / 27.5 / 12 = $969.70
2024-04-30 * "Depreciation" "April 2024"
  Expenses:RealEstate:Depreciation        969.70 USD
  Assets:RealEstate:AccumDepreciation    -969.70 USD

Mid-Month Convention (First Month)

; Template: Half-month depreciation when placed in service
; Used in the month the property is placed in service
YYYY-MM-DD * "Depreciation" "[MONTH YEAR] — half-month (placed in service)"
  Expenses:RealEstate:Depreciation        [HALF_MONTH] USD
  Assets:RealEstate:AccumDepreciation    -[HALF_MONTH] USD
 
; Example: Placed in service March 15
; Half-month = $969.70 / 2 = $484.85
2024-03-31 * "Depreciation" "March 2024 — half-month (placed in service)"
  Expenses:RealEstate:Depreciation        484.85 USD
  Assets:RealEstate:AccumDepreciation    -484.85 USD

Mid-Month Convention (Disposition Month)

; Template: Half-month depreciation when disposed
; Used in the month the property is sold/disposed
YYYY-MM-DD * "Depreciation" "[MONTH YEAR] — half-month (disposed)"
  Expenses:RealEstate:Depreciation        [HALF_MONTH] USD
  Assets:RealEstate:AccumDepreciation    -[HALF_MONTH] USD
 
; Example: Sold November 15
2025-11-15 * "Depreciation" "November 2025 — half-month (disposed)"
  Expenses:RealEstate:Depreciation        484.85 USD
  Assets:RealEstate:AccumDepreciation    -484.85 USD

Capital Improvement Templates

Basis Addition Entries

; Template: Capital improvement — adds to cost basis
; NOT a current expense deduction
YYYY-MM-DD * "[VENDOR]" "[DESCRIPTION]"
  Assets:RealEstate:CapitalImprovements   [AMOUNT] USD
  Assets:Bank:Checking                   -[AMOUNT] USD
 
; Example: Replace water heater (extends useful life)
2024-08-12 * "Home Depot" "Replace water heater — 50 gal gas"
  Assets:RealEstate:CapitalImprovements   1,800.00 USD
  Assets:Bank:Checking                   -1,800.00 USD
 
; Example: New kitchen appliances (adds value)
2024-10-05 * "Lowe's" "New kitchen appliances — stove + dishwasher"
  Assets:RealEstate:CapitalImprovements   4,200.00 USD
  Assets:Bank:Checking                   -4,200.00 USD

Property Sale Templates

Selling Costs

; Template: Realtor commission
YYYY-MM-DD * "Realtor" "Sales commission — [PCT]% of $[SALE_PRICE]"
  Expenses:RealEstate:SellingCosts        [COMMISSION] USD
  Assets:Bank:Checking                   -[COMMISSION] USD
 
; Template: Seller closing costs
YYYY-MM-DD * "Title company" "Seller closing costs — [PCT]% of $[SALE_PRICE]"
  Expenses:RealEstate:ClosingCosts        [COSTS] USD
  Assets:Bank:Checking                   -[COSTS] USD
 
; Example: 5% commission + 1% closing costs on $435,000 sale
2025-11-15 * "Realtor" "Sales commission — 5% of $435,000"
  Expenses:RealEstate:SellingCosts       21,750.00 USD
  Assets:Bank:Checking                  -21,750.00 USD
 
2025-11-15 * "Title company" "Seller closing costs — 1% of $435,000"
  Expenses:RealEstate:ClosingCosts        4,350.00 USD
  Assets:Bank:Checking                   -4,350.00 USD

Mortgage Payoff

; Template: Mortgage payoff at closing
YYYY-MM-DD * "Bank" "Mortgage payoff at closing"
  Liabilities:Mortgage                  [PAYOFF_AMOUNT] USD
  Assets:Bank:Checking                 -[PAYOFF_AMOUNT] USD
 
; Example: Payoff remaining mortgage balance
2025-11-15 * "Bank" "Mortgage payoff at closing"
  Liabilities:Mortgage                  314,744.09 USD
  Assets:Bank:Checking                 -314,744.09 USD

Gain Recognition (Depreciation Recapture + LTCG)

; Template: Dispose property and recognize gain
; Total gain = Net proceeds - Adjusted basis
; Adjusted basis = Original cost + Improvements - Accumulated depreciation
; Split: Depreciation recapture (§1250, max 25%) + LTCG (remainder)
YYYY-MM-DD * "Sale" "Dispose property — recognize gain"
  Assets:RealEstate:Property              -1 [COMMODITY] {[COST] USD, [PURCHASE_DATE]}
  Assets:RealEstate:CapitalImprovements   -[IMPROVEMENTS] USD
  Assets:RealEstate:AccumDepreciation      [ACCUM_DEPRECIATION] USD
  Assets:Bank:Checking                    [NET_PROCEEDS] USD
  Income:RealEstate:DepreciationRecapture -[RECAPTURE] USD
  Income:RealEstate:CapitalGains:LongTerm -[LTCG] USD
 
; Example: Sell $400K property for $435K after $19,394 depreciation and $6K improvements
; Adjusted basis: $400,000 + $6,000 - $19,394 = $386,606
; Net proceeds: $435,000 - $26,100 selling costs = $408,900
; Total gain: $408,900 - $386,606 = $22,294
; Recapture: $19,394 (equals accumulated depreciation)
; LTCG: $22,294 - $19,394 = $2,900
2025-11-15 * "Sale" "Dispose property — recognize gain"
  Assets:RealEstate:Property              -1 PROP123MAIN {400,000.00 USD, 2024-03-15}
  Assets:RealEstate:CapitalImprovements   -6,000.00 USD
  Assets:RealEstate:AccumDepreciation     19,394.00 USD
  Assets:Bank:Checking                   408,900.00 USD
  Income:RealEstate:DepreciationRecapture -19,394.00 USD
  Income:RealEstate:CapitalGains:LongTerm  -2,900.00 USD

Refinancing Template

Payoff Old Mortgage, Create New

; Template: Refinance — payoff existing and create new mortgage
YYYY-MM-DD * "Refinance" "Payoff old mortgage, new [TERM]-year at [RATE]%"
  Liabilities:Mortgage:OldLoan          [OLD_PAYOFF] USD
  Liabilities:Mortgage:NewLoan         -[NEW_AMOUNT] USD
  Assets:Bank:Checking                  [CASH_OUT] USD  ; Cash-out amount (if any)
  Expenses:RealEstate:ClosingCosts      [REFI_COSTS] USD
 
; Example: Refinance from 7.0% to 5.5%, cash-out $15K
2025-06-01 * "Refinance" "Payoff old mortgage, new 30-year at 5.5%"
  Liabilities:Mortgage:OldLoan         314,744.09 USD
  Liabilities:Mortgage:NewLoan        -330,000.00 USD
  Assets:Bank:Checking                  12,255.91 USD
  Expenses:RealEstate:ClosingCosts       3,000.00 USD

Balance Assertion Templates

Year-End Reconciliation

; Template: Year-end balance assertions
YYYY-01-01 balance Assets:RealEstate:Property             1 [COMMODITY]
YYYY-01-01 balance Assets:RealEstate:CapitalImprovements  [TOTAL_IMPROVEMENTS] USD
YYYY-01-01 balance Assets:RealEstate:AccumDepreciation   -[TOTAL_DEPRECIATION] USD
YYYY-01-01 balance Liabilities:SecurityDeposit           -[DEPOSIT_AMOUNT] USD
 
; Example: Year-end 2024 assertions
2025-01-01 balance Assets:RealEstate:Property             1 PROP123MAIN
2025-01-01 balance Assets:RealEstate:CapitalImprovements  6,000.00 USD
2025-01-01 balance Assets:RealEstate:AccumDepreciation   -9,212.15 USD
2025-01-01 balance Liabilities:SecurityDeposit           -2,400.00 USD

Post-Sale Assertions

; Template: Post-sale — all property accounts should be zero
YYYY-MM-DD balance Assets:RealEstate:Property             0 [COMMODITY]
YYYY-MM-DD balance Assets:RealEstate:CapitalImprovements  0 USD
YYYY-MM-DD balance Assets:RealEstate:AccumDepreciation    0 USD
YYYY-MM-DD balance Liabilities:Mortgage                   0 USD
YYYY-MM-DD balance Liabilities:SecurityDeposit            0 USD
YYYY-MM-DD balance Assets:Bank:EscrowImpound              0 USD
 
; Example: Post-sale verification
2025-12-01 balance Assets:RealEstate:Property             0 PROP123MAIN
2025-12-01 balance Assets:RealEstate:CapitalImprovements  0 USD
2025-12-01 balance Assets:RealEstate:AccumDepreciation    0 USD
2025-12-01 balance Liabilities:Mortgage                   0 USD
2025-12-01 balance Liabilities:SecurityDeposit            0 USD
2025-12-01 balance Assets:Bank:EscrowImpound              0 USD

Price Directive Templates

Quarterly Property Valuations

; Template: Quarterly property valuation
YYYY-MM-DD price [COMMODITY]  [VALUE] USD
 
; Example: Quarterly valuations for 123 Main St
2024-03-15 price PROP123MAIN  400,000.00 USD
2024-06-30 price PROP123MAIN  405,000.00 USD
2024-09-30 price PROP123MAIN  412,000.00 USD
2024-12-31 price PROP123MAIN  418,000.00 USD
2025-03-31 price PROP123MAIN  425,000.00 USD
2025-06-30 price PROP123MAIN  430,000.00 USD

Sources for valuations: Zillow Zestimate, Redfin estimates, comparable sales, or professional appraisals.

Escrow Impound Refund Template

Post-Sale Refund

; Template: Escrow impound refund after property sale
YYYY-MM-DD * "Bank" "Escrow impound refund — remaining balance"
  Assets:Bank:Checking                    [REFUND] USD
  Assets:Bank:EscrowImpound              -[REFUND] USD
 
; Example: Remaining escrow balance returned by lender
2025-11-30 * "Bank" "Escrow impound refund — remaining balance"
  Assets:Bank:Checking                    2,666.73 USD
  Assets:Bank:EscrowImpound             -2,666.73 USD

Usage Instructions

  1. Copy the relevant template for your transaction type
  2. Replace placeholders (shown in [BRACKETS]) with actual values
  3. Adjust account names to match your account structure (e.g., add property address to account path for multi-property portfolios)
  4. Calculate depreciation using: Building cost / 27.5 / 12 for monthly amount
  5. Document the land/building split in comments with the source (county assessor, appraisal, etc.)
  6. Verify calculations before finalizing entries, especially the sale gain decomposition

Best Practices

  • Use consistent naming conventions for vendors and descriptions
  • Record mortgage payments with the exact P&I split from your lender's amortization schedule
  • Track capital improvements separately from repairs — the tax treatment is different
  • Enter depreciation monthly for accurate interim financial statements
  • Use balance assertions at year-end to catch data-entry errors before tax filing
  • Keep price directives updated quarterly for portfolio valuation
  • Document the rationale for repair vs. capital improvement classification

These templates provide a solid foundation for real estate accounting in Beancount.io. Customize them based on your specific property, mortgage terms, and tax situation.