Google Sheets can be more than a shared list of bills. Set it up as a proper expense ledger, one where every row shows the expense, who paid, each person's agreed share, the bill's Paid Status, and whether a reimbursement is still open. After the bills clear, who owes whom? The sheet should answer that at a glance.

Here's the difference in practice. A $150 utility bill gets marked Paid because Alex covered it, but Jordan still owes Alex $60 on the side. A separate receipt flag keeps missing documentation from hiding inside a row that otherwise looks finished. That distinction is what makes the record easy to check.

Start with a simple Transactions tab

Open a blank spreadsheet and create three tabs: Transactions, Reimbursements, and Summary. You can start with just the first one. Turns out the extra tabs earn their keep later, when reimbursements and totals are easier to audit in their own place.

The setup:

  1. Put the column headings in row 1 of Transactions.
  2. Freeze row 1 and turn on a filter for the table.
  3. Format the date column as dates, the amount and share columns as currency, and the percentage columns as percentages.
  4. Once the structure works, replace Person 1 and Person 2 with your names.

One habit matters from here: one expense per row. No separate monthly blocks.

Your first version will look plain. That's fine. A clean row beats a clever dashboard.

Recommended columns for a couples budget tracker

This column set covers ordinary bills, uneven splits, receipts, and reimbursements without hiding the details that matter.

Column What it records
Date When the expense happened or the bill was issued
Expense A description such as January electricity or groceries
Category Rent, utilities, groceries, dining, entertainment, or another agreed label
Paid By The person who paid the original bill
Total Amount The full cost of the expense
Person 1 % The agreed share for the first person
Person 2 % The agreed share for the second person
Person 1 Share The first person's obligation
Person 2 Share The second person's obligation
Paid Status Whether the original bill is still pending or has been paid
Receipt Status Whether the receipt is attached or missing
Reimbursement Status Not needed, Owed, Requested, or Settled
Receipt Link A link to a receipt file both partners can open
Notes Context such as a due date, split exception, or payment reference

Paid Status and Reimbursement Status do different jobs: the first describes the bill, the second describes money moving between partners. Keep both.

Here is a sample row:

Date Expense Category Paid By Total Amount Alex % Jordan % Alex Share Jordan Share Paid Status Receipt Status Reimbursement Status
2026-01-15 Electricity Utilities Alex $150.00 60% 40% $90.00 $60.00 Paid Attached Owed

Walk through it. Alex fronted the full $150, his agreed share comes to $90, and that leaves Jordan owing Alex $60. The utility bill is paid. The reimbursement is not. Both facts sit in the same row, which is the point.

Most rows will have one payer, and the exceptions are worth deciding before they happen. Money from a joint account gets Joint account in Paid By and Not needed for reimbursement. When both partners paid the same invoice separately, add payment fields or a separate payment record rather than naming only one of them.

Add share formulas and a balance summary

Two details matter before the formulas. Enter percentages as 60% and 40%, never 60 and 40, and confirm the pair totals 100% before you copy anything down.

With the columns above, row 2 gets these:

Cell Formula
H2, Person 1 Share =IF(E2="","",ROUND(E2*F2,2))
I2, Person 2 Share =IF(E2="","",E2-H2)

Copy both formulas down the sheet. The second one does the tidy-up work: it takes whatever cents remain, so the two shares add back to the total exactly.

An equal split is just 50% and 50%. A 60/40 split on $150 produces $90 and $60. When an expense belongs entirely to one person, use 100% and 0%, then explain the exception in Notes.

Summary formulas live on the Summary tab, and the examples below count cleared expenses only:

Summary item Formula
All logged expenses =SUM(Transactions!E2:E)
Alex paid on cleared expenses =SUMIFS(Transactions!E2:E,Transactions!D2:D,"Alex",Transactions!J2:J,"Paid")
Alex's share of cleared expenses =SUMIFS(Transactions!H2:H,Transactions!J2:J,"Paid")
Alex's gross balance before reimbursements =SUMIFS(Transactions!E2:E,Transactions!D2:D,"Alex",Transactions!J2:J,"Paid")-SUMIFS(Transactions!H2:H,Transactions!J2:J,"Paid")

Swap in the right name and the matching share column. A positive gross balance means Alex paid more than Alex's recorded share. It doesn't prove the balance is still open, so check the reimbursement tab before asking for money.

Keep reimbursements separate from expenses

A transfer between partners is not a second grocery bill. Thing is, record Jordan's $60 repayment as another expense and household spending gets inflated by money that never left the house. Reimbursements get their own rows on the Reimbursements tab:

Date From To Amount Related Expense Status Note
2026-01-20 Jordan Alex $60.00 Electricity, 2026-01-15 Settled January utility reimbursement

Cash, bank transfers, payment-app transfers: same treatment. The app moves the money. The sheet records why it moved.

If Alex's gross balance sits in Summary!B5, this formula adjusts it for settled reimbursements:

=B5-SUMIFS(Reimbursements!D2:D,Reimbursements!C2:C,"Alex",Reimbursements!F2:F,"Settled")+SUMIFS(Reimbursements!D2:D,Reimbursements!B2:B,"Alex",Reimbursements!F2:F,"Settled")

Watch the direction. Money Alex receives reduces the amount still owed to Alex. Money Alex sends reduces what Alex owes someone else.

Set up the Paid Status dropdown

Three related dropdowns beat one status cell forced to carry every meaning.

  1. Select J2:J for Paid Status.
  2. Choose Data > Data validation and add a dropdown.
  3. Add Pending and Paid.
  4. Repeat the process for Receipt Status with Attached and Missing.
  5. Give Reimbursement Status the choices Not needed, Owed, Requested, and Settled.

Next, select the data range, something like A2:N, and open Format > Conditional formatting. Custom formulas handle the colors:

Condition Custom formula Suggested format
Bill still pending =$J2="Pending" Yellow fill
Receipt missing =$K2="Missing" Red fill or bold text
Reimbursement owed =$L2="Owed" Orange fill

One mechanical detail trips people up. The row number in each formula has to match the first row of the selected range, and you lock the column, not the row.

A single-column design can still work if you want lean. Make Pending, Paid, and Receipt Missing the choices, then apply =$J2="Receipt Missing" to highlight missing proof. Mintline's conditional-formatting example shows this pattern. It's quicker, though it can't show a paid bill with a missing receipt as clearly as separate fields can.

Share the tracker without exposing the formulas

Invite your partner by email, and give Editor access if you'll both be entering expenses and updating statuses. A Viewer can inspect the file but can't maintain the ledger. The mechanics of email invitations and link settings are covered in this Google Sheets sharing guide.

Skip the public link. Household financial records have no business sitting anywhere someone with the URL can wander in, even by accident. While you're in there, check whether editors can change permissions or share the file onward.

Protect the formula columns once they've survived testing. In Google Sheets, Data > Protect sheets and ranges covers the share columns, the summary formulas, and any lookup lists. Leave the entry columns and status columns editable.

Version history is there when you need to inspect changes. Open File > Version history > See version history, pick a version, and review or restore it. This version history walkthrough covers the same process.

Use a short weekly review

Consistency matters more than any dashboard. A small ledger stays current when both partners check it at a predictable time, and a 10-minute weekly review is one cadence suggested by ExpenseSorted's couples tracker example.

The routine:

  1. Add new bills and receipts.
  2. Check dates, categories, amounts, payers, and split percentages.
  3. Mark Paid only after the original bill has cleared.
  4. Mark a reimbursement Requested once it's been requested, then Settled after the transfer is recorded.
  5. Filter the sheet for Pending, Missing, or Owed items.

Category totals fall out of the structure almost free. =SUMIF(C2:C,"Utilities",E2:E) adds every utility row, and =SUMIFS(E2:E,C2:C,"Utilities",J2:J,"Paid") counts cleared utilities only. Ablebits' Google Sheets examples has more SUMIF patterns if you want them.

When you need a static monthly record, download a spreadsheet or PDF copy. Keep the live sheet as the working file.

Agree on the split rule before entering expenses

The spreadsheet calculates an agreement. It can't decide what's fair for you, and that conversation goes better before the first expense row gets typed.

Split method Works better when Watch for
Equal split Both people use or benefit from the expense similarly It may feel uneven when income or usage differs
Usage-based split A bill tracks different levels of consumption You need a consistent way to estimate usage
Income-based split Partners agree that contributions should reflect an income ratio Review the ratio when circumstances change
Room-size split Housing costs differ because bedrooms or private space differ It is usually more relevant to roommates
Nights-stayed split Travel or guest costs depend on how many nights each person stays Record the nights before calculating shares
Per-person split A group meal, trip, or event should follow the number of participants It may ignore different orders or personal add-ons
Reimbursement after proof You want a receipt attached before money is requested or settled Missing receipts can delay repayment

Treat an income-based split as a contribution rule you both agreed to, not an automatic fairness verdict. Add to Sheets' couples budgeting example notes person-specific income as an input for setting a split, and you can keep the actual dollar figures private, entering only the agreed percentages.

To be honest, the Notes column matters here. Write down why a 70/30 split applies, why one expense is 100/0, or why this month got a one-time exception. Six months from now, the reason won't be obvious.

Common mistakes to avoid

These are the errors that quietly wreck a shared ledger:

  • Marking a bill Paid just because the reimbursement came through. The bill and the transfer are separate records.
  • Logging a reimbursement as a new household expense. That double-counts the spending.
  • Typing over the share formulas to fix a percentage. Change the percentage instead.
  • Entering 60 instead of 60%. The share that comes out will be wrong.
  • Sharing a receipt link your partner can't open.
  • Counting pending bills in a reimbursement balance before anyone has actually paid them.

Keep this as a household record, not a substitute for formal tax or reimbursement documentation. If a shared expense connects to a business, rental activity, or an official reimbursement program, requirements vary by situation and jurisdiction.

Create the three tabs now. Enter last month's utility bill, add the $60 reimbursement row, and test the status colors before your partner gets the invite.