Do you actually know what you owe your partner right now, down to the dollar?

A single shared Google Sheet handles the whole mess. It logs who paid upfront, what the other person owes, and whether the debt is cleared. Crucially, you must keep the reimbursement amount separate from the full charge. A $150 grocery run split 50/50 creates a $75 IOU. It is not a $150 debt.

Turns out, a practical two-person system needs only three parts: a clean expense log, a basic summary tab, and a regular settlement routine. Manual logging easily covers two partners or a small crew under 10 people with simple habits. If you need receipt scanning or automated pinging, specialized apps save time. Still, the spreadsheet remains your single source of truth.

Decide what one row means

Lock in your row rules before touching any formulas. For couples, sticking to one row per shared expense gives the cleanest setup. The total charge gets typed once, making the other partner's exact share painless to verify.

Situation What the row captures Example
One partner pays a 50/50 bill Full bill and the other partner's share $150 total, $75 owed
One partner pays a 60/40 bill Full bill and the agreed 40% share $200 total, $80 owed
A bill has already been settled Original expense plus settlement status Reimbursed: Yes
Several people owe one payer One reimbursement row per payer and person who owes Add an expense ID so totals do not get duplicated

Managing a bigger household? Use separate Expenses and Splits tabs. Repeating the entire bill on multiple lines will inflate your category totals before you catch it.

Add columns that show the actual IOU

Type these ten headers across row 1. Column E is the critical guardrail that typical expense templates omit:

Column What to record
Date Date the expense happened, such as 01/15/2026
Payer Partner who paid upfront
Total amount Full cost of the bill
Owed by Partner who must reimburse the payer
Amount owed Only that partner's agreed share
Description Specific detail, such as February rent
Category Rent, groceries, utilities, travel, or another label
Reimbursed Use Yes or No
Reimbursed date Date the payment was completed
Receipt or notes Receipt link, split method, or settlement note

Here is how a real row looks:

Date Payer Total amount Owed by Amount owed Description Category Reimbursed Reimbursed date Receipt or notes
01/15/2026 Partner A $150 Partner B $75 February rent Rent No Equal split

Keep your notes boring. Seriously. Boring notes save relationships. A quick link to a receipt, the agreed split percentage, or the billing period will settle misunderstandings before they turn into dinner-table arguments.

Build the tracker in Google Sheets

Setting this up takes eight quick steps.

  1. Head to sheets.google.com, make a blank sheet, and name it something obvious like Partner Reimbursements.
  2. Change the name of Sheet1 to Expenses.
  3. Paste the 10 headers into A1:J1. Pin row 1 using View > Freeze > 1 row.
  4. Type a sample row to test layout, then swap it for your own actual bills.
  5. Set currency formatting on columns C:C and E:E, and format your date fields as standard dates.
  6. Put dropdown validation on Payer, Owed by, and Reimbursed. Put both partner names in the first two and Yes and No in the last.
  7. Open a new tab called Summary to display individual open balances and the net difference.
  8. Populate five to ten sample bills, resolve at least one, and verify the summary math before inviting anyone.

Oddball expense? Just override Amount owed by typing a hard number. You do not have to write custom spreadsheet formulas for every one-off split.

Add formulas for open balances

Every reimbursement calculation must pull from column E. Never point them at column C. Column C tracks the gross invoice, whereas column E holds what the other person must pay back. Pointing at column C doubles the apparent debt instantly.

For straight 50/50 splits, put =C2/2 into E2 and drag it down. If Partner A takes 60% of a $200 utility bill, Partner B's owed share is =C2*40%.

Drop these formulas directly into your Summary tab:

Summary item Formula
Amount Partner B owes on open rows =SUMIFS(Expenses!$E:$E,Expenses!$D:$D,"Partner B",Expenses!$H:$H,"No")
Amount Partner A owes on open rows =SUMIFS(Expenses!$E:$E,Expenses!$D:$D,"Partner A",Expenses!$H:$H,"No")
Amount currently due to Partner A =SUMIFS(Expenses!$E:$E,Expenses!$B:$B,"Partner A",Expenses!$H:$H,"No")
Total open IOUs =SUMIF(Expenses!$H:$H,"No",Expenses!$E:$E)
Net amount Partner B owes Partner A =SUMIFS(Expenses!$E:$E,Expenses!$B:$B,"Partner A",Expenses!$H:$H,"No")-SUMIFS(Expenses!$E:$E,Expenses!$B:$B,"Partner B",Expenses!$H:$H,"No")
List of unpaid rows =IFERROR(FILTER(Expenses!A:J,Expenses!H:H="No"),"No open IOUs")

That net formula deducts what Partner A owes back to Partner B. When the number comes out positive, Partner B owes Partner A money.

If you prefer automatic grouping by person, use =QUERY(Expenses!A:J,"select D, sum(E) where H = 'No' group by D label sum(E) 'Open amount'",1). It ignores row sorting and keeps the calculation reliable.

Agree on the split before the bill arrives

Splitting everything down the middle is convenient. It is not always equitable.

Split method Useful when What to record
Equal split Both partners receive similar value Equal split
Usage-based One person uses more of a service Usage details or agreed percentage
Income-based Partners have agreed to contribute different proportions Each person's percentage
Room-size or nights-stayed Rent or lodging benefits are unequal Room, nights, or other calculation basis

Record your logic in the notes column as soon as an invoice lands. Do not wait three weeks, because neither of you will recall why an electric bill was 60/40. If you revise your split arrangement later on, leave your existing rows untouched and enforce the new ratio strictly on future purchases. That way, historical numbers stay clean.

Share the sheet without losing the formulas

Hit Share and send an email invite. Give Editor access if your partner logs their own charges. Give Viewer status if they only want to check the balance. The Tiller Help Center's notes on sharing and permissions outline how these roles work in daily practice.

Direct email invitations protect your privacy far better than open web links. If you rely on link access, make sure random editors cannot alter sharing rights or invite outside people.

Lock down your calculations once the sheet functions properly. Highlight your summary formula cells, open Data > Protect sheets and ranges, and select Restrict who can edit this range. Grant edit rights only to whoever maintains the sheet architecture. This Google Sheets protection walkthrough details the exact setup.

Keep entry cells completely open. If you use formulas inside column E, protect those specific cells, but keep manual override rows unlocked so anyone can adjust weird line items.

Thing is, range protection prevents accidental edits, not viewing. Anyone who can open your spreadsheet can read every tab. Never treat hidden tabs as private vaults for personal banking numbers, and never share account credentials.

Keep settlement simple

Pick a steady settlement schedule and stick to it. Enter transactions when they occur, then review open balances every Sunday or at the end of the month.

Here is a smooth clearing process:

  • Log the purchase right after paying.
  • Paste a receipt link or note the split ratio under Receipt or notes.
  • Filter column H to No to see active unpaid balances.
  • Check the net figure together before sending funds.
  • Send money via your normal bank or payment app, set the row status to Yes, and enter the date.

Leave settled items in the sheet. They give you a clean audit trail and explain past bank transfers whenever memory fails.

To make pending bills jump out visually, select A2:J and apply a conditional formatting rule with =$H2="No". A soft pastel background highlights unsettled expenses immediately without altering cell contents. Whenever you want an archive copy, click File > Download and grab a CSV or PDF.

Keep spending totals separate from reimbursements

Reimbursements track debts. Budgets track spending. Mixing these two ideas up creates messy math.

To track both, create a dedicated Budget tab with these headers:

Category Budget Actual Remaining Percent used
Rent
Groceries
Utilities

Put the category name in A2, your planned cap in B2, and the actual spending in C2. Calculate Actual using =SUMIF(Expenses!$G:$G,A2,Expenses!$C:$C). For Remaining, use =B2-C2. For Percent used, add =IFERROR(C2/B2,"") and format the cell as a percentage.

Remember this golden rule: pull from column C for household budget totals, and pull from column E for repayments. This keeps a $150 grocery trip from registering as an inaccurate $75 cost just because the reimbursement was $75.

Avoid the formulas that cause trouble

Do not tally unpaid IOUs by adding up the full charges in column C. That doubles what your partner actually owes every single time.

Building a row-by-row running balance is another common trap. The second someone inserts a forgotten dinner or deletes an entry, those row-offset formulas break. Standard SUMIFS formulas work far better because they evaluate cell properties instead of relying on the row directly above.

Your tracker works only when records remain intact. Leave settled entries alone, log clear notes, and correct errors openly instead of deleting rows.

When Sheets is enough and when to consider another tool

Situation Google Sheets fit Another tool may help when
Two partners, occasional bills, simple splits Strong fit for manual entry and shared review No extra tool is necessary
Small group under 10 people with occasional expenses Works if everyone follows the same row rules Receipt scanning or reminders matter
Recurring household bills Works with a calendar reminder and a standing review You want more built-in requests or alerts
Many payees or frequent disputes Possible, but requires careful row and split design Manual entry becomes the source of repeated errors

To be honest, the app you use to transfer cash does not need to match your tracking sheet. Use Zelle, Venmo, or your checking account to transfer the actual money. Let the spreadsheet log the details, the reason for the split, and the settlement date.

Handle the common edge cases

Both partners paid bills

Give every single invoice its own separate line. The net formula automatically settles what each person owes without you needing to fabricate artificial payment rows beforehand.

One expense has several payees

Assign an expense ID and create one line per debtor. Do not duplicate the gross bill across rows, or your monthly totals will look inflated. Alternatively, track shares on a dedicated Splits tab.

The split was uneven

Enter the specific dollar figure into Amount owed, then explain the rationale in Receipt or notes. Formulas should mirror your real agreement, not try to guess it.

The payment happened outside the sheet

Update the row to Yes, log the completion date, and leave the note intact. Never purge an IOU just because it is cleared.

Grab three recent receipts today. Plug in the payer, the total invoice, the split amount, and a brief note, then review the net formula before you hand the link to your partner.