Moving costs get messy because one person pays at the counter while everyone remembers a different split. A shared Google Sheet gives the group one record. Use one row per charge, a percentage allocation for each person, and a separate log for repayments.
Keep two questions apart: who paid, and who should bear the cost? The sheet records the agreement; it doesn't move money or confirm a bank transfer.
Build four simple tabs
Start with a blank spreadsheet and create these tabs:
| Tab | Job |
|---|---|
| Expenses | Records charges, refunds, categories, and who paid |
| Payments | Records actual reimbursements between group members |
| Summary | Shows each person's share, payments, and remaining balance |
| Lists | Stores names and dropdown options |
Four tabs are enough for most one-time moves. The first version won't look elegant. That's fine. Enter one real charge before polishing colors.
Choose columns for the Expenses tab
Use fixed participant columns so the formulas stay easy to inspect. The example below uses Alex, Jordan, and Sam; replace those names with your group members.
| Column | What to enter |
|---|---|
| Date | Date the charge or refund happened |
| Description | Clear label such as 20-ft truck rental |
| Category | Truck Rental, Fuel, Packing Supplies, Deposit, Cleaning, Utilities, or Other |
| Amount | Numeric amount in U.S. dollars |
| Paid by | Person who paid the vendor |
| Split method | Equal, Custom, Personal reimbursement, or Refund |
| Alex % | Alex's share of the cost |
| Jordan % | Jordan's share of the cost |
| Sam % | Sam's share of the cost |
| Alex share | Formula showing Alex's dollar share |
| Jordan share | Formula showing Jordan's dollar share |
| Sam share | Formula showing Sam's dollar share |
| Allocation check | Confirms the percentages total 100% |
| Receipt link | Link to a receipt the group can access |
| Notes | Agreement details, rounding notes, or follow-up |
Format Date as a date, Amount as currency, and the percentage columns as percentages. Enter 250, then apply currency formatting; don't turn the amount into a text label such as $250 paid.
Use dropdowns for Paid by, Category, and Split method. On the Lists tab, put names and options in separate columns, then use Insert > Dropdown or Data > Data validation to apply them. Extend the validation range beyond the first few rows so new expenses don't lose the rule.
For a first test row, enter a $250 truck rental paid by Alex. If three people share it equally, enter 33.33%, 33.33%, and 33.34%. You can also test a $100 deposit paid by one person.
Add formulas that handle rounding
Place the dollar share columns after the percentage columns. That keeps the input and calculation areas separate.
In row 2, use these formulas:
J2: =IF($D2="","",ROUND($D2*G2,2))
K2: =IF($D2="","",ROUND($D2*H2,2))
L2: =IF($D2="","",$D2-J2-K2)
M2: =IF($D2="","",SUM(G2:I2))
Copy the formulas down the sheet. Format J:L as currency and M as a percentage.
J2 and K2 round to cents. L2 takes the remaining cents, so the three shares still equal the row's Amount. The last person absorbs the rounding difference; rotate that position if the group wants to keep things even over time.
M2 should show 100% on a valid row. Add conditional formatting that flags any nonblank allocation check that is not 100%. Enter 33.33%, not 33.33; the latter means 3,333% in a percentage-formatted cell.
Decide who actually owes each charge
Split method is only a label. The percentage columns control the math.
- Equal: Use matching percentages, with the final person receiving any one-cent adjustment.
- Usage or room size: Give a larger share to the person who used more space, truck capacity, storage, or time.
- Personal reimbursement: If Alex pays $100 for Jordan's personal boxes, set Alex to 0% and Jordan to 100%. The payer and the person responsible are different here.
- Refund: Enter a negative amount with the original allocation when a deposit or other shared charge is returned to the original payer.
Turns out, a shared deposit doesn't become a personal expense just because one person paid it. If Alex pays a $100 deposit for three people, keep Alex in Paid by and assign shares based on the group's agreement.
An income-based split can work too, but only if everyone agrees before the expenses arrive. Equal splits are simpler. Custom percentages may feel fairer for uneven contributions.
Keep Payments separate from expenses
The Payments tab should have these columns:
| Column | What to enter |
|---|---|
| Date | Date the repayment was sent or received |
| From | Person who sent money |
| To | Person who received money |
| Amount | Amount of the repayment |
| Method | Cash, bank transfer, payment app, or another agreed method |
| Note | Expense or settlement the payment covers |
Record each repayment once. If Jordan sends Alex $33.33, enter Jordan under From, Alex under To, and 33.33 under Amount. Don't also add that repayment as a negative moving expense.
A separate payment log prevents double-counting. It also lets the group distinguish an expense that exists from a repayment that actually happened.
Build the Summary tab
Put participant names in A2:A4. In the example below, Alex's dollar share is in Expenses column J, Jordan's is in K, and Sam's is in L.
| Cell | Formula | Meaning |
|---|---|---|
| B2 | =SUMIF(Expenses!$E$2:$E$100,A2,Expenses!$D$2:$D$100) |
Total fronted by the person in A2 |
| C2 | =SUM(Expenses!$J$2:$J$100) |
Alex's allocated share |
| C3 | =SUM(Expenses!$K$2:$K$100) |
Jordan's allocated share |
| C4 | =SUM(Expenses!$L$2:$L$100) |
Sam's allocated share |
| D2 | =SUMIF(Payments!$B$2:$B$100,A2,Payments!$D$2:$D$100) |
Amount sent by the person in A2 |
| E2 | =SUMIF(Payments!$C$2:$C$100,A2,Payments!$D$2:$D$100) |
Amount received by the person in A2 |
| F2 | =B2-C2+D2-E2 |
Remaining net position |
Use these headers in row 1: Person, Fronted, Allocated share, Sent, Received, Net.
The last formula matters. A positive result means the person should still receive money. A negative result means the person still owes money. Copy B2 and D2:F2 down for the other names, then use the matching share column in C.
For more participants, add one percentage column and one dollar-share column per person. Update the Summary formula for that person's share column too.
Category totals are easy to add:
=SUMIFS(Expenses!$D$2:$D$100,Expenses!$C$2:$C$100,"Truck Rental")
To create a category summary, place this in a blank Summary cell:
=QUERY(Expenses!A1:O100,"select C, sum(D) where C is not null group by C label sum(D) 'Total'",1)
To review larger charges, use:
=IFERROR(FILTER(Expenses!A2:O100,Expenses!D2:D100>100),"No expenses over $100")
If you add a small budget table with planned amounts in column B and actual amounts in column C, a review flag in D2 can use:
=IF(C2>=B2*0.8,"Review","")
These examples stop at row 100. Extend the ranges if the move produces more entries.
Share the sheet without losing control
To be honest, named access is easier to audit than a broad group-chat link.
- Click Share and add the people who need to enter expenses.
- Give contributors Editor access. Use Viewer access for anyone who only needs to read the totals.
- If you use anyone-with-the-link access, remember that an editor link can be forwarded. Avoid it for receipts or notes the group wants to keep private.
- Keep input columns separate from formula columns. If available, protect the formula ranges, or tell contributors to enter data only in the input fields.
- Check File > Version history > See version history if a formula or row changes unexpectedly. You can review an earlier version and restore it when needed.
- Use Tools > Notification settings if the group wants alerts about changes. After the move is settled, reduce access or remove people who no longer need the file.
Review receipts and settle the balance
Use a regular review time during the move. Weekly works for many groups, but the useful part is consistency.
| Stage | What to check |
|---|---|
| Before adding a row | Receipt, date, amount, and category |
| After entering a row | Paid by, split method, and 100% allocation |
| During the move | Summary totals and missing receipts |
| Before sending requests | Net positions and existing Payments entries |
| At close | Refunds, final payments, and remaining balances |
A receipt link helps the group verify the amount later. Make sure the linked file is accessible to the people reviewing the expense.
Don't treat a Settled? column as proof that money changed hands. The Payments tab is the record of an actual repayment. Use the agreed payment method outside the spreadsheet, then log the transfer afterward.
Common mistakes to avoid
Thing is, the biggest error is confusing the payer with the person who owes the expense. A roommate can front a shared truck rental, while the group still carries the cost according to the agreed percentages.
A formula range ending at row 100 will miss row 101. Extend the range or use a broader range before the sheet grows. Keep Amount numeric too; formulas may not calculate correctly when a number is stored as text.
Broad editor access creates another weak spot. Someone can overwrite a formula, change a percentage, or remove a receipt link. Separate input from calculations and use version history when the group needs to inspect a change.
A spreadsheet works well for a one-time move or a small, informal group. A dedicated tool may be worth considering if you need receipt scanning, automatic payment requests, recurring bills, or a larger ongoing record. Check whether it supports exports and the access controls your group needs.
FAQ
How should I record a reimbursement for moving supplies?
Put the person who paid in Paid by, then assign the cost to the person who should bear it. For Jordan's personal supplies paid by Alex, use Alex at 0% and Jordan at 100%. Record Jordan's repayment to Alex once in Payments.
What if a security deposit is returned?
If the refund goes back to the original payer, add a negative amount in the Expenses tab and use the same allocation percentages as the original deposit. If the refund is distributed differently, record the distribution in Payments or create a separate refund row with the new allocation.
Can I use this tracker in Excel?
Most of the basic formulas translate, including SUMIF, SUMIFS, IF, ROUND, and FILTER. QUERY is Google Sheets-specific, so use a PivotTable or another summary method in Excel.
Should everyone have edit access?
Only people who enter or correct expenses need Editor access. Give others Viewer access, and keep formula columns separate from the fields people update.
Create the four tabs before the truck booking, add the group names, and test a $500 truck row. Have everyone confirm the allocation rule before the next receipt lands.