Airtable works well for a group gift when people pay at different times, you need receipt records, or one base will hold several gifts. Build three linked tables: Gifts, Contributors, and Payments.
Each contributor gets a promised amount for a specific gift. Each payment gets its own record. Partial payments and refunds stay visible instead of disappearing into one edited total.
Use a spreadsheet for one small, one-time collection with no receipt trail. Airtable becomes more useful when the group needs linked records, attachments, or a shared view. It records the agreement and payment history, but it does not move money.
Decide whether Airtable fits
The right setup depends on how often money changes hands and how much documentation the group needs.
| Situation | Practical choice |
|---|---|
| One gift, one payment round, and no receipts | A Google Sheet may be quicker |
| Partial payments or several gifts | Airtable gives you linked records and rollups |
| Receipt photos or purchase documentation | Airtable keeps those files with the payment record |
| People need to review totals without editing | A shared read-only view can work, subject to workspace settings |
Turns out, the hard part is not adding a SUM. It is deciding what each row means and whether its amount is promised, paid, or refunded.
Use three linked tables
Start with three tables. The key design choice is the level of detail: one Contributors row should represent one person for one gift.
| Table | One row represents | Core fields |
|---|---|---|
| Gifts | One gift or collection | Gift Name, Target Amount, Deadline, Contributors link, Total Promised, Total Collected |
| Contributors | One person assigned to one gift | Name, Linked Gift, Promised Amount, Payments link, Total Paid, Balance Owed, Status |
| Payments | One confirmed payment or refund | Payment ID, Linked Contributor, Date Paid, Amount, Receipt, Note |
Create a separate Contributors record for Alice in the Wedding Gift and another for Alice in a Holiday Fund. Reusing one record across gifts can combine unrelated promises.
Enter payments as positive numbers. Enter refunds as negative numbers. If you want a visible payment type, add an Entry Type single-select field and a signed formula such as IF({Entry Type} = "Refund", -{Amount}, {Amount}); roll up the signed value instead of the raw amount.
Agree on the contribution rule first. Five equal shares of a $500 wedding gift would be $100 each, but the tracker should record the amount the group approved. If one person promises $50 and another promises $150, enter those amounts rather than forcing equal math.
Add the formulas that matter
Airtable rollups collect values from linked records, while formula fields calculate balances and dates. For syntax and supported functions, check Airtable's formula field function reference and date function guidance.
Contributors table
| Field | Type | Formula or setup |
|---|---|---|
Total Paid |
Rollup | Select the Payments link, choose Amount, and use SUM(values) |
Balance Owed |
Formula | {Promised Amount} - {Total Paid} |
Status |
Formula | IF({Balance Owed} > 0, "Owes", IF({Balance Owed} < 0, "Overpaid", "Even")) |
A contributor who promised $100 and paid $50 will show a $50 balance and an Owes status. A negative balance indicates an overpayment.
Gifts table
| Field | Type | Formula or setup |
|---|---|---|
Total Promised |
Rollup | Roll up Contributors' Promised Amount with SUM(values) |
Total Collected |
Rollup | Roll up Contributors' Total Paid with SUM(values) |
Remaining to Target |
Formula | {Target Amount} - {Total Collected} |
Days Until Due |
Formula | IF({Deadline}, DATETIME_DIFF({Deadline}, TODAY(), 'days')) |
Due Date Status |
Formula | IF({Deadline}, IF({Days Until Due} < 0, "Overdue", IF({Days Until Due} < 7, "Due Soon", "OK")), "No deadline") |
Target amount and promised amount answer different questions. The target is the expected cost of the gift. Promised amount is what people have agreed to contribute.
Argument order matters in DATETIME_DIFF. Putting the deadline first makes a future deadline positive. If the deadline is two weeks away, Days Until Due should show 14. Swapping the dates reverses that meaning and can label future gifts as overdue.
Payments table
Add Days Ago as a formula if a payment timeline helps:
IF({Date Paid}, DATETIME_DIFF(TODAY(), {Date Paid}, 'days'))
A payment made yesterday should show 1. A future-dated payment will be negative, which is a useful data-entry warning.
TODAY() and date calculations follow the base's date and time settings. Keep date-only entries consistent, especially when several people enter records from different locations.
Build and test the base
-
Create the base. Name it
Group Gift Tracker, then rename the default table toGifts. -
Add the tables and fields. Create
ContributorsandPayments. Use currency fields for targets, promises, and amounts; date fields for deadlines and payment dates; and attachment fields for receipts. -
Create the links. Link each Contributors record to one Gifts record. Link each Payment record to one Contributors record. Add the reciprocal link fields Airtable creates so each table can show its related records.
-
Add the rollups. In Contributors, roll up the linked Payments'
Amountfield withSUM(values). In Gifts, roll up Contributors'Promised AmountandTotal Paid. -
Add the formulas. Create the balance and status formulas in Contributors. Add the collection, remaining, and due-date formulas in Gifts. Format money fields as currency.
-
Enter a test gift. Add
Wedding Giftwith a $500 target and a deadline three weeks out. Add five contributor records with $100 promised for each person. -
Test partial payment. Record Alice's $100 payment and Bob's $50 payment. Alice should show a $0 balance and
Even; Bob should show $50 andOwes. The gift should show $150 collected and $350 remaining before the other payments arrive. -
Create working views. Make an
Open Balancesview in Contributors filtered toStatusequal toOwes. Add aGift Summaryview showing target, promised, collected, remaining, and due-date status. Sort aPayment Logview by Date Paid so recent records are easy to check.
Test with sample data before inviting the group. A missing link is much easier to fix before real payments fill the base.
Track organizer reimbursements separately when needed
Contributions and reimbursements are not always the same thing. If every payment goes directly to the person who bought the gift, the Payments table can also serve as a reimbursement log. If money goes into a shared pool or different people pay different recipients, use a separate Reimbursements table.
The optional table can include Linked Gift, Recipient, Date, Amount, Status, and Proof. Add a Total Reimbursed rollup to Gifts only for confirmed reimbursement records, then use this formula:
{Purchase Amount} - {Total Reimbursed}
Label that formula Unreimbursed Outlay. Add Purchase Amount, Purchased By, and Purchase Receipt to Gifts if the organizer fronts the cost.
The first version can feel a little fussy because you are recording the promise, the actual transfer, and sometimes the organizer's purchase separately, but that small separation keeps a $500 gift from looking fully settled when only $250 has reached the buyer. That distinction matters.
Do not count the organizer's purchase as money collected. It is an expense or advance, not a participant contribution.
Share the tracker without creating confusion
Keep editing access with the organizer or a small group. Give participants a read-only view when they only need to check totals and balances. Thing is, the shared view should show only what people need.
Hide receipt attachments, private notes, and any personal details that do not belong in the group summary. Review the view yourself before sending its link.
Airtable is a tracking layer, not a payment service. Use the payment method the group has already agreed on, then record the confirmed amount and date in Airtable. Do not store bank account numbers, card details, or login information in notes.
Update the base after each confirmed payment or at a regular check-in. At the gift deadline, save a CSV export of the relevant table or view if that option is available in your workspace. Keep the final receipt records with the gift.
Manual reminders are enough for many small collections. To automate a reminder when Due Date Status changes, test the status formula first and review current plan limits in Airtable's automation documentation. To be honest, an automation that sends the wrong balance creates more work than a manual check.
Fix the usual tracker errors
| Problem | Likely fix |
|---|---|
Total Paid remains zero |
Check that the Payment record links to the correct Contributors record |
SUM(values) returns zero |
Confirm the rollup points to the numeric Amount field, not a text field such as Name |
A future deadline shows Overdue |
Use DATETIME_DIFF({Deadline}, TODAY(), 'days') with the deadline first |
| Gift totals do not match contributor balances | Roll up Contributors' Total Paid, not the target amount |
| A refund increases the amount collected | Enter it as a negative amount or roll up a signed amount formula |
| One person's promises appear in several gifts | Create one Contributors record per person per gift |
| Participants can see private receipt details | Share a limited read-only view instead of the full base |
Create the base, enter the five-person wedding example, and verify Alice's zero balance and Bob's $50 balance before sharing anything. Then replace the sample rows with the group's agreed amounts and keep each later payment as its own record.