Skip to main content

Understanding Amortization in Beancount

· 2 min read
Mike Thrift
Mike Thrift
Marketing Manager

Amortization spreads out payments to many installments over time. In beancount.io, you can use the plugin fava.plugins.amortize_over to achieve so.

Without amortization, if you want to insure your car for 6 months with costs of $600. You have to record this as a one-time expense for a particular date.

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto

![2021-01-09-amortize](https://opengraph-image.blockeden.xyz/api/og-beancount-io?title=Understanding%20Amortization%20in%20Beancount)

2017-06-01 * "Pay car insurance"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

However, with amortization, you could allocate the expense over six months by putting plugin "fava.plugins.amortize_over" to the top of the file and using amortize_months: 6 for the transaction

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortize car insurance over six months"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

And then in Journal, you will see the transaction is split into 6 postings.

2020-11-01 * Amortize car insurance over six months (6/6) am
2020-10-01 * Amortize car insurance over six months (5/6) am
2020-09-01 * Amortize car insurance over six months (4/6) am
2020-08-01 * Amortize car insurance over six months (3/6) am
2020-07-01 * Amortize car insurance over six months (2/6) am
2020-06-01 * Amortize car insurance over six months (1/6) am