This guide covers leaving any donation platform or plugin, including this one. We publish it because our software is free and our revenue is support, so keeping you trapped earns us nothing. Everything below was checked against each vendor's own documentation on October 1, 2026. Vendors change their products, so confirm the menu names in your own account before you start.
What moves when you leave a donation platform, and what does not?
Records move and payment relationships do not. Every tool covered here can export donors and donations to a CSV file. None of them can export a saved card in a form another system can charge.
| What you have | Moves? | How |
|---|---|---|
| Donor names, emails, phones | Yes | CSV export, then import |
| Past gifts, dates, campaigns, transaction IDs | Yes | CSV export, then import |
| Saved cards and bank details | Only processor to processor | Stripe's data copy tool, never a CSV |
| Active recurring schedules | Usually no | Recreated, or donors re-subscribe |
| Receipt links in old emails | No | They point at the old system |
Why don't recurring gifts move with the donor list?
Because the processor does the charging, not your website. Stripe's documentation is plain about this: "When you create a subscription, Stripe automatically generates invoices, attempts payment collection, and manages the subscription status throughout its lifecycle." The donation tool only creates the schedule and listens for news about it. Which account holds that schedule decides how hard leaving is. There are four situations.
1. Same Stripe account, new plugin
Existing subscriptions keep billing, because Stripe charges them regardless of which plugin is installed. Stripe sends webhook events to every endpoint you register "when events happen in your Stripe account", so the new plugin will hear about renewals. Whether it records them is another matter. Most plugins only record subscriptions they created.
Some can adopt an existing one. GiveWP documents linking an outside subscription by its Profile ID, which needs its Manual Donations add-on, and says "Recurring subscriptions are managed at the payment gateway, not within WordPress." Donor Merchant cannot adopt a subscription it did not create. Its importer brings in history only.
2. Whose account does each platform charge through?
If the platform holds the processor account, you cannot reach your donors' payment data yourself. You have to ask the platform. Here is what each vendor's own documentation shows:
- Donorbox connects your Stripe account. Its help center says "Recurring plans are tied to the Stripe account through which they were created," and that disconnecting it means existing recurring donations "will fail to process." So the customer and card data are in your account, but Donorbox runs the schedule.
- GiveWP connects your own Stripe account from Settings, Payment Gateways, Stripe, per its Stripe documentation.
- Zeffy does not use your account: "If your organization already uses Stripe or has an existing Stripe account, you cannot connect it directly to Zeffy." It creates a connected account for you under its own Stripe integration.
- Givebutter's guide for bringing recurring donors in has you copy their payment data into Givebutter's own Stripe account, whose ID it publishes, and its sample donor email warns that statements will show a "GB*" prefix. The stored cards therefore sit in an account Givebutter controls.
- GoFundMe Pro (formerly Classy) processes through GoFundMe Pay. Setup asks for your organization's details and a checking account, not a login to a Stripe account you own.
We found no help article from Givebutter, Zeffy or GoFundMe Pro describing how to move recurring payment data out. That does not mean they refuse. It means you will need to ask support. Stripe's own instruction covers this case: "If your customers are stored in a platform account that you don't own, inform your contact at the platform that you need a data copy."
3. Copying card data between Stripe accounts
Stripe has a self-serve tool that copies customers and saved payment methods from one Stripe account to another, but it does not copy subscriptions. The documentation says so twice: "We can only copy data from one account to another. We can't merge or move the data," and "Subscription data isn't copied to the recipient account."
The conditions that matter:
- Only the account owner or a Data Migration Specialist can send a copy, and the receiving account must be activated.
- Copying ACH bank accounts requires you to hold each donor's debit authorization. If the recipient does not confirm that, ACH methods are skipped.
- India accounts cannot copy to or from accounts outside India.
- Most copies finish within 72 hours.
After the copy, someone has to recreate each subscription in the new account, either by hand, through the API, or with Stripe's Billing migration toolkit. Then they cancel the old ones so nobody is charged twice. This is real work, which is why platforms that offer it, such as Donorbox and GoFundMe Pro for incoming donors, run it as a managed service.
4. PayPal subscriptions
We found no PayPal tool, comparable to Stripe's, for moving subscriptions to another account or integration. Its webhook documentation also shows why a new integration cannot even see the old one's activity: "payments processed on one REST app associated with an account will not generate events for webhooks subscribed to a different REST app associated with the same account." Shopify's documentation gives the general rule: "PayPal billing agreements belong to the account that created them." Plan for PayPal recurring donors to sign up again.
Where is the export button on each donation platform?
Every tool below has one. Run all of them, including recurring plans, before you change anything.
| Platform | Where the export lives | Whose processor account? | Can active recurring move? |
|---|---|---|---|
| Donorbox | Donations, Supporters and Recurring Plans pages, each with an Export button | Your own Stripe | Cards stay in your Stripe; the schedule must be recreated |
| Givebutter | Transactions, Export; Contacts, Export, Export to CSV; Transactions, Recurring Plans, Export. Exports arrive by email; the link lasts 72 hours. | Givebutter's | Only if Givebutter performs a data copy |
| GiveWP | Exports tab on GiveWP's Tools screen: Export Donation History, Export Donors, Export Upcoming Subscriptions Renewals | Your own Stripe | Subscriptions stay in your Stripe; a new plugin must adopt or recreate them |
| Charitable | Export button on Charitable, Donations and on Charitable, Donors | Not verified here | Not verified here |
| Zeffy | Fundraising, Payments, Export, plus transaction, payout, tax receipt and contact exports | A connected account Zeffy creates | Only if Zeffy performs a data copy |
| GoFundMe Pro | Transactions, Recurring Giving Plans report, which can be exported | GoFundMe Pay | Ask your account representative |
| Donor Merchant | Export CSV on the Donations screen and on the Donors screen | Your own Stripe and PayPal | Subscriptions stay in your accounts; see below |
What is the safest order to leave a donation platform?
Export first and cancel last. Everything else goes in between:
- Export everything. Donors, every donation since the beginning, recurring plans, and tax receipts if the platform stores them. Keep the files in shared storage, not on one volunteer's laptop.
- Get the true list of active recurring gifts from the processor or platform. A donation export shows gifts that happened. It does not always show which schedules are still live.
- Build and test the new form. Make one small live gift of your own and read the receipt.
- Import your history so lifetime totals and this year's statements are complete. The mechanics are in switching plugins without losing donor history.
- Keep the old system connected. Its recurring gifts keep charging and recording while donors move over.
- Ask recurring donors to re-subscribe, using the email below. Allow several weeks and plan for two reminders.
- Cancel each old schedule only after its replacement has charged. A duplicate gift is easy to refund. A lapsed donor is not easy to get back.
- Redirect old donation URLs. Use a 301 redirect for pages on your own site. Archive campaigns on hosted platforms. Update QR codes, email footers and social profile links.
- Remove old webhook endpoints from Stripe and PayPal once nothing needs them.
- Close the old account last, and keep the export files (see the records question below).
A re-subscribe email you can adapt
Subject: A quick change to your monthly gift to [Organization]
Dear [First name], thank you for giving [amount] every month. It [one specific thing it paid for]. We are moving our online giving to a new system, and monthly gifts cannot be transferred automatically, so we need to ask a small favor. Please set up your [amount] monthly gift again here: [link]. It takes about a minute. Once your first new gift goes through, we will cancel the old one ourselves, so you will never be charged twice. If you would rather we did not, just reply and we will stop it today. With thanks, [Name, role, direct phone number]
Put each donor's real amount in the email itself. Do not ask them to remember it.
What happens to receipts and year-end statements when you switch mid-year?
Your donors will have gifts in two systems for that year, so pick one way to handle it and stick to it. The cleaner option is to import the old system's gifts into the new one before January, so each donor gets one statement covering the whole year. The other option is to send two statements, each clearly labeled with the dates it covers. Either way, receipt links in old emails point at the old system and will stop working once it is gone. Download any receipts you may need while you still have access. For statement wording, see annual giving statements.
How long do you need to keep the old donation records?
At least as long as the IRS can still question the return those records support, and often longer. IRS Publication 4221-PC, the compliance guide for public charities, says "Generally, the statute of limitations runs three years after the date the return is due or filed, whichever is later," and adds that "An organization may be required to retain records longer for other legal purposes, including state or local tax purposes." Grantors and state agencies can require longer still. The export files cost nothing to keep, so keep them, and ask your accountant what your state requires.
How do you leave Donor Merchant?
The same way you leave anything else, with fewer obstacles, because you already own every account involved.
What you can export
- Donor Merchant, Donations, Export CSV gives one row per gift with these columns: ID, first and last name, email, amount, fee, total, currency, frequency, status, method, campaign, designation, transaction ID, tribute, tribute name, note, custom fields, and date. It exports up to 100,000 rows in one file.
- Donor Merchant, Donors, Export CSV gives ID, name, email, phone, number of donations, lifetime total, last donation, and created date.
- Both exports require an administrator account. Any value starting with
=,+,-or@gets a leading apostrophe on purpose. That stops spreadsheet formula injection. - The exports do not include subscription IDs, and they do not show whether a recurring gift is still active. Your Stripe and PayPal accounts are the source of truth for that.
Where your recurring gifts live
Donor Merchant connects with API keys you paste in from your own Stripe account and your own PayPal REST app. It has no platform account, takes no application fee, and has no access to your processor accounts beyond what those keys allow. Every Stripe subscription it created is in your Stripe dashboard, tagged with donation_id and site metadata so you can tell which ones came from your website. Every PayPal subscription is in your own PayPal business account. Nobody needs to copy anything to you.
Deactivate versus delete
| Action | What happens |
|---|---|
| Deactivate | All data stays in your database. Scheduled tasks are cleared. Forms stop rendering, and the portal page shows its raw shortcode. Stripe and PayPal keep charging active recurring gifts, but nothing records them or sends receipts, and old receipt links stop working. |
| Delete, default setting | Plugin files are removed. Donor and donation tables and settings stay in the database. |
| Delete, with "Delete all donors, donations, and settings when the plugin is uninstalled" ticked under Settings, Advanced | The donations, donors and campaigns tables, all plugin settings and temporary data, and scheduled tasks are permanently removed. On multisite, this happens on every site. It cannot be undone. |
The checkbox is off by default, and ticking it shows a warning that says, in part, "Deactivating the plugin does not trigger this." If your recurring donors will take a while to move, turn on Stripe's own emails under Settings, Business, Customer emails before you deactivate, so renewals still produce a receipt. Ask your accountant whether Stripe's receipt wording is enough as a donation acknowledgment.
What we are not claiming
- Donor Merchant cannot migrate an active subscription in either direction, and its importer does not adopt existing ones.
- We have not tested any other vendor's outbound migration. Where a vendor publishes nothing, we say so instead of guessing.
- This is not legal or tax advice. Confirm retention periods and acknowledgment wording with your accountant.
If you are leaving us, we would rather you leave cleanly than stay stuck. The plugin is free, the exports need no license, and support plans exist for organizations that want a person to walk through a switch with them, in either direction.