If you run a nonprofit and accept donations through Stripe, you have probably asked yourself the question: how should nonprofits record Stripe donation fees? I have helped several small 501(c)(3) teams work through this exact issue, and the answer is straightforward once you understand the principle.
Record the full donation amount as revenue in your books, then record the Stripe processing fee as a separate expense. Never reduce the donation amount by the fee, because your donor gave you a specific dollar amount and the IRS expects you to acknowledge that gift at its full value.
Stripe charges a standard rate of 2.9% plus $0.30 per card transaction, but eligible 501(c)(3) organizations can apply for a discounted rate of 2.2% plus $0.30. On a $100 donation, that works out to about $2.50 in fees. Those small fees add up quickly, which is why tracking them properly matters for audits, Form 990 reporting, and donor trust.
Table of Contents
- 1How Nonprofits Should Record Stripe Donation Fees
- 2Journal Entry Example for a Stripe Donation
- 3Step-by-Step Process for Recording Stripe Fees
- 4How to Acknowledge Donors for the Full Donation Amount
- 5Month-End Reconciliation Process for Stripe Payouts
- 6Stripe Nonprofit Fees: Pricing and Discount Rates
- 7When Donors Cover Fees vs Organization Pays Fees
- 8GAAP Compliance and Restricted Fund Considerations
- 9FAQs
- 10Does Stripe charge a fee for nonprofit organizations?
- 11Should nonprofits record donations at gross or net amount?
- 12How do you reconcile Stripe payouts to bank deposits?
- 13Can donors deduct processing fees on their taxes?
- 14Recording Stripe Donation Fees the Right Way
How Nonprofits Should Record Stripe Donation Fees
The core rule nonprofits should follow is simple: treat the donation and the Stripe processing fee as two separate transactions in your accounting system. The donation lands in your books at full value, and the fee lands in a dedicated expense account.
I have seen bookkeepers try to shortcut this by recording the net deposit (donation minus fee) as the revenue figure. That approach creates problems. Your donor database becomes inaccurate, your acknowledgment letters understate the gift, and your IRS Form 990 misrepresents the total contributions your organization received in a year.
Recording fees separately gives you clean audit trails. Your auditor can see every dollar that came in and every dollar that went out in processing costs. When the time comes to file Form 990, your total contribution line will match what your donors actually gave you. Your expense breakdown will clearly show payment processing as a category, which is exactly what reviewers expect.
This approach also protects donor relationships. When a supporter gets a year-end acknowledgment letter, the amount on that letter should reflect what they intended to give, not the net amount after Stripe took its cut.
Journal Entry Example for a Stripe Donation
Let me walk you through a concrete example. Suppose a donor gives your nonprofit $100 through a Stripe Checkout form, and Stripe charges the standard nonprofit rate of 2.2% plus $0.30. The fee comes out to $2.50, and Stripe deposits $97.50 into your bank account.
Here is how to record that transaction using the gross method with an un deposited funds clearing account:
When the donation is made (before the payout):
Debit: Undeposited Funds $100.00
Credit: Contributions / Donation Revenue $100.00
This entry holds the donation in a clearing account until the Stripe payout hits your bank.
When the Stripe payout arrives in your bank:
Debit: Bank Account (checking) $97.50
Credit: Undeposited Funds $100.00
Debit: Credit Card Processing Fees $2.50
The net effect is that cash increases by $97.50, the processing fee expense captures $2.50, and your donation revenue stays at the full $100.00 the donor intended to give.
If you prefer a simpler single-entry approach without a clearing account, you can record the deposit and fee together when the payout lands:
Debit: Bank Account $97.50
Debit: Processing Fee Expense $2.50
Credit: Donation Revenue $100.00
Both methods give you the same end result. The clearing account approach is cleaner if you receive many donations throughout the month and want to track them separately before the payout arrives.
Step-by-Step Process for Recording Stripe Fees
Our team has refined this workflow across multiple nonprofit clients. Here is the exact step-by-step process I recommend.
Step 1: Set up your accounts.
Create a dedicated expense account called something like “Credit Card Processing Fees” or “Payment Processing Expense” in your chart of accounts. Make sure your main donation revenue account exists and is correctly classified as contributions (not program revenue or sales).
Step 2: Enable Stripe’s nonprofit rate.
If your organization is a verified 501(c)(3), apply for Stripe’s discounted pricing through the dashboard. You will need to upload your IRS determination letter. Approval takes a few business days. Until you are approved, you pay the standard 2.9% plus $0.30 rate.
Step 3: Record each donation at gross value.
Set up your Stripe-to-accounting integration so each transaction creates a deposit into either Undeposited Funds or directly into your donation revenue account at the full donated amount. Most modern donation platforms like Givebutter, Funraise, and Donorbox handle this automatically.
Step 4: Reconcile the Stripe payout.
When Stripe deposits your accumulated funds (usually daily or weekly depending on your settings), match the payout to your bank statement. The total Stripe processing fees for that payout should equal the sum you see in your “Credit Card Processing Fees” expense account.
Step 5: Document any refunds or disputes.
If a chargeback occurs, Stripe will deduct the disputed amount from your payout. Record the refund as a reduction to donation revenue, and record any dispute fees as a separate expense. Most chargeback fees from Stripe are $15 per dispute, regardless of outcome.
Step 6: Run monthly reports.
At month-end, run a transaction report from your accounting software showing total donations versus total processing fees. Your processing fees should land between 2.2% and 3.0% of donations, depending on your rate and transaction mix. Anything significantly higher means you have refund or dispute issues worth investigating.
How to Acknowledge Donors for the Full Donation Amount
Donor acknowledgment letters and tax receipts should always reflect the gross donation amount, not the net deposit after Stripe fees. The IRS requires that written acknowledgments state the amount of cash contributed, and a donor who gave $100 expects to see $100 on their receipt, not $97.50.
This rule applies whether or not the donor opted to cover the processing fee. Some donation forms offer a checkbox that lets donors add a small percentage to cover processing costs. Even in that case, the full amount given (including the fee coverage portion) is the donation. The processing fee is an administrative cost your organization incurs, similar to how you would treat the cost of stamps or envelope printing.
I tested this approach with a small animal rescue last year. They had been sending receipts for the net deposit amount, and several donors complained that the receipts did not match their bank statements. Once we switched to gross acknowledgment, donor satisfaction improved and the bookkeeper stopped having awkward conversations about where the missing $2.50 went.
For any single donation of $250 or more, you must provide a written acknowledgment with the exact amount, the date, and a statement about whether any goods or services were provided in return. Stripe fees do not count as goods or services, so they do not affect the deductible amount on your donor’s tax return.
Month-End Reconciliation Process for Stripe Payouts
Reconciliation is where most nonprofit bookkeepers struggle. Stripe sends one lump-sum payout that represents dozens or hundreds of individual donations minus aggregate fees, and matching that single deposit back to your detailed records takes some setup.
Start by downloading the Stripe payout report for the month from your dashboard. This report breaks down the payout by transaction type: charges, refunds, disputes, adjustments, and Stripe fees. Compare the total Stripe fees column to your Processing Fee Expense account. The numbers should match to the penny.
Then compare the net deposit amount to your bank statement for the same period. If you receive payouts every business day, you will have multiple deposits to reconcile. Most nonprofits choose to switch to weekly payouts once they are processing more than $5,000 per month, simply to reduce reconciliation workload.
If you use QuickBooks Online, the Stripe integration creates individual sales receipts for each donation and matches them to deposits automatically. Xero offers similar functionality. For nonprofits on Airtable or Notion-based systems, you will need to export the Stripe transaction report as a CSV and import it manually each month.
One trick I have used is to create a saved reconciliation template in your accounting software that maps each Stripe fee category to your expense account. When fees change (for example, switching from the standard rate to the nonprofit rate), update the template once and every future reconciliation uses the new mapping.
Stripe Nonprofit Fees: Pricing and Discount Rates
Stripe offers eligible 501(c)(3) public charities a discounted processing rate of 2.2% plus $0.30 per card transaction, compared to the standard 2.9% plus $0.30 rate applied to most businesses. On a typical year of $250,000 in online donations, that 0.7% difference saves a nonprofit roughly $1,750 in processing costs.
Private foundations and other 501(c) categories are not eligible for the discount. Only organizations verified as 501(c)(3) public charities qualify. To apply, log into your Stripe dashboard, navigate to the nonprofit discount application page, and upload your IRS determination letter. Stripe typically approves applications within two to five business days.
ACH direct debit payments through Stripe cost just 0.8% capped at $5 per transaction, which is significantly cheaper than card processing. If your donors are willing to pay by bank transfer, you can lower your effective processing rate substantially. However, ACH payments take three to five business days to clear and carry a small failure risk that does not exist with cards.
When Donors Cover Fees vs Organization Pays Fees
Some donation platforms offer a “fee coverage” option that lets donors add 3% to their gift to offset processing costs. From an accounting perspective, the treatment is identical regardless of whether the donor or your organization pays the fees.
In both scenarios, the full amount given by the donor gets recorded as donation revenue. The processing fee gets recorded as an expense. The donor’s intent is to support your mission, and the full amount they handed over represents their contribution to that mission.
Where it gets interesting is donor psychology. Research from fundraising platform Givebutter shows that donors who check the fee coverage box tend to give slightly larger gifts overall, offsetting the cost of the fee coverage option while also covering the processing expense. If your donor base is tech-savvy and accustomed to transparent transaction fees, the coverage option is worth offering.
The journal entries are the same whether the donor covers the fee or not. Only the gross donation amount changes. A donor who gives $100 with no fee coverage produces the same $100 donation revenue entry as a donor who gives $103 with fee coverage enabled, and the Stripe fee is recorded identically as a $2.50 expense in both cases.
GAAP Compliance and Restricted Fund Considerations
Generally Accepted Accounting Principles (GAAP) require nonprofits to report contributions at their gross value, with related expenses reported separately. This aligns perfectly with the methodology I have outlined. Your Statement of Activities should show total contributions and total processing expenses as distinct line items, not netted together.
Restricted funds add one layer of complexity. If a donor gives $100 with a restriction that it must go toward a specific program, you record $100 in temporarily restricted net assets. The processing fee, however, is an administrative cost that comes out of unrestricted funds unless your board explicitly decides to allocate it against the restricted gift. Most nonprofits do the latter only when the restriction specifically covers administrative overhead.
For audit purposes, your auditor will want to see three things: a complete donation journal, a processing fee expense account with monthly totals that match your Stripe statements, and a reconciliation log showing how each payout maps to your bank deposits. Maintaining these three records month by month makes year-end audit work dramatically faster and cheaper.
If you track multiple programs or funds in your accounting software, set up a class or location for each restricted fund. Then allocate processing fees across programs based on either direct costs or a reasonable allocation method like percentage of revenue. Document your allocation methodology in your accounting policies so it stays consistent across years.
FAQs
Does Stripe charge a fee for nonprofit organizations?
Yes, Stripe charges a processing fee on every donation transaction. The standard rate is 2.9% plus $0.30 per card transaction, but eligible 501(c)(3) public charities can apply for a discounted rate of 2.2% plus $0.30. ACH direct debit payments cost 0.8% capped at $5 per transaction.
Should nonprofits record donations at gross or net amount?
Nonprofits should always record donations at the gross amount, with Stripe processing fees recorded as a separate expense. This approach satisfies IRS reporting requirements, ensures donor acknowledgment letters match the donor’s intent, and keeps your Form 990 accurate. Recording net amounts creates underreported contribution lines and undermines donor trust.
How do you reconcile Stripe payouts to bank deposits?
Download the Stripe payout report for the period and compare the total fees column to your Processing Fee Expense account. The two should match exactly. Then verify that the net deposit amount shown in the report matches your bank statement for the same date. Most accounting software integrations automate this matching process.
Can donors deduct processing fees on their taxes?
Donors can deduct the full amount they contributed, including any portion designated to cover processing fees. The IRS treats the entire gift as a charitable contribution. Stripe processing fees are an administrative expense for your nonprofit and do not affect the deductible amount on the donor’s tax return.
Recording Stripe Donation Fees the Right Way
Recording Stripe donation fees correctly comes down to one rule: keep the donation and the fee separate in your books. The full amount hits your donation revenue account, the processing fee hits a dedicated expense account, and your donor acknowledgment reflects the gross gift your supporter intended to give.
Set up an Undeposited Funds clearing account if you want cleaner month-end reconciliation. Apply for Stripe’s nonprofit discounted rate if you have not already. And run monthly comparisons between your Stripe fee totals and your bank deposits so nothing slips through the cracks. Your auditor will thank you, your donors will trust their receipts, and your Form 990 will tell the true story of your fundraising success.