Building a Mortgage Loan Amortization Schedule from Scratch
A Mortgage Loan Excel Spreadsheet is basically just a set of interconnected formulas that break down every monthly payment into principal and interest over the life of the loan. Most people use online calculators, but those don't show you the year-by-year erosion of your balance or let you model what happens when you throw an extra payment at the thing mid-term. I've built these from scratch for clients who wanted to actually see the mechanics rather than just get a number. The setup is straightforward if you already know how PMT works, but the little traps along the way will waste your time if you're not paying attention. Here's how I actually structure mine, and where people regularly go wrong.
Setting Up the Mortgage Loan Excel Spreadsheet
Start with a clean input section. I put my assumptions in the top-left corner because it's easier to scan when everything's in one place. The cells I care about are the original loan amount, the annual interest rate, and the total number of payments. Those three inputs drive the entire schedule. A standard 30-year loan at 6.5% annual interest with a $350,000 balance means 360 monthly payments and a monthly rate of 0.54167 percent. Don't forget to divide the annual rate by 12. I've seen too many spreadsheets go sideways because someone plugged in the full annual percentage directly into the rate argument of PMT. The monthly payment formula goes in its own cell. In Excel, the function is PMT divided by 12 as the rate, 360 as the Nper, and the loan amount as the PV. The result comes out negative because Excel treats it as a cash outflow. Put a minus sign in front of the whole formula if you want it to display as a positive number like a real lender statement would. This sign convention thing is something nobody warns you about until your schedule doesn't add up and you spend two hours tracking down why your balance isn't converging to zero. Next, build the amortization table. The columns I always include are Period Number, Beginning Balance, Monthly Payment, Principal Portion, Interest Portion, Ending Balance, and Cumulative Principal Paid. Row one is your starting point — the full loan amount sits in the Beginning Balance column. Row two is where the first payment gets applied. The interest for any given period equals the Beginning Balance multiplied by the monthly rate. The principal portion is the total payment minus the interest. The Ending Balance is the Beginning Balance minus the principal paid that month. That ending balance becomes next month's beginning balance, and you drag the formulas down for however many periods you're modeling.
A Real Problem I Hit and How I Worked Around It
About three years ago I was helping a client compare two scenarios on a conforming loan, and they wanted to model a one-time $15,000 principal reduction at payment 48. The standard PMT-based amortization table doesn't account for mid-term extra payments. If you just change the beginning balance at period 48, the subsequent payments are still calculated against the old remaining term, and the schedule ends with a tiny balance instead of zeroing out properly. That threw off the entire comparison. The workaround is to rebuild the payment calculation from that point forward using the revised remaining term. After the extra payment, the new principal is whatever the balance was at period 47 minus 15,000. The remaining number of payments drops from 312 to 311. I recreated the PMT formula with the new present value and the new Nper, then dragged it down from period 49 onward. It took me about eight minutes once I'd done it before, but the first time I fumbled around with nested IF statements trying to automate the switch. Just hard-code the recalculated payment for the new term. It's less elegant but it actually works.
Get the Full Details

Things Beginners Miss
The first thing people get wrong is assuming the principal portion stays constant. It doesn't. In a standard amortization schedule, the principal portion starts small and grows every month while the interest portion shrinks. Early in the loan, most of your payment goes to interest. By the halfway point, you're paying roughly equal parts principal and interest. Towards the end, the vast majority is principal. This is why prepayment strategy matters so much — knocking down principal in years one through five saves far more in total interest than doing the same thing in year twenty. The second thing is the difference between the nominal annual rate and the effective annual rate. If your loan compounds monthly, the effective rate is slightly higher than the stated rate. Excel's PMT function uses the nominal rate divided by periods, so your actual cost of borrowing is a hair more than the headline number suggests. Not a huge difference on a single loan, but it compounds over 30 years and it matters when you're comparing loan estimates side by side. Also, PMI disappears at 78 percent loan-to-value automatically under most conventional loans, but your spreadsheet won't know that unless you build in the logic. I add a conditional column that zeroes out the PMI payment once the balance drops below the threshold. Without that, your total monthly outflow stays artificially high for the duration of the schedule.
What This Tool Can't Handle Well
An Excel-based Mortgage Loan Excel Spreadsheet falls apart pretty quickly if you're dealing with an adjustable-rate mortgage where the rate actually changes at set intervals. You can model it, but you have to manually update the PMT calculation each time the rate resets, and the formula for the new payment depends on the remaining balance and remaining term at that exact point in time. It's doable but tedious, and the chance of a formula error creeping in is high. For ARMs, a dedicated loan servicer portal or a specialized mortgage calculator gives you cleaner results. Scenarios with negative amortization also break standard spreadsheets. If the minimum payment doesn't cover the accrued interest, the unpaid interest gets added to the principal balance. Excel doesn't have a built-in flag for that. You'd need to write custom logic that checks each period whether the payment exceeds the interest charge and adjusts the balance accordingly. Most people don't bother because they're not working with hybrid ARMs or option ARMs, but if you are, you'll need something more robust than a standard PMT-driven schedule. There's also the issue of escrow. The spreadsheet shows you the principal and interest portion accurately, but property taxes and homeowners insurance vary wildly by location and change over time. If you want a true monthly housing payment estimate, you need to estimate escrow separately and add it in. I usually put that as a line item at the bottom of the sheet with a note that it's an estimate based on current local rates.
What I Actually Recommend
If you're a homeowner or someone evaluating a purchase, building a basic amortization schedule in Excel takes about 30 to 45 minutes the first time and five minutes after that. The payoff is that you understand exactly how much equity you're building and what happens if you accelerate payments. For routine fixed-rate conforming loans, this approach is reliable and fast. For anything involving adjustable rates, negative amortization, or complex fee structures, I'd point you toward a dedicated mortgage calculator or ask your loan officer for a professional disclosure document. Those tools handle the edge cases without making you debug your own spreadsheet at 11 PM on a Tuesday.
