Stripe Donations in QuickBooks: A Nonprofit Setup Guide

Stripe treats a gift like any payment. How to record Stripe donations in QuickBooks at the full amount, keep fees as an expense, handle monthly gifts and...

Acodei Content Team · 9/29/2026 · 13 min read

A donor gives your food bank $100 through a Stripe donation link. Stripe keeps $3.20 in processing fees and pays out $96.80. If the bank deposit is the only thing that reaches QuickBooks, your books say the donor gave $96.80. The donor's receipt says $100, your fundraising report says $96.80, and the $3.20 cost of collecting the gift has vanished into a smaller revenue number that nobody chose.

Stripe doesn't know it is handling a donation. To Stripe, a gift is an ordinary successful payment, whether it came through a Payment Link, a Checkout page or a monthly subscription. QuickBooks needs more than that: the gift on a Non-Profit Income account at its full amount, the donor on a customer record so their giving history is reportable, and the processing fee on its own expense line. This post walks through recording Stripe donations in QuickBooks the way Intuit sets them up, how one-time and monthly gifts differ on the Stripe side, what refunds do, and a month of gifts that ties out to the payouts. If you'd rather have your Stripe donations reach QuickBooks already sorted by rule, start a free trial.

How QuickBooks expects a nonprofit to record donations

Intuit's help article on tracking funds you receive from donors lays out the setup in a fixed order. It is short, and every step exists for a reason.

  1. Update the company for a nonprofit. Intuit's first step is to update your QuickBooks account for a nonprofit organization, which opens up the nonprofit features and reports. Do this first so the rest of the setup lands in the right place.
  2. Create a revenue account for donations. Intuit's instruction is to create an income account in the chart of accounts for the money you receive from donors, with Non-Profit Income as the detail type.
  3. Create a donation item. QuickBooks transactions need a product or service on each line, so donations need one too. Intuit suggests a non-inventory item linked to the donation income account, and one item is usually enough for gifts from every donor. You don't create a new item per donor or per gift.
  4. Add each donor as a customer. The customer record is what lets you run giving history by donor.
  5. Record each gift. Intuit lists three ways: a sales receipt for a gift received now, a pledge for a gift promised and paid later, or a bank deposit when you only need the money recorded.

For Stripe donations, the sales receipt is the one that matters. A card gift through Stripe is paid at the moment the donor submits the form, which is exactly what a sales receipt describes: a sale and its payment happening together. It records the donor, the donation item, the amount, and where the money went.

Intuit also mentions that you can rename forms so the customer sees "Donation" rather than "Sales Receipt". QuickBooks still calls it a sales receipt on your side, so don't be surprised when the reports do.

One note on scope. Intuit has a separate article on recording donations and charitable contributions, and it answers a different question: how a business records gifts it makes to a charity, through a vendor and an expense account. If you are the one receiving the gifts, the donor-funds article above is the one to follow.

Setting up Stripe to take donations

Stripe gives you three common ways to collect a gift, and they produce different objects on the Stripe side.

A Payment Link with the donate button. When you create a Payment Link, the submit_type setting controls the wording on the page. Stripe's API reference says donate is "Recommended when accepting donations. Submit button includes a 'Donate' label and URLs use the donate.stripe.com hostname." It changes the label and the link, and nothing about the payment itself.

A price the donor chooses. Stripe's pay-what-you-want pricing lets the donor type their own amount, with an optional suggested figure and optional minimum and maximum. Stripe describes it as a way to "accept donations for a cause". It has three limits worth knowing before you build your donation page around it:

  • You can't add any other line items, and the quantity can only be 1.
  • You can't use promotion codes or discounts with it.
  • It doesn't support recurring payments.

A monthly gift as a subscription. Because a donor-chosen amount can't recur, monthly giving has to use fixed recurring prices, such as $10, $25 and $50 a month on one "Monthly giving" product. Each month's gift then arrives the way any Stripe subscription payment does: Stripe generates an invoice for the billing cycle and charges the donor's saved card.

There is one Stripe detail here that affects your donor list. A Payment Link only creates a Stripe Customer when it has to. Stripe's reference says that with the default setting, "only subscription mode Sessions and payment mode Sessions with post-purchase invoices enabled require a Customer." So a monthly donor always gets a Stripe Customer, and a one-time donor through a plain Payment Link may not. If you want every donor to have a Customer record in Stripe, set customer creation to always when you build the link through the API.

Stripe also offers discounted processing fees for eligible nonprofits. The conditions include being registered as a nonprofit with valid tax documentation, operating in an eligible region, and having "at least 80% of your Stripe payment volume" come from tax-deductible donations. You apply for it through Stripe support, so check which rate your account is actually on before you build a month-end check around it.

Recording Stripe donation fees in QuickBooks

The fee is where most nonprofit books go quietly wrong.

A $100 gift at Stripe's standard US card rate of 2.9% + 30¢ costs $3.20 to collect. Stripe deducts that before paying out, so the bank sees $96.80. There are two ways to get that into QuickBooks, and only one of them is right.

The wrong way is to record the gift at $96.80. It matches the bank, which is why people do it. It also understates what the donor gave, misstates your fundraising revenue, and hides your cost of fundraising inside a revenue number. It can put your books out of step with the acknowledgment the donor received for $100.

The right way is to record the gift at the full $100 on the donation item, and the $3.20 as an expense on its own account, something like "Payment processing fees". The deposit that reaches your bank is then $100 of donation less $3.20 of fee, and it matches the bank to the cent.

In practice that means the sales receipt for the gift can't go straight to your checking account, because the checking account never receives $100. It goes to a holding account that stands in for your Stripe balance. Gifts go in at their full amount, fees come out, and each payout moves the net amount to the bank. When everything has been recorded, the holding account comes back to zero after each payout. Our guide to reconciling Stripe fees in QuickBooks covers the fee mechanics in more depth, and the payout reconciliation guide covers matching the deposits.

Two things to settle with your accountant rather than guess at:

  • Where the fee account sits. Most nonprofits track processing fees as a fundraising or administrative cost. Which one depends on how you report functional expenses.
  • What the donor's acknowledgment says. Whether a gift is deductible, and for how much, is a tax question, not a bookkeeping one. Ask your accountant.

One-time and monthly gifts in QuickBooks

One donation item for every gift is enough for many organizations. The reason to split them is reporting. Monthly givers are the most predictable income a small nonprofit has, and a board that asks "how much of our giving is recurring?" deserves an answer from the books rather than a spreadsheet.

The QuickBooks side is simple: create two items, "Donation - one-time" and "Donation - monthly", both linked to Non-Profit Income or to two separate income accounts if you want them on different lines of the Profit and Loss.

The Stripe side is already split for you, because the two kinds of gift use different Stripe prices on (usually) different Stripe products. That is exactly the kind of difference Acodei's Multiple Product Mapping is built to read. A mapping rule matches on the Stripe Product ID, with or without the specific price, and sends the transaction to the QuickBooks product you pick, and so to that product's income account. With the price included, Acodei distinguishes between prices on the same product, so a $25 monthly gift and a $50 monthly gift can go to different items if you ever need them to.

A few rules of that mapping engine matter for donations specifically:

  • Rules run top to bottom and the first match wins. A broad rule placed above the donation rule can catch the donation first, so keep specific rules at the top.
  • Amount rules won't work for donor-chosen gifts. Acodei's Transaction Value rule compares the gross amount of the transaction to a fixed value you enter. A donor-chosen amount is different on nearly every gift, so match donations on the Stripe Product instead.
  • Changes apply going forward. Editing a rule changes how future transactions map. It doesn't rewrite gifts already recorded.
  • Products used in mapping must be non-taxable in QuickBooks. Donations rarely carry sales tax, but it is worth checking the item settings when you create them.

Acodei's help article on creating a product in QuickBooks walks through setting up the item and choosing its income account. It suggests Non-inventory or Service items, which lines up with Intuit's advice to use a non-inventory item for donations.

Refunding a donation through Stripe

Donations get refunded more often than people expect. A donor gives twice by mistake, picks the wrong amount, or a gift is tied to an event that gets canceled.

Stripe handles it like any refund: you can refund all or part of the payment, and the money goes back to the donor's original card. The part that catches people out is the fee. Stripe's refund documentation is explicit: "Stripe's processing fees from the original transaction aren't returned." Refund a $100 gift and the donor gets $100 back, while the $3.20 you paid to collect it stays spent.

In QuickBooks that means two separate facts:

  1. The gift is reversed at $100. A refund receipt on the donation item takes the revenue back out.
  2. The $3.20 fee stays on the processing fees account. It was a real cost and it doesn't come back.

The refund also draws on your Stripe balance. Stripe says refunds use your available balance, so a $100 refund comes out of money Stripe would otherwise have paid out to you. If you only look at the bank, a payout that is $100 short with no explanation is usually a refund.

For more on how refunds, fees and payout timing fit together, see our walkthrough of recording Stripe refunds in QuickBooks Online.

A month of Stripe donations, tied out

Here is a small food bank's October, at the standard 2.9% + 30¢ card rate.

Gifts received:

  • 30 one-time gifts through a donate Payment Link, totaling $3,000. Fees: 2.9% of $3,000 is $87.00, plus 30 × $0.30 = $9.00, so $96.00.
  • 20 monthly donors at $25, totaling $500. Fees: 2.9% of $500 is $14.50, plus 20 × $0.30 = $6.00, so $20.50.
  • One refund: a donor gave $100 twice by mistake, and one gift was refunded in full.

What Stripe paid out: two payouts, $1,640.25 and $1,643.25, for $3,283.50 in total.

What QuickBooks should show for October:

AccountAmount
Donation income, one-time$3,000.00
Donation income, monthly$500.00
Refunds of donations($100.00)
Payment processing fees($116.50)
Net cash to the bank$3,283.50

The check is simple: $3,500.00 in gifts, less $100.00 refunded, less $116.50 in fees, equals $3,283.50, which is exactly the two payouts. The holding account received $3,500.00, paid out $100.00 in the refund and $116.50 in fees, sent $3,283.50 to the bank, and ends the month at zero.

Notice what the fee line does to the story. Gross giving for October was $3,500. Collecting it cost $116.50, or about 3.3% of the money raised. That figure is invisible if gifts are recorded at their net amount, and it is one a treasurer should see every month.

If your month doesn't tie out, the usual causes are, in order:

  1. A gift recorded at net. Revenue is short by exactly the fee on that gift, and fees are short by the same amount.
  2. A refund recorded as a smaller gift. A reversed $100 gift should show on a refund line, not as a lower donation total.
  3. A payout straddling the month end. Gifts made on October 31 may pay out in November. The holding account carries that balance across, and it should clear on the first payout of the next month.

Where to go from here

Set up the QuickBooks side first: the nonprofit setting, the Non-Profit Income account, the donation items and the fee expense account. Then decide how your Stripe donation page will work, knowing that donor-chosen amounts are one-time only and monthly gifts need fixed prices. Run one real gift and one refund end to end, and check that the holding account returns to zero, before you trust the setup with a campaign.

If you'd rather not record every gift and fee by hand, Acodei can map your Stripe donation products to the right QuickBooks items by rule. Start a free trial.

Frequently asked questions

How do I record a Stripe donation in QuickBooks Online?

Create an income account with the Non-Profit Income detail type, a donation item linked to it, and a customer record for the donor. Record each Stripe gift on a sales receipt at its full amount, and record the Stripe processing fee as a separate expense. Intuit's donor-funds help article describes the same setup.

Should I record the donation at the amount the donor gave or the amount Stripe paid out?

At the amount the donor gave. Stripe deducts its fee before paying out, so the payout is smaller than the gift. Recording the gift at the net amount understates your donation revenue and hides your cost of fundraising. Record the full gift as income and the fee as an expense.

Can donors choose their own amount for a monthly gift on Stripe?

Not with Stripe's pay-what-you-want pricing. Stripe's documentation says those prices don't support recurring payments. Monthly giving uses fixed recurring prices instead, such as $10, $25 and $50 a month, which Stripe bills as a subscription with an invoice each cycle.

Does Stripe give nonprofits a lower processing fee?

Stripe offers a discount for eligible nonprofits. Its conditions include valid nonprofit tax documentation, an eligible region, and at least 80% of Stripe payment volume coming from tax-deductible donations. You apply through Stripe support, so confirm which rate your account is on before reconciling.

Does Stripe return the processing fee when I refund a donation?

No. Stripe states that processing fees from the original transaction aren't returned when you refund. In QuickBooks, reverse the full gift on a refund receipt and leave the original fee on your processing fees expense account, because the cost was real.

Are Stripe donations tax deductible for the donor?

That depends on your organization's status and what the donor received in return, and it isn't a bookkeeping question. Ask your accountant how to word your acknowledgments. Your books should record the full amount the donor gave, whatever the answer.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

14-day free trial · card required · cancel anytime

How Acodei handles this in your stack

Stripe QuickBooks Integration

See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.

Or go straight to a capability

Get more operational finance guides like this one

We will only send high-value product and finance content.