A donor gave for a specific program. What actually changes in our books?
Three things, and only three. The gift is coded to net assets with donor restrictions instead of without. You keep the evidence that created the restriction. And you report a running balance for that fund until the money is spent on the purpose the donor named. Your bank account, your bookkeeping software and your chart of accounts all stay as they are.
The failure mode in a small nonprofit is almost never a missing accounting concept. It is that the donor clicked "Building Fund" on a web form in March, the treasurer downloaded a spreadsheet in April that did not carry the column, and by October the restriction exists only in one volunteer's memory. This guide is about keeping that chain intact from form field to ledger line.
What is the difference between a restricted donation and a board-designated fund?
This is the single most consequential error in small-nonprofit bookkeeping, and most software content gets it wrong.
A restriction can only come from outside the organization. A donor gives with a stated purpose or timeframe, you accept on those terms, and you are bound by them. When your own board votes to set aside $20,000 for a future roof, nobody outside imposed anything. That is a board designation: the board created it, the board can undo it next meeting, and under FASB ASU 2016-14 it sits inside net assets without donor restrictions, disclosed separately by nature and amount.
| Donor-restricted | Board-designated | |
|---|---|---|
| Who imposed it | The donor, at the time of the gift | Your own governing board |
| Can you reverse it | No, not without the donor's written consent or a court | Yes, by board vote |
| Net asset class | With donor restrictions | Without donor restrictions |
| Typical trigger | A designation dropdown, an appeal letter, a grant agreement | Board minutes |
So if a donor gives $5,000 unrestricted and the board later decides to spend it on the van, you did not create a restricted gift. You made a spending decision. Do not record it as restricted: restricted balances are the ones an auditor tests.
Purpose restrictions and time restrictions are tracked separately
They are different constraints and they release differently, so keep them on separate lines.
- Purpose restriction. "This is for the food pantry." Released when you spend it on the food pantry, whenever that happens.
- Time restriction. "This is for next year's operating budget." Released when the period arrives, regardless of what you spend it on.
A single gift can carry both. A pledge of $10,000 for the 2027 scholarship program is restricted by purpose and by time, and it is not released until both conditions are met. If your tracking only has a purpose column, you will release time-restricted money a year early.
Do restricted donations need their own bank account?
No. This belief is the most common reason a small nonprofit turns down a restricted gift, and it is not an accounting requirement.
Separate accounts add reconciliation work and transfer entries that go wrong, and add no control you did not already have. What you need is separation in the general ledger: a class, a fund, a tag, whatever your software calls its second dimension, so every transaction carries its fund and you can produce a balance per fund on demand. Two exceptions to raise with your accountant: a grantor who contractually requires a segregated account, and permanently restricted endowment principal.
What proves a gift was restricted?
An auditor does not ask you to prove intent from a spreadsheet cell. They ask for the communication that created the restriction. Keep whichever applies, filed by year:
- The appeal wording: the email or letter that said "your gift will fund the new roof."
- The campaign page copy as it appeared. Screenshot it or keep a dated PDF.
- The designation label on the donation form. If your form offered "Building Fund" and the donor picked it, that dropdown is the evidence, provided you kept the page copy showing what the label meant.
- The donor's email, the memo line on a check, a note in the form's message field.
- Signed grant agreements and pledge forms.
This is why a labeled dropdown beats a free-text box. "Building Fund" from a controlled list is a consistent, matchable value in every export. A free-text field produces "building", "Building fund", "bldg fnd" and "for the roof" in one column, and none of them pivot.
How do I put the fund choice on the donation form in WordPress?
In Donor Merchant 2.5.2 this is one settings screen. Go to Donor Merchant → Settings → Forms, find the Designations / funds section, and type one fund per line into the Fund options box: Building Fund, Scholarship Fund, Food Pantry.
As soon as that box is non-empty, the form shows a "Designate my gift to" dropdown whose default first option reads "Where it's needed most" and stores an empty designation. That default matters: it gives donors a way to give unrestricted, which most prefer, without you having to guess afterwards. Two related tools sit on the same screen. Custom fields catch what a dropdown cannot, such as a "Restriction notes" text field. Campaigns add a public page and a goal thermometer, which a building appeal usually wants alongside the designation. More on designations, funds and custom fields.
Where does the designation live after the donation completes?
On the donation record, not in a note. Each row in the Donations list shows "Fund: Building Fund" under the donor name. Donations → Export CSV then writes these headers, in this order:
ID, First Name, Last Name, Email, Amount, Fee, Total, Currency, Frequency, Status, Method, Campaign, Designation, Transaction, Tribute, Tribute Name, Note, Custom Fields, Date
Designation carries the dropdown value verbatim. Campaign carries the campaign name. Custom Fields carries your extra questions as "Label: value" pairs. Transaction carries the processor's transaction ID, which ties a row back to Stripe or PayPal when something does not agree.
How do I get donation fund designations into QuickBooks from WordPress?
Through the CSV, deliberately, once a month. There is no native QuickBooks integration and this guide will not pretend otherwise. The workflow:
- Export the month's completed donations to CSV.
- Pivot by Designation, summing Amount. That is gross contribution income per fund.
- Post one journal entry or sales receipt per fund, coded to the matching QuickBooks class or Xero tracking category. Blank designation goes to your unrestricted line.
- Post the period's processing fees as an expense and the net as cash, so the entry balances to what the bank received.
- File the CSV as the supporting document.
Make your fund labels match your class names exactly. "Building Fund" and "Building fund" pivot as two funds, and someone will spend an evening finding out why. To automate the handover, the plugin sends outgoing HMAC-signed webhooks on donation events that Zapier or Make can push into your accounting tool. That is a build, not a setting, but the designation travels in the payload.
How do I record a restricted check or cash gift?
Through offline donation entry, not a side spreadsheet. A restricted fund does not care whether the money arrived by card or in a Sunday envelope, and one record set covering every channel is the only way the balance reconciles at month end.
Donor Merchant → Donations → Add Donation takes the donor's name and email, the amount, the method (check, cash, bank transfer, other), the date received, a reference field for the check number, and a Campaign selector. One genuine limitation: the offline screen records the campaign, not the designation dropdown. If you take restricted checks regularly, create a campaign whose name matches your fund label exactly. Then Campaign carries the restriction for offline gifts, Designation carries it for online gifts, and your monthly pivot reads both.
Use the actual receipt date, not the date you got around to typing it in. A check dated December 30 belongs in that tax year for the donor, and your annual statements will be wrong if the entry date drifts.
Why does the bank deposit never match the restricted fund total?
Because Stripe does not deposit donations. It deposits payouts. A payout bundles many charges from a settlement window, deducts the fees, and lands as one net figure that equals no individual donation and splits by no fund at all.
The standard fix is a Stripe Clearing account. Book each donation gross to the right restricted or unrestricted income line and debit Stripe Clearing. Book the processing fee as an expense against Stripe Clearing. When the payout hits the bank, move the net out, and the clearing account returns to zero. The restricted fund is credited with the donor's full gift, the fee sits where a fee belongs, and the deposit reconciles. The full runbook, including refunds, returned ACH payments and which date to use, is in reconciling Stripe payouts with donation records.
If a donor covers the processing fee, is that part of their restricted gift?
No, and almost nobody writes this down. The voluntary top-up is a separate, unrestricted contribution. The donor restricted their gift; they did not restrict the extra few dollars added to spare you the card fee. The arithmetic on a $100 gift to the Building Fund with fee recovery switched on, at the plugin's default 2.9% plus $0.30 estimate:
| Line | Amount | Where it is coded |
|---|---|---|
| Donor's gift | $100.00 | Contribution income, with donor restrictions, Building Fund |
| Voluntary fee top-up (CSV "Fee" column) | $3.20 | Contribution income, without donor restrictions |
| Total charged to the card (CSV "Total") | $103.20 | Debit Stripe Clearing |
| Actual processing fee, charged on $103.20 | $3.29 | Merchant fee expense |
| Net reaching the bank | $99.91 | Cash, via the payout |
The Building Fund balance goes up by exactly $100.00. Note the nine-cent gap: the processor charges its percentage on the grossed-up total, so a fee estimate calculated on the base amount always under-recovers slightly. That gap is an unrestricted cost, never a reduction of the restricted fund. Rates checked September 2026 against Stripe's published US online card pricing of 2.9% plus $0.30; confirm your own rate in your Stripe dashboard and set the plugin's percentage and fixed fee to match.
Whether the processing fee may be charged against the restricted fund itself is a policy question, not a software question. Some organizations do, most do not, and your accountant should write the answer into your gift acceptance policy once rather than deciding it monthly.
A monthly routine for restricted balances
Reconcile monthly, not at year end. By year end the people who remember the gifts have moved on and the evidence is scattered.
- Export the month's donations to CSV and pivot by Designation and Campaign.
- Compare each fund total to the income posted to that class in your accounting file.
- List the spending charged against each restricted fund and confirm it served the donor's stated purpose.
- Release the amount spent from restricted to unrestricted net assets. Money correctly spent should not still sit in the restricted balance.
- Record the closing balance per fund and file it with the CSV.
- Flag any fund whose balance has not moved in six months. That is the one that becomes a problem.
Use the optional monthly summary email as the calendar prompt. It arrives on its own, which is more than can be said for most month-end intentions.
What if the restricted purpose becomes impossible, or the fund raises too much?
Both happen: the building project is canceled, the medical fund raises triple the target. You cannot quietly reassign the money, and you cannot leave it sitting there forever either. The options, roughly in the order organizations work through them: ask the donors in writing for permission to redirect; offer refunds where the sums are large and the donors identifiable; rely on a variance clause if your appeal wording had one, such as "surplus funds will be applied to similar programs"; or, where the amount is material and donors cannot be reached, follow your state's process for modifying a restricted gift.
Take those to your board and your accountant with the ledger balance and the original appeal wording in hand. They are not decisions to make from a blog post, this one included, and nothing here is legal or tax advice. The cheapest fix is preventative: write a variance clause into every appeal before you send it.
What Donor Merchant does not do
It is a WordPress donation plugin, not accounting software. It keeps no general ledger, produces no statement of activities, and has no native QuickBooks, Xero, Salesforce or HubSpot sync. The bridge to your books is the CSV export, plus outgoing HMAC webhooks and Zapier or Make if you want it automated. Your accounting file stays the system of record; the plugin's job is making sure the donor's stated intent survives the trip.
What it does ship, free and with no platform fee on top of Stripe or PayPal processing: designations and funds, campaigns with thermometers, custom fields, offline entry, donor records with lifetime totals, CSV export, PDF receipts and annual giving statements, and the monthly summary email. Download it from WordPress.org or read the FAQ.
Same problem in different vocabulary: designated giving in a church, where the funds are tithes, missions and the building fund, and a medical fund page for an animal rescue, where one animal's name is on the restriction and the donors are watching the balance.