Skip to main content
Real Estate Templates and Examples

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.

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.