One line per gift
The format is Name | Relationship | Date | Occasion | Amount | Received or Given. The relationship and the occasion can be left blank; an empty occasion collects under "other". Dates go in as 09/13/2025 or 2025-09-13, and impossible ones are rejected rather than rolled into the next month. Amounts are read as numbers, so 150 works and so does $150.00, but "a hundred and fifty" does not.
The last column says which way it went: received for something that came to you, given or gave or sent for something that went out. Leave it blank and it counts as given, on the theory that most of what you are writing down is what you sent. Every exchange with the same person is a separate line, and lines are matched into a person by exact name — which means "Marcus Reed" on one line and "Marcus" on another are two different people and their gifts never net against each other. Pick a spelling and stay with it.
What the difference column is for
It is received minus given, per person. Positive means more has come to you from them than has gone the other way. It is not a debt and there is no number you owe.
Gift-giving is not a ledger that balances, and treating it like one produces bad decisions in both directions. The circumstances of the person giving matter, occasions arrive on nobody's schedule, and a hundred dollars at a wedding in 2018 is not the same hundred dollars now. What the figure gives you is a reference point at the moment you need one: their occasion has come around, and you would like to know roughly where the relationship stands rather than guessing or asking someone else what they are giving.
The sort control reorders the table by biggest difference, most received, most given, or name. Biggest difference first tends to be the useful default because it surfaces the relationships furthest out of step in either direction.
The list of people you have not given to
Anyone who has given to you and never received anything back gets pulled into a separate list, with the amount and the most recent occasion. This is the practical output of the whole exercise.
Missing someone's occasion is almost never a choice. It is hearing about a wedding after the fact, not being told that someone's father died until months later, or simply forgetting that a colleague sent something when your own child was born. The list gives you the names to keep half an eye on, with enough context — the amount, the date, what it was for — to remember the situation years later. The reverse list, people you have given to and never received from, is only counted rather than named, because that direction usually just means their turn has not come.
Occasions and years
Occasion totals group on the exact text you typed, so "wedding" and "Wedding gift" become two separate rows. Keeping the labels short and consistent — wedding, funeral, sympathy, baby, graduation, holiday — makes that table readable. The same discipline applies as with names.
The yearly table is where the spending pattern shows. There is a stretch in most people's late twenties and early thirties where the weddings arrive four a year, and a later one where funerals and sympathy gifts cluster instead. Neither is a surprise once you have seen two or three years written down, and both are easier to absorb if you know they are coming.
Non-cash gifts, and what happens to what you typed
For a physical gift, put a rough value in the amount column and describe it in the occasion column, or add a note in the relationship column. If putting a price on a gift sits badly with you — and for a funeral it often does — enter 0 for the amount. The record still holds the name, the date and the occasion, which is the part you actually needed, and the totals are untouched.
All of this is worked out in your browser. Names, relationships and amounts are not uploaded, not logged, and not kept between visits: reload the page and it is gone. Copy the text version into a note or print the record sheet before you close the tab. The text output is written in the same format the box reads, so pasting it back next year and adding the new lines takes a minute.
Questions people ask
We gave something rather than money. How do I record it?
Put a rough value in the amount column and describe the thing itself in the occasion column, or tack a word onto the relationship column so it reads back clearly later. If you would rather not attach a number to it at all, enter 0. The line still records the name, the date and what the occasion was, the totals are unaffected, and you keep the one thing that actually matters: the fact that they gave.
Should I include gifts my parents gave on the family behalf?
Include them, but mark them. Putting something like "for Dad" in the relationship column keeps the household gifts distinguishable from your own, which matters because mixing them makes every per-person difference read wrong. If there are a lot of them, keeping two separate lists and pasting one at a time is cleaner. Nothing is saved here anyway, so splitting the lists costs nothing.
Is the record kept for next time?
No. Everything runs in this browser tab, nothing is sent anywhere, and reloading the page clears it. For something you want to keep for years, copy the text output into a note or a document — it comes out in the same format the box reads in, so you can paste it back, add the new lines, and pick up where you left off. Or print the record sheet and keep the paper.