Proper Spreadsheets

Templates › Property

Moving House Costs & Checklist

Made for anyone moving house.

A workbook for a house move: every cost with what you expected against what you actually paid, a checklist of who is doing what and by when, and a summary of the total cost and what is still outstanding. The summary carries a chart that redraws itself as you type.

Of the 23 columns, you fill in 19 and the other 4 work themselves out, and all 13 figures on the summary do too. There is room for 580 rows of your own.

£4.99one payment, yours to keep

  • Opens in Excel, Google Sheets and Numbers
  • Delivered straight away
  • No macros, nothing to install
  • Change it free before you buy

Payment is handled by Stripe. Your card details go to them and never to us. Sales are final, which is why every tab, column and calculation is shown on this page first.

Already have a spreadsheet of your own? Check it for mistakes, free.

The workbook's summary and the table behind it
A row typed into the real file. Every figure that changes is the spreadsheet's own arithmetic. What the film shows, in order:
  1. A new row is typed into the Costs tab, one cell at a time, in the white cells a person fills in.
  2. The shaded cells in that row fill themselves in.
  3. The figures on the Summary tab change to include the new row.
  4. The chart, Expected Cost by Category, redraws with it.
The chart, drawn from the totals in the table beside it. See it full size
Where you type, and the shaded columns that work themselves out. See it full size

Everything inside, before you pay

This is the whole design: every tab, every column and how each calculated one is worked out. White cells are yours to fill in; the shaded ones work themselves out and are locked so a formula cannot be overwritten by accident. There is room for 580 rows. Open any tab to see its columns.

Costs

10 columns

One row per cost of the move. Put in what you expected first, then fill in what you actually paid. Ready for 300 rows, every one with its formulas in place.

ColumnWhat goes in itWorked out as
Cost ItemType any text.
CategoryPick one: Legal, Estate Agent, Mortgage and Lender, Survey, Removals, Storage, Utilities and Council, Repairs and Cleaning, Furniture and Kit or Other.
Paid ToPick from the Contacts tab. Add anyone missing there first.Pick one of the Name entries on Contacts.
Expected CostType an amount in £.
Actual CostType an amount in £.
Over or UnderFills itself in.

The Actual Cost minus the Expected Cost.

The formulaIF(OR(ISBLANK([actual_cost]), ISBLANK([expected_cost])), "", ROUND([actual_cost] - [expected_cost], 2))
StatusPick one: Estimated, Quoted, Booked, Invoiced, Paid or Cancelled.
Date PaidType a date.
Still To PayFills itself in.

Worked out from this row's Expected Cost, Actual Cost and Status.

The formulaIF(AND(ISBLANK([expected_cost]), ISBLANK([actual_cost])), "", IF(OR([status]="Paid", [status]="Cancelled"), 0, IF(ISBLANK([actual_cost]), [expected_cost], [actual_cost])))
NotesType any text.

Checklist

8 columns

Everything that needs doing before, during and after the move, with the person responsible and the date it is needed by. Ready for 200 rows, every one with its formulas in place.

ColumnWhat goes in itWorked out as
TaskType any text.
StagePick one: Before Exchange, Exchange to Completion, Moving Week, Moving Day or After the Move.
Who Is Doing ItPick one of the Name entries on Contacts.
Needed ByType a date.
StatusPick one: Not Started, In Progress, Waiting On Someone or Done.
Days LeftFills itself in.

Worked out from this row's Needed By and Status.

The formulaIF(ISBLANK([due_date]), "", IF([status]="Done", "", [due_date] - TODAY()))
AttentionFlags anything overdue or due within the next seven days.Fills itself in.

Worked out from this row's Needed By and Status.

The formulaIF(ISBLANK([due_date]), "", IF([status]="Done", "", IF([due_date] < TODAY(), "Overdue", IF([due_date] <= TODAY() + 7, "Due soon", ""))))
NotesType any text.

Contacts

5 columns

Everyone involved in the move. The names here feed the dropdowns on the Costs and Checklist tabs. Ready for 80 rows, every one with its formulas in place.

ColumnWhat goes in it
NameType any text.
RolePick one: Household, Solicitor, Estate Agent, Mortgage Broker, Surveyor, Removals, Storage, Utility Company, Council or Other.
PhoneType any text.
EmailType any text.
NotesType any text.

Summary

13 figures

What the move is costing and what is still outstanding, both money and jobs.

FigureWorked out as
Total Expected CostWhat you thought the move would cost.

The total of Expected Cost on Costs.

The formulaSUM([Costs!expected_cost])
Total Actual Cost RecordedEvery actual figure entered so far, paid or not.

The total of Actual Cost on Costs.

The formulaSUM([Costs!actual_cost])
Total Paid So Far

The total of Actual Cost on Costs where Status is “Paid”.

The formulaSUMIF([Costs!status], "Paid", [Costs!actual_cost])
Still To PayAnything not yet paid, using the actual figure where you have one and the estimate where you do not.

The total of Still To Pay on Costs.

The formulaSUM([Costs!still_to_pay])
Projected Total Cost of the Move

Worked out from Status, Actual Cost and Still To Pay on Costs.

The formulaSUMIF([Costs!status], "Paid", [Costs!actual_cost]) + SUM([Costs!still_to_pay])
Over Budget ByAcross the items with an actual figure. A positive number means more than expected.

The total of Over or Under on Costs.

The formulaSUM([Costs!variance])
Share of Budget Spent

Worked out from Actual Cost and Expected Cost on Costs.

The formulaIFERROR(SUM([Costs!actual_cost]) / SUM([Costs!expected_cost]), 0)
Largest Single Cost

The largest Actual Cost on Costs.

The formulaMAX([Costs!actual_cost])
Costs Not Yet Paid

Worked out from Cost Item and Status on Costs.

The formulaCOUNTA([Costs!item]) - COUNTIF([Costs!status], "Paid") - COUNTIF([Costs!status], "Cancelled")
Tasks Outstanding

Worked out from Task and Status on Checklist.

The formulaCOUNTA([Checklist!task]) - COUNTIF([Checklist!status], "Done")
Tasks Overdue

The number of rows on Checklist where Attention is “Overdue”.

The formulaCOUNTIF([Checklist!flag], "Overdue")
Tasks Due in the Next Seven Days

The number of rows on Checklist where Attention is “Due soon”.

The formulaCOUNTIF([Checklist!flag], "Due soon")
Checklist Complete

Worked out from Status and Task on Checklist.

The formulaIFERROR(COUNTIF([Checklist!status], "Done") / COUNTA([Checklist!task]), 0)