When my partner and I renovated in 2007, we budgeted carefully for the project. We did research on the price per square foot for similar projects in Denver, and we talked to several architects about what would be realistic. So we were surprised when the project ran 30% over budget (and didn’t include everything we originally wanted).

It’s a truism that most renovations cost a lot more than the homeowners expect—and architects and general contractors say that it’s not uncommon for people to simply run out of money before a project is done. My partner and I were able to use some savings we hadn’t wanted to touch to avoid that kind of hell. But we shouldn’t have had serious cost overruns at all. Here’s what we did that worked, along with things I wish we’d known before we started.

Create a detailed budget and revise as you go. In our case, we were working with a contractor and an architect. The contractor’s fees included some materials (including paint) but not most fixtures and finishes—that’s the grab-bag term for tile, flooring, countertops, kitchen cabinets, faucets, lighting, door knobs, appliances and more). We made a room-by-room spreadsheet of all the things we’d have to buy, and then did initial research on prices. We labeled that column “Budget.” As the project progressed and some of the prices seemed too low or too high, we adjusted them in a column called “Projection.” Finally, as we ordered each item, we filled in a column called “Actual.”

The three columns let us create a budget, revise it as we went without losing sight of our original plan, and track the amount we actually spent. We used a similar system for keeping track of what we paid the contractor and architect over the course of the project.

Don’t forget taxes and shipping. When you’re researching costs for your initial budget, it’s easy to forget additional costs. Especially if you shop online regularly, you may be used to free shipping. But, counter-intuitively, lots of major purchases you’ll make for your renovation have serious delivery fees. And while taxes are relatively palatable on, say, a $100 pair of jeans, the taxes on $3,000 worth of kitchen cabinets makes them cost $270 more. I wish our budget spreadsheet had included a column automatically adding 9% for taxes and $100 to $500 for heavy deliveries, like cabinets, tile and appliances.

Plan for budgeting mistakes. No matter how much research you do, your renovation is likely to include costs you didn’t anticipate. In our case, hours of reading about countertops didn’t reveal that fabrication—the process of templating and cutting a slab of marble to fit our specs—is a separate, and mightily expensive, cost. It made the counters, already a splurge item, nearly twice as expensive. In the future, I’d create a reserve of at least 5% in the initial budget to deal with problems like this. I might also ask the architect to go over our estimates together, to see if they catch anything we’ve forgotten.

Bake in changes. As the project unfolds, you’ll likely want to add in things you hadn’t considered during planning. Among other things, we decided to include an interior window in our bathroom, and we tiled the back of our kitchen island. Neither the contractor’s fees nor the finishes were in our original budget. At least 10% is a good estimate for change fees and can be its own line item in your initial budget. (Disclaimer: This is standard advice that we ignored, and then regretted ignoring).

Account for delays. If you’re paying to rent somewhere else and you’re paying mortgage for the place under construction, time equals money. Budget for a couple of months of permitting and planning and at least a 30% delay in construction time. So if your construction is supposed to run three months, assume it’ll go four or more—and account for that extra rent at the outset.

Recognize the hidden costs of custom finishes. Pinterest abounds with pictures of creative kitchens and unique bathrooms. But beware: not only are custom finishes more expensive than stock, they also tend to have long lead times. Ten weeks or more is common for things like custom fronts for Ikea cabinets and for special tile. That means that if they’re delayed in delivery or if there’s a problem with installation, which is more likely if the materials are unusual, your project will run late and thus become more expensive, with little way to adjust.

We chose beautiful custom tiles for our bathroom, one of our splurges. We ordered early enough that they’d arrive in time to be installed right at the end of our planned three-month construction run. But a combination of errors led to a two-month delay after the original end date for our whole project. Each delay in the tile replacements gave our contractor room to slow down on other details, which made it hard to argue that either the tile company or the contractor should pay the extra two months of rent we incurred.

Those two months doubled the cost of the already-expensive tile (and involved a lot of stress with the tile company and contractor). In retrospect, we could have hedged this risk by ordering custom finishes only for things that could be installed after move in if needed, like kitchen cabinet fronts and backsplash tile.

An illustration of paint chips taped to a light pink wall. Sunny Eckerle

Limit yourself. Early in the project, it may seem like a handful of splurges are reasonable in your budget for fixtures and finishes. After all, each individual one is only a percentage of the whole project cost. But most finishes get installed toward the end of construction, when you’re likely to face time and financial pressure you haven’t anticipated—and when extra days and dollars really hurt. Stock finishes, like subway tile, are relatively cheap and easy to procure, which makes them attractive down the stretch. Help yourself out by limiting yourself to picking just one or two splurges.

We went for relatively pricey choices on flooring, bathroom tile, kitchen cabinet fronts and countertops, kitchen island tile, and storage. Looking back, we wish we’d gone with cheaper flooring (which we had rationalized because it’s hard to change after move in) and stock tile for the bathroom and kitchen island. Truly, we would have been happier with just a couple of very special touches and more money in our savings now.

If you’re working with an architect, understand how their fees work. If your architect charges a fee of the overall project costs, you should budget so that everything you buy includes their markup. That includes change orders and fixtures and finishes.

Be clear about your financial limits. Although they may be financially incentivized to see your whole project come in on the high end, your architect should still help you figure out which splurges will really pay off in your happiness, in the value of your property, or in your overall budget. You can help them focus on these questions by being concrete about your budget early and often. We were direct with our architect in the initial planning but didn’t emphasize our budget enough as the project evolved. As a result, she tended to recommend pricey items she was familiar with when cheaper ones that might have required research could have met our needs. We realized this on a few things, and wound up exchanging some things, including several thousand dollars worth of sliding door hardware we were able replace with a variation that cost a few hundred dollars.

Stop by the site often. If the contractor makes a mistake, it’s on them to fix it. But it can be hard to get them to cover the cost of delays. Best to catch problems early and avoid related delays in the first place. Some contractors will let you include a paragraph in your agreement that allows for liquidated damages, which means they’ll compensate you if they fail to deliver on time. But even if you have such a clause, it’s unlikely to kick in for small delays, and the cost of those can up for you over the course of a renovation.

Look for chances to decrease the scope. If you keep a close eye on the project, you can sometimes find opportunities to save. After removing a popcorn finish from our apartment’s ceiling, the architect and contractor both thought we’d have to skim-coat before painting. But when we looked at it ourselves, we realized we liked the look of the rough concrete painted directly–and wound up saving about $3,000 when we nixed the skim coating.

Ask for discounts. Many suppliers offer discounts if you’re working with an architect. Ten percent is standard for a lot of finishes and furniture. If you’re the one ordering, you usually just have to mention your architect by name to get the discount. Don’t sleep on this one, because 10% here and there can help you cover the costs of things you’ve inevitably overlooked or underestimated along the way.