Household money
Split shared expenses from statements without counting reimbursements as income
You paid for groceries, the other person paid the bills, and neither bank statement tells you who should pay whom. Compare what each person paid with their agreed share of the purchases, then account for reimbursements already made.
By AnyStatement
Published , 9 min read
This worksheet is for two people agreeing costs between themselves: partners, roommates, or family members. It works out a payment from the split you choose; it doesn't decide what's fair or settle questions about legal debts, property ownership, or tax. Those questions need advice for your circumstances, not a different spreadsheet formula.
Agree on the purchases before you divide them
The awkward part usually comes before the arithmetic: does that grocery shop count as shared, and did the transfer last Friday pay for this month or last month? Write down the period, currency, included costs, and split before either person calculates a total. For a handful of purchases, typing an agreed list is enough. You don't need to combine two complete financial histories.
Keep three kinds of entry separate: shared purchases, personal purchases, and payments between the two of you. A restaurant name alone doesn't tell you which kind it is. Use the receipt and your agreement to decide. If one receipt mixes shared groceries with personal items, allocate the receipt first, retaining a reference back to the original charge. Don't make the other person pay for an item simply because it happened to be in the same basket.
If you paid for shared groceries by credit card, include that purchase once. Paying off your own card later isn't another grocery purchase or a reimbursement to the other person. Including both would charge them twice for the same food.
Use one currency per worksheet and purchases whose amounts you can confirm. Keep pending, unidentified, or disputed entries on a separate list until you agree what belongs in the calculation. A purchase from a jointly funded account also needs an agreed way to attribute that funding; the two-person sheet below assumes each included purchase was paid entirely by Alex or Bo, not by a shared pot.
Alex paid $120, Bo paid $60, so Bo owes $30
Here's a fictional example, in USD. Alex and Bo agree to split groceries and utilities equally. Alex also makes a personal purchase, and Bo has already sent Alex a small payment toward these shared bills. Those last two entries belong in different parts of the calculation.
| Entry | Paid by | Amount | Treatment |
|---|---|---|---|
| Groceries | Alex | $120.00 | Shared 50/50 |
| Utilities | Bo | $60.00 | Shared 50/50 |
| Personal purchase | Alex | $25.00 | Not shared |
| Payment to Alex | Bo | $10.00 | Already reimbursed |
The shared purchases total 120 + 60 = 180. Each person's agreed share is 180 × 50% = 90. Alex paid $120 toward those purchases, which is $30 more than Alex's share. Bo paid $60, which is $30 less. Before any reimbursement, Bo owes Alex $30.
But Bo has already paid $10 of that $30, so the remaining payment is $20. After Bo sends that amount, Alex's net shared cost is 120 - 10 - 20 = 90, and Bo's is 60 + 10 + 20 = 90. That is the check you want: both end up carrying the cost they agreed to carry.
Alex's $25 personal purchase changes neither the $180 shared total nor the $20 still to settle. Alex's own spending across these purchases is $115 after settlement: $90 shared plus $25 personal. The original $120 grocery charge stays $120 in the source account records. You're allocating its cost, not changing what happened at the bank.
A reimbursement changes who carried the cost
Receiving $10 makes Alex's bank balance higher, but it doesn't create another $10 of household income in this shared-expense view. It repays part of the cost Alex covered for Bo. Nor is it another $10 grocery purchase by Bo: the groceries are already in the $180 total. Keep the reimbursement in the settlement calculation, outside the shared-purchase total.
When both statements include the payment, there are two source entries but only one reimbursement: money out for Bo and money in for Alex. Link both to one settlement reference rather than adding two $10 repayments. If you can only see one side, ask the other person to confirm receipt. A promised payment isn't a completed payment, and a transfer for an earlier month shouldn't reduce this month's settlement.
This worksheet's labels aren't instructions for every budgeting app. For example, YNAB's transfer guide, updated September 24, 2026, says its treatment depends on whether both accounts are set up in YNAB. If only the receiving account is included, its guide calls the inflow an income transaction rather than a transfer. Follow your app's documented workflow separately; the calculation here answers who still needs to reimburse whom.
Unequal shares change the target, not the method
Suppose Alex and Bo had instead agreed that Alex would cover 60% of the same groceries and utilities, and Bo 40%. The shared total would still be $180, but Alex's share would be $108 and Bo's $72. Since Alex paid $120, the initial reimbursement would be $12. Subtract Bo's existing $10 payment and only $2 would remain.
Neither split is recommended as the fair one. The people sharing the costs choose the shares. You can also agree different percentages for different purchases, which is why the worksheet puts Alex's fraction on each purchase row rather than in one household-wide setting. Bo gets the remainder of that row's cost.
Enter 0.5 for half or 0.6 for 60%, not 50 or 60. The fraction must be between 0 and 1. On a $10.01 purchase split equally, rounding both halves up would allocate $10.02. Instead, these formulas round Alex's share to $5.01 and give Bo the remaining $5.00. With a 60/40 split of that purchase, the shares are $6.01 and $4.00.
Agree to the rounding rule as well as the percentages. Here, Alex gets the extra cent whenever a 50/50 split leaves one, and the sheet rounds each purchase separately. Rounding only after adding all the purchases can give a different answer, especially with lots of small amounts.
Copy the example, then replace it with your agreed entries
If you'd rather use a tool than set up a workbook, try the shared-expense splitter. The CSV below is a separate Excel example, not an import template for that tool.
This CSV contains the fictional 50/50 example, with one row per purchase or completed reimbursement. Copy it into a plain-text file named shared-expenses.csv. These instructions follow Microsoft's desktop Excel import guide; the formulas use English function names and the CSV uses decimal points. Use Data → From Text/CSV, choose a comma delimiter, and load it with the headers in A1:F1. Microsoft's text and CSV import guide explains that route and the delimiter preview. Check that Amount and Alex fraction are numeric before adding formulas.
Reference,Type,Payer,Recipient,Amount,Alex fraction
Groceries-A1,Shared,Alex,Grocer,120.00,0.5
Utilities-B1,Shared,Bo,Utility,60.00,0.5
Personal-A2,Personal,Alex,Shop,25.00,0
Reimbursement-R1,Settlement,Bo,Alex,10.00,0Enter every amount as a positive number with no more than two decimal places, since this example allocates USD cents. The Payer and Recipient columns give the direction. Keep the original signed rows separately; if a card export's signs are confusing, check a known purchase and payment first. Use references that let you find each entry's date, description, and amount in your records. For Personal and Settlement rows, enter 0 in Alex fraction.
A merchant refund isn't a payment between you. If Alex received a $20 refund for the shared groceries, replace $120 with the agreed $100 net cost in this working sheet, keeping references to both the purchase and refund. Only do this when the refund went back to the original payer and you've agreed how it affects the shared cost. If it went to someone else, or concerns a period you already settled, this sheet needs a separate adjustment. Agree that adjustment before treating the result as final.
Add the headers Shared cost, Alex share, and Bo share in G1, H1, and I1. Enter these formulas in the stated cells, copying only the part beginning with =, then fill G2:I2 down through row 5:
G2: =IF(B2="Shared",E2,0)
H2: =ROUND(G2*F2,2)
I2: =ROUND(G2-H2,2)The IF function keeps Personal and Settlement rows out of shared costs. Microsoft's ROUND documentation explains the two-decimal rounding used for Alex's allocation. With this example, G totals $180, while H and I each total $90.
Put the following labels in K2:K9 and their formulas in L2:L9. SUM adds the cost and share columns. SUMIFS selects payments by person and, for reimbursements, checks the type and recipient as well. The bank's name for a payment doesn't make that decision for you.
K2: Shared total
L2: =SUM(G2:G5)
K3: Alex agreed share
L3: =SUM(H2:H5)
K4: Bo agreed share
L4: =SUM(I2:I5)
K5: Alex paid for shared purchases
L5: =SUMIFS(G2:G5,C2:C5,"Alex")
K6: Bo paid for shared purchases
L6: =SUMIFS(G2:G5,C2:C5,"Bo")
K7: Bo already paid Alex
L7: =SUMIFS(E2:E5,B2:B5,"Settlement",C2:C5,"Bo",D2:D5,"Alex")
K8: Alex already paid Bo
L8: =SUMIFS(E2:E5,B2:B5,"Settlement",C2:C5,"Alex",D2:D5,"Bo")
K9: Bo still owes Alex (negative means reverse)
L9: =ROUND(L5-L3-L7+L8,2)L2:L9 should read 180, 90, 90, 120, 60, 10, 0, 20. A positive L9 means Bo pays Alex; a negative result means Alex pays Bo that amount without the minus sign. For example, if Bo had already sent $35 against the original $30 due, L9 would be -$5: Alex would pay Bo $5 back. Zero means nothing remains for these entries.
When adding rows, fill the G:I formulas down and extend every summary range to the same last row. If you use your own names, change the quoted names in every formula too. A mistyped Shared label would silently leave a purchase out; an unknown payer or recipient could leave a payment out. Check that each shared purchase names one of your two payers, and each Settlement row goes from one person to the other. The formulas won't catch a forgotten bill either. Save the working file as an Excel workbook rather than using CSV as your ongoing workbook.
Send the calculation, not your whole bank statement
Before sending money, compare the included rows with the receipts or statement lines and have both people check the shares. In the example, Alex and Bo's shares must total $180, and their payments to the merchants must also total $180. The $10 reimbursement must appear once, with Bo as payer. Those checks catch different mistakes, so a correct final subtraction isn't enough on its own.
If something is unresolved, keep its reference and your question in a separate note. The statement review log is one way to record that question without quietly forcing the row into an agreed category. You can settle the agreed portion if both people want to, but label it as partial rather than calling the whole period settled.
Share a separate copy containing only agreed shared purchases, allocations, and linked repayments. Leave personal rows out of that copy entirely; the $25 row is shown here only to demonstrate its exclusion. Don't send account numbers, login details, or unrelated purchases. If a receipt needs checking, share the relevant evidence with the person who needs it, not a complete archive by default.
For this example, the message could simply be: “We included $180 of groceries and utilities, split equally. You've paid $60 toward the bills and already sent me $10, so $20 remains. Can you check the included purchases before paying?” Once the payment arrives, record it as another completed settlement and include its row in the formulas. The remaining amount should then be zero.
Older PDFs are an input problem, not a different split
For a few entries, manual input or your bank's own CSV export is the simpler route. If you're reviewing months of PDF-only statements, AnyStatement can turn those PDFs into a transaction table to reduce retyping. Keep each person's source records separate and select the agreed entries afterward. Extraction won't tell you whether a purchase was shared or which month a repayment belonged to.
We checked the linked Microsoft and YNAB documentation on October 17, 2026. We also recomputed the fictional example and the equivalent formula logic with Python Decimal, including unequal per-purchase shares, cent remainders, reversed payments, overpayments, and a fully paid settlement. Changing the personal purchase left the shared totals unchanged. We didn't run the sheet in Excel or test a payment app, and this page makes no tax or legal conclusion about a reimbursement.