Three things belong in a roommate expense tracker: the bill itself, each person's share, and whatever got paid back. Google Sheets handles all three if you give each one its own place. Set up a Transactions tab, a Settlements tab, and a Balances tab, then invite roommates with only the access they need.

Rent, utilities, groceries, deposits, household purchases. It all fits. The sheet tracks who paid and who still owes. It won't move money for you, and it won't send a payment request either.

So who still owes whom? Turns out that's the hard part, and it isn't the table. It's getting everyone to agree on who counts in each expense.

Use three tabs instead of one crowded log

Keep repayments out of your expense list. Mix them together and every balance check turns into an archaeology project.

Tab Purpose Main fields
Transactions Records each shared bill or purchase Date, description, amount, payer, split type, shares, notes
Settlements Records money paid back between roommates Date, from, to, amount, related expense, status
Balances Shows each person's net position Paid, share owed, settlements, remaining balance

One row per expense, always. Say Alex pays the electric bill and Jordan pays Alex back two weeks later. Those are two records, in two tabs.

Sometimes two roommates each paid part of one bill. That's fine: use separate rows, or spell out the division in Notes. Keep the math where someone can see it.

Build the Transactions tab

Put these headers across row 1 and swap in your own roommates' names.

Column What to record Example
Date When the expense happened 2026-01-15
Description What the money bought February rent
Category A simple grouping for review Rent, utilities, groceries
Amount The full bill, not one person's share $1,200
Paid by The roommate who paid upfront Alex
Split type The agreed method Equal
Alex share Alex's final share of this expense $400
Jordan share Jordan's final share of this expense $400
Sam share Sam's final share of this expense $400
Status Whether the expense is still open Open
Notes Exceptions, receipt details, or an explanation Split equally

Add one share column per person. Dollar amounts beat yes-or-no flags here, because the number shows the actual agreement, including uneven or custom splits.

Rent is the easy row. Groceries are where the little arguments start: who bought them, who was away, whether paper towels count. Write the rule down before the next receipt lands, not after. It feels fussy for about five minutes. Then it quietly saves the same conversation every month.

Choose the split method before entering numbers

Agree on the split before anyone opens their wallet. The method decides everything downstream. The formula just does what it's told.

Split method How it works Useful for
Equal Divide the cost evenly among participating roommates Equal rent, internet, shared supplies
Per-person Divide the cost by the people who used or joined in A grocery trip or shared meal
Usage-based Assign shares using an agreed usage measure Utilities when usage can be estimated
Percentage or custom Enter a fixed percentage or dollar amount for each person Uneven rooms, income-based arrangements, or special agreements
Reimbursement Label an amount that needs to be paid back, while tracking the repayment separately One roommate fronts a cost for another

Take a $1,200 bill split equally among Alex, Jordan, and Sam. Each share column gets $400. Alex, who paid the full amount, still gets credit for the whole $1,200.

You'll run into templates that use a 100 percent and 0 percent convention, where the payer shows 100 on every row, and that convention really describes who fronted the money rather than who the money was ultimately for, so if your group uses it, explain it in Notes and keep the final shares visible somewhere. A roommate can pay 100 percent upfront and still be owed only their own share back. Don't let the label Reimbursement stand in for actual share amounts.

Add a Balances tab with simple formulas

Pick a sign convention and stick to it. In this setup, positive means the group owes that person.

List each roommate once in Balances!A2:A6. On the Transactions tab, Alex's share column is G, Jordan's is H, and Sam's is I.

Balance column Formula or entry Meaning
Paid =SUMIF(Transactions!$E$2:$E$100,A2,Transactions!$D$2:$D$100) Total paid by the person in A2
Share owed =SUM(Transactions!$G$2:$G$100) Change G to that person's share column
Net before settlements =B2-C2 Positive means the group owes them
Incoming settlements =SUMIFS(Settlements!$D$2:$D$100,Settlements!$C$2:$C$100,A2,Settlements!$F$2:$F$100,"Paid") Paid money sent to the person
Outgoing settlements =SUMIFS(Settlements!$D$2:$D$100,Settlements!$B$2:$B$100,A2,Settlements!$F$2:$F$100,"Paid") Paid money sent by the person
Remaining balance =D2-E2+F2 The amount still owed or due

One trap worth naming. The Share owed formula has to point at a different share column for each roommate. Copy Alex's row down without fixing that, and every balance in the sheet becomes Alex's balance.

Here's the math in action. Alex pays $120 for a bill, and all three owe $40 each. Alex shows $80 before settlements, while Jordan and Sam each show -$40. Jordan sends Alex $40, you record it on Settlements, and both remaining balances move toward zero.

The table gives you net positions. It won't pick the payment route for you.

Record repayments on a Settlements tab

Give the tab these columns:

Date | From | To | Amount | Related expense | Status

Enter a settlement only after money has actually been sent. If you want to log it early, mark it Pending until then. The formulas above count Paid rows only.

Say Alex pays Jordan $40. From gets Alex, To gets Jordan, Amount gets $40, and a short reference like "January utilities" ties it back to the original bill.

Don't also log that $40 as a new grocery, rent, or utility expense. You'd be counting the same cost twice.

Thing is, an expense list can be spotless and the balance can still come out wrong, because a repayment slipped into it somewhere along the way. Leave the original bill untouched.

Set up and share the Google Sheet

  1. Open Google Sheets and start a blank spreadsheet. Name it Roommate Expenses.
  2. Add the Transactions, Settlements, and Balances tabs.
  3. Enter the headers and roommate names, with a share column for each person.
  4. Format Date as a date, and Amount plus the share columns as currency. Dropdowns for names, split types, and statuses help prevent spelling drift.
  5. Select Share and invite each roommate by email address. Editor goes to whoever will enter expenses; Commenter or Viewer fits people who only need to review the record. Google's Sheets product page describes its sharing and collaboration controls.
  6. Leave General access on Restricted unless the group has a clear reason to use a link. Anyone holding an editable link may be able to change the file.
  7. Add one sample expense and one sample settlement, have another roommate check the totals, then remove the test rows or label them clearly.

Editors see changes as they happen. Even so, two people typing in the same cell at once gets confusing fast, so stick to one row per expense and put questions in Notes or the group chat.

Protect the parts that should not change

Give edit access only to people who need it. A roommate who just checks totals doesn't need to touch formulas, and probably shouldn't be able to.

If accidental edits worry you, set protected ranges on header cells, formulas, or the whole Balances tab. Keep at least one trusted person able to maintain those ranges.

The file should hold what's needed to verify household costs, and nothing else. Keep passwords, full account numbers, and other sensitive records out of it.

Agree on an update and repayment routine

Pick one deadline everyone can actually keep. Update expenses by 8pm Sundays is a perfectly good reminder. During a busy move or trip, a group might switch to a 48-hour rule instead: whatever you spend gets entered within two days.

Write the rules down somewhere fixed, like a small Rules tab or a pinned group message. Cover which costs count as shared, how personal items are handled, how utilities are split, what happens when someone moves in or out, and where receipts are stored.

Picture the alternative. Someone pays the electric bill on Friday, another roommate buys groceries on Saturday, and a week later somebody repays part of the rent. If all three land in one undifferentiated list, the totals look busier than they are, and checking them later is misery. Separate tabs keep the record readable.

Mistakes that throw off roommate balances

Most balance errors trace back to a handful of habits:

  • Recording a repayment as a second expense.
  • Leaving one person's share blank with no explanation.
  • Using the 100 percent and 0 percent convention without stating what it means.
  • Handing everyone an editable link when email invitations would be safer.
  • Fixing a formula instead of correcting the source transaction.
  • Editing a cell while another roommate is working in it.
  • Marking a bill settled before the money has actually been paid.
  • Skipping the receipt, note, or explanation for an unusual split.

Look the sheet over before anyone sends money. Small corrections are cheap now and annoying later.

Know when to use something else

To be honest, a spreadsheet covers two to five roommates with simple rules and occasional purchases without breaking a sweat. It gets less comfortable when manual entry starts sliding, the group grows past five people, or the split rules turn into something you can't explain in one sentence.

That's your cue to look at another tool, mainly for receipt scanning, recurring reminders, or payment requests. Keep the jobs separate when you compare: tracking, requesting, paying, exporting, and recordkeeping aren't the same function. A payment tool can help move the money while the Sheet stays the durable expense record.

How do I share a Google Sheet with roommates?

Invite people from Share and give Editor access only to those entering data. Keep link access Restricted, and use Viewer or Commenter when edits aren't needed.

What is the cleanest way to record reimbursements?

The bill stays on Transactions. The actual payment goes on Settlements with the sender, recipient, amount, and status. Never enter the repayment as a second expense.

What should a positive balance mean?

In this setup, a positive balance means the group owes that person. A negative balance means that person owes the group.

Does this require a dedicated split-bill app?

No. A blank Sheet can handle the records and the calculations, but it won't move money or send payment requests by itself.

Start small. Create the three tabs, enter last month's rent and one utility bill, and check the signs on every balance before inviting the household. Then share the written rules and set the Sunday reminder.