How nonprofits use Airtable for donation tracking
Most nonprofits start with a spreadsheet. A Google Sheet with columns for donor name, amount, date, and maybe a campaign. It works until it doesn't.
The spreadsheet breaks when you need to answer questions like: How much has Maria given over her entire history with us? Which campaign brought in our most reliable donors? Which donors gave last year but not this year?
At that point, the spreadsheet becomes a liability. You're doing manual lookups, cross-referencing tabs, and still not getting clean answers.
Airtable solves this. It's relational, so a single donor record connects to every gift they've ever given. It has views, so you can slice data by campaign, by time period, by donor segment. It has automations, so thank-you emails go out without anyone pressing send.
The catch is that getting donation data into Airtable is where most nonprofits get stuck. That's the part we'll focus on.
Collecting donations with Airtable? Filla builds donation intake forms that connect directly to your base, with linked records for donors and campaigns, and confirmation emails your donors actually receive. Start free, no credit card required.
Why Airtable works for donation tracking
Three things make Airtable genuinely good for this:
Relational data. In a spreadsheet, you type "Maria Santos" into a Donor column. In Airtable, you link the donation record to Maria's actual donor record. That's the difference between a list of gifts and a real donor database. Every gift Maria gives builds her history automatically.
Views for every question. A single Donations table can have a "By Campaign" view, a "This Fiscal Year" view, a "Major Donors" view, and a "Lapsed Donors" view. They all look at the same data, just filtered and sorted differently. No duplicate spreadsheets. No copy-pasting data around.
Then there's automation. When a donation record is created, Airtable can send a thank-you email, notify your major gifts officer if the amount exceeds a threshold, and add the donor to a "Recently Given" view. All without a staff member doing anything.
This isn't complex to set up. It's just different from a spreadsheet, and the payoff compounds over time.
Setting up your donation tracking base
You need three tables at minimum. Here's how to structure them.
Table 1: Donors
This is your donor CRM. One record per person or organization.
Fields to include:
- Name (primary field, text)
- Email (email field)
- Phone (phone field)
- Address (long text, or split into separate fields for city/state/zip)
- Donor Type (single select: Individual, Foundation, Corporate, Board Member)
- First Gift Date (date, populated via automation)
- Total Lifetime Giving (rollup from Donations table, sum of Amount)
- Notes (long text, for relationship context)
Table 2: Donations
One record per gift. This table is the core of your tracking.
You'll want these fields.
- Donor (linked record to Donors table)
- Amount (currency field)
- Date (date field)
- Gift Type (single select: One-Time, Recurring, Pledge, In-Kind)
- Campaign (linked record to Campaigns table)
- Fund (single select, or linked record if you have many funds)
- Payment Method (single select: Check, Credit Card, ACH, Stock, Cash)
- Acknowledgment Sent (checkbox)
- Receipt Number (auto-number field, useful for tax acknowledgment letters)
- Notes (long text)
Table 3: Campaigns
One record per fundraising campaign or appeal.
Fields to include:
- Campaign Name (primary field)
- Type (single select: Year-End Appeal, Event, Grant, Major Gifts, etc.)
- Start Date / End Date (date fields)
- Goal (currency field)
- Total Raised (rollup from Donations table, sum of Amount)
- Number of Gifts (rollup from Donations, count)
- Status (single select: Active, Completed, Planned)
Once these three tables are linked, your base tells a story. You can see every donation Maria has given, which campaigns drove the most revenue, and how close you are to each campaign goal. All from the same data.
The intake problem: how do donations get into the base?
Here's where nonprofits get tripped up.
You've built a nice Airtable base. The structure makes sense. Then a donor gives at your gala, and someone has to manually enter the gift. Another donor gives through your website form (which sends a Google Form response to a separate sheet), and someone has to copy it over. A check arrives in the mail and a volunteer types in the data.
Manual entry doesn't scale. More importantly, manual entry creates errors. Donor names get misspelled. The wrong campaign gets selected. Gifts go unacknowledged because the entry slipped through.
The goal is to get donation data into Airtable at the moment it's collected. Not later. Not after export. Directly.
Native Airtable forms won't do this well. They can't display linked record dropdowns, so donors can't select their name from a list. They can't show different fields based on gift type. They don't send confirmation emails.
This is where a dedicated intake form comes in.
Building donation intake forms with Filla
Filla is a form builder built exclusively for Airtable. When you connect it to your base, it reads your tables and fields directly. No mapping, no middleware. You build a form and it writes to Airtable.
Here's how to set up a donation intake form for your nonprofit:
Step 1: Connect your base
Sign up at app.filla.io and connect your Airtable account via OAuth. Select your nonprofit base, then select the Donations table as the form destination.
Step 2: Add your fields
Filla pulls your fields automatically. Add them to your form in the order that makes sense for a donor:
- Donor name or linked record selector
- Amount
- Gift Type (One-Time vs. Recurring)
- Campaign (linked record dropdown from your Campaigns table)
- Fund designation
- Payment Method
- Any tribute or memorial information
Step 3: Set up linked records properly
This is the most important part. When you add the Donor field, Filla shows it as a linked record picker. Donors can search your existing Donors table by name or email. If they're a new donor, they can create a new linked record inline.
Same for campaigns. The Campaign field becomes a dropdown that reads from your Campaigns table. Filter it to show only active campaigns so donors don't see past appeals.
This is what keeps your data clean. No typos. No duplicate donor records. Every gift links to the right person and the right campaign automatically.
Step 4: Add conditional logic
Use Filla's conditional logic to make the form smarter:
- If Gift Type = Recurring, show a message explaining your monthly giving program
- If Amount is greater than $999, show a "A member of our team will reach out personally" message
- If the donor selects "In Memory Of" tribute, show additional fields for the tribute name and notification address
- If Payment Method = Check, show your mailing address
One form handles all gift types without showing irrelevant fields.
Step 5: Set up the confirmation email
When a donor submits, Filla can send a confirmation email. Include the gift amount, the campaign, and a note about tax receipts. This isn't a formal tax acknowledgment letter (you'll generate those separately), but it's immediate confirmation that the gift was received.
This matters. Donors who don't get any confirmation after giving get anxious. A quick confirmation email is good stewardship.
Where to use the form
Embed it on your donation page. Share the link in email appeals. Generate a QR code for events and print materials. The form works on any device.
For events, staff can also use the form on a tablet to enter gifts as they come in, during the event. That's cleaner than collecting paper and entering data later.
See the full setup guide at /use-cases/nonprofits/donation-intake.
Reporting: views and rollups that actually answer your questions
Once donations are flowing into Airtable through your intake form, the reporting becomes the rewarding part.
Useful views to create
By Campaign. Group your Donations table by Campaign. Each campaign shows all gifts underneath it. Add a rollup field on the Campaigns table to sum the total raised, and you can see campaign performance at a glance.
This Fiscal Year. Show only records where Date falls within your current fiscal year. This is your go-to view for board reports.
Major Donors. Set a filter on the Donors table where Total Lifetime Giving exceeds your major donor threshold (often $1,000 or $5,000, depending on your org). This becomes your major gifts pipeline.
Lapsed Donors. Filter Donors where Last Gift Date is more than 12 months ago and Lifetime Giving is greater than zero. These are donors you've lost contact with. This view is your LYBUNT list (Last Year But Unfortunately Not This Year).
Unacknowledged Gifts. Filter Donations where Acknowledgment Sent = unchecked. This view ensures no gift goes unthanked.
Rollup fields to add to your Donors table
- Total Lifetime Giving: Rollup of Amount, sum. Shows exactly what each donor has contributed.
- Number of Gifts: Rollup of Donations, count. Helps identify loyal repeat donors.
- Last Gift Date: Rollup of Date, using the max function, so you can see when each donor last gave.
- First Gift Date: Rollup of Date, min. Useful for segmenting new vs. established donors.
Rollup fields to add to your Campaigns table
- Total Raised: Rollup of Amount, sum. Compare against your Goal field.
- Number of Donors: Rollup of Donor (unique count). Shows donor breadth, not just dollar totals.
- Average Gift: You can calculate this with a formula field dividing Total Raised by Number of Donors.
These views and rollups don't require any technical skill to build. They're standard Airtable features. The reason they work so well for donation tracking is that the data is clean and linked, which is only possible if you got the intake right.
FAQ
Can I use Airtable to track both online and offline donations?
Yes. Filla forms handle online submissions. For offline gifts (checks, cash at events), staff can use the same form to enter donations directly, or use Airtable's interface to add records manually. The Donations table is the single source of truth regardless of how the gift came in.
What about payment processing? Does Filla handle that?
Filla captures donor information and gift intent, but it doesn't process payments. For actual payment collection, you need a payment processor (Stripe, PayPal, your payment gateway). Many nonprofits use Filla for intake and connect their payment processor separately, triggering donation records via Airtable automation when a payment is confirmed.
We already have donor records in Airtable. Will new form submissions create duplicates?
This is the main risk with any intake form. Filla's linked record picker lets donors search existing records by name or email, so a returning donor can select their own record rather than creating a new one. For extra protection, set up a deduplication view in Airtable filtered by email to catch any duplicate records that slip through.
Can we send tax acknowledgment letters from Airtable?
Not natively, but Airtable's Page Designer extension lets you create letter templates using your record data. You can also use automations to trigger letters through tools like Documint or Gmail. Many nonprofits send a simple email acknowledgment immediately (via automation) and batch formal letters monthly or annually.
Get your intake working first
The most common mistake nonprofits make with Airtable is building a beautiful database and then entering data badly. The views and rollups only work if the underlying gift data is clean and properly linked.
Get the intake form right. Make sure donors link to existing records. Make sure gifts link to the right campaigns. Once that's consistent, the reporting takes care of itself.
Build your donation intake form with Filla. Five forms free, unlimited submissions, no credit card required.
Related articles
- Currency Converter for Airtable — Convert International Donations
- Document Generator for Airtable — Auto-Create Tax Receipts
- Volunteer Management with Airtable
- Creating Airtable Forms with Linked Record Dropdowns
- Best Airtable Form Builders in 2026
- Donation Intake Forms for Airtable: Step-by-Step Setup
- Airtable Impact Tracking for Nonprofits