Yes, this setup works for roommates, travel groups, and friends who only need a shared ledger. Google Sheets calculates each person's share, while Cash App records a transfer after someone settles. Keep those jobs separate.

Use one row for the original expense and one row for each actual payment. A $60 grocery run stays $60 even if Bob sends Alice $20 later. The structure stays clear when a reimbursement is partial, delayed, or split across several transfers.

Decide what the tracker should calculate

Start with the accounting rule, not the formatting. For every expense, record who paid, the total cost, and each person's share.

The payer field and share fields answer different questions:

Field What it records Example
Paid by The person who fronted the money Alice
Total The full cost of the expense $60.00
Member share What each person owes toward that expense Alice $20, Bob $20, Charlie $20
Current balance The person's net position after confirmed payments Alice +$40 before repayments

A positive balance means the group owes that person. A negative balance means that person still owes the group.

This avoids a common reimbursement error. The person who paid is often owed money, so they should not automatically receive a 100% share.

Build the Google Sheets workbook

Create one shared file rather than several copies with names such as IOU_Tracker_v2_final.xlsx. One file gives everyone the same numbers and leaves a usable edit history.

  1. Open a blank Google Sheet and name it something like Group IOU Tracker - Trip or Group IOU Tracker - Apartment.

  2. Rename the first tab Expenses. Add two more tabs named Payments and Summary.

  3. On Expenses, use these row 1 headers: Date, Description, Category, Paid by, Total, Split type, Notes or receipt, followed by one column for each member. If the members are Alice, Bob, and Charlie, put those names in H1, I1, and J1.

  4. Enter dollar shares in the member columns. These are the amounts each person owes for that row, not the amounts they paid.

  5. Add a Share check column after the last member column. It will confirm that the member shares equal the total expense.

  6. On Payments, use these headers: Date, From, To, Amount, Method, Transaction ID or note, and Status.

  7. On Summary, use these headers: Member, Paid, Share, Net before payments, Sent, Received, and Current balance.

  8. Add dropdowns for Category, Split type, Paid by, and Status if consistent entries will help. Useful status values include Pending, Confirmed, and Voided.

  9. Share the file with specific people when possible. Give Editor access only to people who should change the ledger, and use Commenter access for people who only need to review it.

Enter a test row before adding real expenses. Use today's date, Groceries, Alice as the payer, $60 as the total, and $20 in each of the three member columns.

Enter fair splits without losing cents

The safest input is usually a dollar share. Percentages can work, but dollar amounts make rounding and reimbursements easier to inspect.

Split type How to enter it When it fits
Equal Divide the total evenly among the people included Shared groceries or an equal dinner split
Usage-based Enter each person's agreed amount based on use Gas, utilities, or nights in a rental
Room-size or income-based Apply the rule the group agreed to before the expense Household costs with different rooms or contributions
Reimbursement Enter $0 for the payer's own share and assign the covered amount to the person who benefited Alice buys a $30 item only for Bob

Turns out, the final cent matters. If $100 is split three ways, enter $33.33, $33.33, and $33.34 rather than leaving the row one cent short.

For three equal members, you can use this pattern:

H2: =ROUND($E2/3,2)
I2: =ROUND($E2/3,2)
J2: =$E2-SUM(H2:I2)

Change the divisor and the final-column range for a different group size. For a custom split, type the dollar amounts directly.

In the Share check cell for row 2, enter =E2-SUM(H2:J2). A result of 0 means the row is fully allocated. A nonzero result needs attention before anyone settles.

Write the rule in Notes or receipt when a split might be questioned later. A note such as 4 of 10 rental nights is more useful than a vague label such as custom.

Calculate balances in the Summary tab

These formulas assume the member names are in Expenses!H1:J1, the first Summary name is in A2, and the Payments status is in column G. Extend the ranges if your workbook uses more member columns or rows.

Summary cell Formula Meaning
B2 =SUMIF(Expenses!$D$2:$D$500,A2,Expenses!$E$2:$E$500) Total paid by the member
C2 =IFERROR(SUM(FILTER(Expenses!$H$2:$J$500,Expenses!$H$1:$J$1=A2)),0) Total share assigned to the member
D2 =B2-C2 Net position before payments
E2 =SUMIFS(Payments!$D$2:$D$500,Payments!$B$2:$B$500,A2,Payments!$G$2:$G$500,"Confirmed") Confirmed payments sent
F2 =SUMIFS(Payments!$D$2:$D$500,Payments!$C$2:$C$500,A2,Payments!$G$2:$G$500,"Confirmed") Confirmed payments received
G2 =D2+E2-F2 Current balance

Copy the formulas down for every member. Match names exactly. Alice, alice, and Alice may be treated as different text values.

With the $60 example, Alice's net position is positive $40 because she paid $60 but owes only $20 of the expense. Bob and Charlie each show negative $20. If Bob sends Alice $20 and the payment is marked Confirmed, Bob reaches zero and Alice drops to positive $20 because Charlie still owes $20.

The Summary tab shows net positions. It does not decide which person must send money first. The group still needs to agree on the actual settlement transfers.

For a simple category report, place this formula in an empty area:

=QUERY(Expenses!A1:E500,"select C, sum(E) where C is not null group by C label sum(E) 'Total'",1)

That report groups expense totals by the Category column.

Reconcile Cash App payments with the ledger

Cash App is the payment record in this workflow, not the split calculator. A $20 transfer should reduce an IOU, but it should not rewrite the original $60 expense.

  1. Add the expense to Expenses before requesting or sending money. Make sure the shares add up to the total.

  2. When someone sends money, add a row to Payments. Enter the sender in From, the recipient in To, the amount, Cash App as the method, and Pending as the status.

  3. Review the payment details in Cash App's Activity area. An individual transaction may show information such as the recipient, date, time, note, status, and payment method.

  4. For a broader record, check the Activity or Statements area on Cash App's website if that option is available to your account. A third-party walkthrough of Cash App history describes selecting a month or custom date range and downloading a CSV or PDF.

  5. Match the export to the Payments row using the sender, recipient, amount, and transaction details. Do not rely on the date alone, because the expense date and payment date can differ.

  6. Change the status to Confirmed only after the transfer matches. If the payment is canceled, missing, or disputed, leave it pending or mark it Voided instead.

This workbook has no live connection to Cash App. Keep the original export in a restricted folder, then copy only the relevant payment details into Payments. That preserves the source file without pasting over formulas or exposing unrelated transactions to the whole group.

Set sharing and review rules

Thing is, live editing helps only when the group has one source of truth. Decide who can enter expenses, who reviews them, and when the group settles balances.

Control Practical setting
File access Share with named people instead of an unrestricted edit link
Formula cells Protect them if members often overwrite calculations
Receipts Add a Drive link in Notes or receipt
Questions Use cell comments rather than changing the original amount
Review timing Enter expenses as they happen and reconcile after each event or review period
Payment evidence Keep exports and screenshots separate from the main editable ledger

If you use link sharing, remember that every editor can change the file. A Commenter role is better for someone who needs to inspect the records without altering them.

Check these errors before settling

Common problem Fix
The payer is entered as owing 100% Keep Paid by separate from the person's actual share
Member shares do not equal the total Check the Share check result and assign any rounding remainder
One person appears twice Standardize the name in every tab
A payment was entered as another expense Move it to Payments; it is a transfer, not new spending
A pending payment changes the balance Use Confirmed status in the payment formulas
An export replaced formulas Restore the workbook version and paste only relevant rows
A receipt cannot be found Add a stable Drive link or note the storage location

To be honest, a written split rule can prevent more arguments than another formula. Agree in advance on equal, usage-based, room-size, income-based, or reimbursement rules.

Know when this workflow stops fitting

This approach works well for small, informal groups with occasional shared costs and one person willing to reconcile the records. It can become tedious when a group needs frequent reminders, receipt scanning, many simultaneous ledgers, or automatic payment matching.

A dedicated split-bill tool may reduce manual work in those situations. Compare its handling of custom shares, exports, privacy, and payment records before moving the group. Cash App can show that money moved, but it cannot establish whether the original split was fair.

FAQ

Can I use percentages instead of dollar shares?

Yes. Convert each percentage into a dollar amount for the expense row, then check that the amounts equal the total. Dollar shares make rounding visible and are easier to audit.

How should I log a reimbursement?

If Alice buys a $30 item only for Bob, enter Alice as Paid by, set the total to $30, enter $0 for Alice's share, and $30 for Bob's share. When Bob pays Alice, record that transfer in Payments rather than creating a second $30 expense.

What if a Cash App payment does not appear in the history?

Leave the Payments row as Pending. Check the Activity or Statements view, ask the sender for the transaction details, and mark it Confirmed only when the amount and participants match.

Can this spreadsheet serve as a tax record?

It can preserve your own shared-expense history, but it does not determine whether an expense is deductible or establish a tax position. Keep receipts and seek situation-specific advice from a qualified tax professional.

Can everyone edit the workbook at the same time?

They can if their permissions allow it, but simultaneous edits can still create mistakes. Use one canonical file, comments for disputes, and protected formula cells where needed.

Create the three tabs and enter the $60 grocery test row first. Confirm that the shares total $60, the Summary shows Alice at positive $40 and the other two members at negative $20, then add a confirmed $20 payment from Bob to Alice before replacing the test data with real expenses.