Double-entry accounting: how to keep track of mortgage installments as expenses?

Context: I am new to double-entry accounting, I use GnuCash for my personal family bookkeeping. At the moment, the main goal for me is to keep track of incomes/expenses of our family over time. For this, I am sorting the flow of cash from income accounts to assets (checking/savings accounts & credit cards) to the individual expense accounts and generate monthly income vs. expenses reports.

Problem: Following double-entry accounting tutorials, I set up a mortgage loan as a liability account to which monthly installments are paid and interest is handled too. At the moment, the set up is such that every month there is a single transaction withdrawing money from the checking account (Asset) and putting it directly to the mortgage account (Liability), thus decreasing the loan. The problem I have is, that the mortgage installments do not appear on the income/expense reports, since, as set up, the installments are loan repayments, not expenses. However, privately, I want these installments to be included on the monthly expense report, since from our family’s perspective, they behave as such. The idea is to treat mortgage installments similarly to how we treated rent when we did not have a mortgage yet. (also, purely technically, GnuCash seems to refuse to include transactions to liability accounts in the Income/Expense reports)

Question: How should I set up the accounts and the transactions so that the 1) balance will be as it should be (no virtual money involved), 2) mortgage loan will be repaid every month as it indeed is in the bank, while at the same time 3) the mortgage installments will appear as expenses too.

I am interested in what are the standard accounting practices. I guess, some companies would like to see their monthly cash flow related to long-term loan repayments/installments also rather as expenses which need to be “earned for” every month.

5 thoughts on “Double-entry accounting: how to keep track of mortgage installments as expenses?

  1. OneTruDragonGirl

    The best thing for you to do will be to start using the Cash Flow report instead of the Income and Expense report.
    Go to Reports -> Income and Expense -> Cash Flow

    Once the report is open, open the edit window and open the Accounts tab. There, choose your various cash accounts (checking, saving, etc.). In the General tab, choose the reporting period. (And then save the report settings so you don’t need to go hunting for your cash accounts each time.)

    GnuCash will display for you all the inflows and outflows of money, which appears to be what you really want. Though GnuCash doesn’t present the Cash Flow in a way that matches United States accounting rules (with sections for operating, investing, and financial cash flows separated), it is certainly fine for your personal use.

    If you want the total payment to show up as one line on the Cash Flow report, you will need to book the accrual of interest and the payment to the mortgage bank as two separate entries.

    Normal entry for mortgage payments (which shows up as a line for mortgage and a line for interest on your Cash Flow):

    Dr. Liabilities:Mortgage          $500
    Dr. Expense:Interest            $1,000
    Cr. Assets:Checking                    $1,500

    Pair of entries to make full mortgage payment show up as one line on Cash Flow:

    Entry #1: Interest accrual

    Dr. Expense:Interest            $1,000  
    Cr. Liabilities:Mortgage               $1,000

    Entry #2: Full mortgage payment

    Dr. Liabilities:Mortgage        $1,500  
    Cr. Assets:Checking                    $1,500

    (Tested in GnuCash 2.6.1)

  2. tristano

    Because a paying down a liability and thus gaining asset equity is not technically an expense, GnuCash will not include it in any expense reports. However, you can abuse the system a bit to do what you want.

    The mortgage payment should be divided into principle, interest, and escrow / tax / insurance accounts. For example:

    • Principle (Liabilities:Loans:Mortgage Loan)
    • Interest (Expenses:Interest:Mortgage Interest)
    • Escrow (Expenses:Escrow Account:Mortgage Escrow)

    A mortgage payment will then be a split transaction that puts money into these accounts from your bank account:

    • Checking Account (Assets:Current Assets:Checking Account:Smalltown Bank)

    For completeness, the escrow account will periodically be used to pay actual expenses, which just moves the expense from escrow into insurance or tax. This is nice so that expenses for a month aren’t inflated due to a tax payment being made:

    • Insurance (Expenses:Insurance:Home Insurance)
    • Taxes (Expenses:Taxes:Property Tax)

    Now, this is all fairly typical and results in all but the principle part of the mortgage payment being included in expense reports. The trick then is to duplicate the principle portion in a way that it makes its way into your expenses. One way to do this is to create a principle expense account and also a fictional equity account that provides the funds to pay it:

    • Principle payment (Expenses:Principle Payments)
    • Equity hack (Equity:Principle Payments)

    Every time you record a mortgage payment, add a transfer from this equity account into the Principle Payments expense account. This will mess things up at some level, since you’re inventing an expense that does not truly exist, but if you’re using GnuCash more to monitor monthly cash flow, it causes the Income/Expense report to finally make sense.

    Example transaction split:

    Principle              350.00
    Interest               150.00
    Escrow                 300.00
    Bank                                 800.00
    Principle payment      350.00
    Equity hack                          350.00
  3. user11865

    Understandably, it appears as if one must construct the flows oneself because of the work involved to include every loan variation.


    First, it would be best to distinguish between cash and accrued, otherwise known as the economic, costs.

    The cash cost is, as you’ve identified, the payment. This is a reality for cash management, and it’s wise that you wish to track it.

    However, by accruals, the only economic cost involved in the payment is the interest. The reason is because the rest of the payment flows from one form of asset to another, so if out of a $1,000 payment, $100 is principal repayment, you have merely traded $100 of cash for $100 of house.

    The cash costs will be accounted for on the cash flow statement while the accrued or economic costs will be accounted on the income statement.


    Balance Sheet

    It appears as if you’ve accounted for this properly. However, for the resolution that you desire, the accounts must first flow through the income statement followed next instead of directly from assets to liabilities.

    Income Statement

    This is where you can get a sense of the true costs of the home.

    To get better accrual resolution, credit cash and debit mortgage interest expense & principal repayment. Book the mortgage interest expense on the income statement and then cancel the principal repayment account with the loan account. The principal repayment should not be treated as an expense; however, the cash payment that pays down the mortgage balance should be booked so that it will appear on the cash flow statement.

    Because you weren’t doing this before, and you were debiting the entire payment off of the loan, you should probably notice your booked loan account diverging from the actual. This proper booking will resolve that.

    When you are comfortable with booking the payments, you can book unrealized gains and losses by marking the house to market in this statement to get a better understanding of your financial position.

    Cash Flow Statment

    The cash flow statement with proper bookings should show how the cash has flowed, so if it is according to standards, household operations should show a positive flow from labor/investments less the amount of interest expense while financing will show a negative flow from principal repayment. Investing due to the home should show no change due to mortgage payments because the house has already been acquired, thus there was a large outflow when cash was paid to acquire the home.

    The program should give some way to classify accounts so that they are either operational, investing, or financing.

    All income & expenses are operational. All investments such as equities, credit assets, and the home are investing. All liabilities are financing.

    T accounts

    To book the installment payment $X which consists of $Y in interest and $Z in principal:

    Dr                       Cr
     Interest expense $Y      Cash $X
     Principal payment $Z

    To resolve the reduction in principal:

    Dr                       Cr
     Mortgage $Z              Principal payment $Z

    As long as the accounts are properly classified, GnuCash probably does the rest for you, but if not, to resolve the expense:

    Dr                       Cr
     Net Income $Y            Interest Expense $Y

    Finally, net income is resolved:

    Dr                       Cr
     Equity $A                Net Income $A

    My guess is that GnuCash derives the cash flow statement indirectly, but you can do the entry by simply:

    Dr                       Cr
     Interest expense (Operating) $Y      Cash $X
     Mortgage (Financing) $Z

    In this case, it happily resembles the first accrued entry, but with cash, that’s all that is necessary by the direct method.

  4. Steve

    If your mortgage is an interest only one then the full amount of the payment you make should be to an expense account perhaps called mortgage interest. If the mortgage is a repayment mortgage you need to split the amount of the payment between such an expense account called mortgage interest and between a liability account which is the amount of the loan. In practice I have not found it very easy to do all this as the actual amounts vary depending on number of days in the month and then there are occasional charges etc made by the mortgage company so some approximations seem to be needed unless one is to spend hours trying to get it exactly correct…… Steve

  5. bob

    The way I am setting this up.

    Mortgage (liability type)

    • principal (add the initial mortgage as the first entry here)
    • interests (add regular interest : I need to figure this out but I think scheduler could do it)

    Reduce that liability
    by entering a transaction from your
    asset:bank (or whatever you take the payment from)
    and “spend” that into mortgage (liability) as a payment.
    This I think would represent best a mortgage.

    Please note that I am a total noob as far as GnuCash and accounting…

Leave a Reply

Your email address will not be published. Required fields are marked *