Charitable Documentation

Learn how to make the most of Charitable with clear, step-by-step instructions.

How to Use the Donorbox Importer

Switching donation platforms is easy to justify and painful to execute. Your donor list, campaign history, and years of giving records live inside Donorbox – and moving to a new platform has traditionally meant one of two things: start fresh and lose your history, or spend days manually wrestling spreadsheets into shape.

The Donorbox Importer for Charitable Pro eliminates that tradeoff.

It reads the same CSV files Donorbox already lets you export, maps them to Charitable’s data model, and walks you through the entire migration in a guided six-stage wizard. Donors, campaigns, donation history, and recurring plan records all land in Charitable intact – ready to power your thank-you emails, re-engagement campaigns, and long-term reporting.

A built-in dry-run mode lets you preview exactly what will be imported before a single record is written. And if something looks wrong after you commit, a one-click rollback removes everything the import created, leaving your database exactly as it was.

Available in Charitable Pro 1.8.14 and later.

Here’s a sneakpeek of what the tool looks like:

What’s in This Guide?

What You Get in the Donorbox Importer

Here’s what included in this feature:

  • Six-stage wizard: upload, preview, options, import, results, and optional rollback.
  • Imports donors, campaigns, donations, and recurring plans (archival only) from standard Donorbox CSV exports.
  • Auto-detects CSV columns from a stable schema allow-list with multiple header aliases per field.
  • Dry-run mode previews everything without writing a single record.
  • Per-import batch ID stamps every record so a full rollback is one click away if the import is wrong.
  • Synchronous rollback for small imports and async batched rollback for very large ones.
  • Configurable date format (ISO, MM/DD/YYYY, DD/MM/YYYY) for CSVs from different regions.
  • Optional override of duplicate donors and donations on re-import.
  • Optional use of Donorbox’s converted amounts for multi-currency sites.
  • 24-hour cleanup of abandoned imports, so a closed browser tab does not leave staging files behind.
  • Concurrency guard prevents two imports from running at the same time.

Why Use the Donorbox Importer?

Moving away from Donorbox without losing your history was, until now, a manual exercise in spreadsheet wrangling.

The Donorbox Importer reads the same CSVs Donorbox itself exports, maps them to Charitable’s data model, and brings everything across in one guided flow.

Your donors, your campaigns, and the donation history that proves the relationship all land in Charitable, where they can power thank-you emails, segmented re-engagement campaigns, and your ongoing reporting.

Requirements

  • Charitable Pro 1.8.14 or later
  • PHP 7.4 or higher (the importer checks and refuses to run below this)
  • Recent database backup (strongly recommended before any large import)
  • Donorbox account with permission to export Donations, Supporters, and Recurring Plans as CSV

Getting Started

Before you begin, log in to your Donorbox dashboard and export your data as CSV using the “All Columns” option:

  • Donations CSV (required)
  • Supporters CSV (optional but recommended)
  • Recurring Plans CSV (optional)

Important: Back up your WordPress database. You can use a tool like Duplicator to run a quick back up of your website.

Know that Donorbox payment tokens are not portable. Imported recurring plans are archival only and arrive in Charitable with a cancelled status. You will need to re-collect payment authorization from those donors if you want recurring billing to continue in Charitable.

Where to Find The Donorbox Importer

In your WordPress admin, go to Charitable → Tools → Import → Donorbox.

Donorbox import page

Start Migrating To Charitable

The Donorbox Importer is a six-stage wizard. Each stage waits for explicit confirmation before moving on, and the dry run can be repeated as many times as you like before committing.

Stage 1: Upload CSVs

Upload your Donorbox Donations CSV. The Supporters and Recurring Plans CSVs are optional but strongly recommended. Once you click Continue, the importer parses the headers, detects the delimiter (comma, semicolon, or tab), and matches columns against the Donorbox schema.

Donorbox file selected

Stage 2: Preview Counts

A dry-run runs against your uploaded files and reports how many donors, campaigns, donations, and recurring plans were found. Nothing is written to your database at this stage. Use the counts to sanity-check that the import sees what you expect.

Donorbox step 2 configure import

Stage 3: Import Options

Pick which entities to import and configure advanced behavior:

  • What to import: Donors, Campaigns, Donations, Recurring Plans
  • Override duplicates on import
  • Use Donorbox converted amounts (for multi-currency sites)
  • Dry run (preview only, nothing is written)
  • Date format: ISO (YYYY-MM-DD), MM/DD/YYYY, or DD/MM/YYYY
Start donorbox import

Stage 4: Importing

The importer processes one phase at a time (donors, then campaigns, then recurring, then donations) in batches of 200 rows by default. Progress updates live in the browser, and every imported record is stamped with the import’s batch ID.

Stage 5: Results

A summary shows the count of imported, skipped, and errored records for each entity, plus any warnings. From here you can keep the import or trigger a rollback.

Rollback import in donorbox

Stage 6: Rollback (Optional)

If the import is not what you expected, the Rollback button removes everything stamped with this import’s batch ID. Small imports run synchronously; very large imports (over 5,000 records by default) run in background batches.

When you rollback, you’ll see a warning message to confirm your decision. That way, you don’t accidentally start a rollback.

Rollback warning in donorbox import

Configuration Options

Import Options (Stage 3)

OptionTypeDefaultDescription
Import DonorsbooleantrueProcess the Supporters CSV (when uploaded) to create donor records.
Import CampaignsbooleantrueCreate Charitable campaigns from unique campaign names in the donations export.
Import DonationsbooleantrueCreate donation records linked to donors and campaigns.
Import Recurring Plansbooleantrue (when plans CSV uploaded)Create archival recurring plan records (cancelled status).
Override DuplicatesbooleanfalseWhen checked, re-importing a record updates the existing one instead of skipping it.
Use Converted AmountsbooleanfalseUse Donorbox’s converted amount column instead of the original donation currency.
Dry RunbooleanfalseRead and parse everything without writing any record to the database.
Date Formatstringisoiso (YYYY-MM-DD), mdy (MM/DD/YYYY), or dmy(DD/MM/YYYY).

Donorbox Fields Imported

Donations CSV (required)

Donation ID, donor email/first/last name, amount, converted amount, currency, donation date, donation status, payment method, Stripe/PayPal transaction IDs, processing fee, refund amount, campaign name and ID, comment, anonymous flag, gift aid, employer, occupation, recurring flag, plan ID, full address, phone, UTM source/medium/campaign, IP address.

Supporters CSV (optional)

Donor email, first/last name, full address, phone, employer, occupation, date joined, Donorbox donor ID, lifetime donation count, lifetime amount.

Recurring Plans CSV (optional)

Donorbox plan ID, donor email, first/last name, campaign name, amount, currency, frequency, start date, next charge date, status, payment method, donation count.

The importer accepts multiple alias names for each field (for example email, donor_email, email_address all map to the donor email), so older or relabeled exports usually work without manual cleanup.

Customization

Batch Size

The default batch size is 200 rows per request. Define CHARITABLE_DONORBOX_BATCH_SIZE in wp-config.php for an environment-wide override, or hook the charitable_donorbox_batch_size filter for finer control:

add_filter( 'charitable_donorbox_batch_size', function( $size ) {
    return 500;
} );

Troubleshooting

“Another Donorbox import is already in progress”

The importer only allows one import at a time. Wait for the existing import to finish, or use the rollback flow on the existing import before starting a new one.

“PHP Version Not Supported”

The importer requires PHP 7.4+. Update PHP in your hosting control panel and reload the page.

CSV columns are not recognized

Re-export from Donorbox using the “All Columns” option. Donorbox occasionally changes header names; if your export uses a header the importer does not recognize, hook charitable_donorbox_csv_schema to extend the allow-list.

Recurring plans are imported as cancelled

This is intentional. Donorbox payment tokens are not portable, so the plans are brought across as archival historical records. To resume recurring billing in Charitable you will need to re-collect payment authorization from those donors using a Charitable recurring donation form.

Import looks wrong; how do I undo it?

Use the Rollback button on the Results screen. The importer stamps every record it creates with the import’s batch ID and the rollback removes only those records.

Developer Resources

Hooks & Filters

  • charitable_donorbox_batch_size — change how many CSV rows are processed per AJAX request (default 200).
  • charitable_donorbox_csv_schema — extend or override the column allow-list per entity type (donations, supporters, plans).
  • charitable_donorbox_rollback_async_threshold — change the record count above which rollback runs asynchronously (default 5,000).
  • charitable_donorbox_verbose_logging — enable verbose internal logging for the active import.

Constants

  • CHARITABLE_DONORBOX_BATCH_SIZE — define in wp-config.php for an environment-level batch size override.

Useful Classes

  • Charitable_Donorbox_Importer — main orchestrator. Phase order is donors → campaigns → recurring → donations.
  • Charitable_Donorbox_CSV_Parser — streaming CSV parser with delimiter detection, header normalization, and per-entity schema allow-lists.

Logging

Import events are logged with the source donorbox and appear in the standard Charitable logs (Charitable → Tools → Logs), filterable by the Donorbox Import source.

Frequently Asked Questions

Do I need to reformat my Donorbox CSV before importing? 

In most cases, no. Export your data from Donorbox using the “All Columns” option and upload the file as-is. The importer recognizes multiple header aliases per field, so older or relabeled exports usually work without any manual cleanup.

Will the import affect my live site while it’s running? 

The importer processes records in batches in the background, so your site stays online. However, we strongly recommend taking a full database backup before running any large import, just in case.

What happens to my recurring donors? 

Recurring plans are imported as archival records with a cancelled status. Donorbox payment tokens are not portable, so active billing cannot be transferred. To resume recurring giving in Charitable, you will need to re-collect payment authorization from those donors using a Charitable recurring donation form.

Can I preview the import before committing? 

Yes. Dry-run mode reads and parses your CSV files and reports exactly what would be imported – donors, campaigns, donations, and recurring plans – without writing a single record to your database. You can run it as many times as you like before committing.

What if I import something by mistake? 

Use the Rollback button on the Results screen. The importer stamps every record it creates with a unique batch ID, so the rollback removes only what that import created and nothing else. Small imports roll back instantly; very large imports run the rollback in the background.

Can I run the importer more than once? 

Yes, but only one import can run at a time. If you need to re-import, wait for the current import to finish or roll it back first. Enable the Override Duplicates option if you want re-imported records to update existing ones rather than be skipped.

My CSV columns are not being recognized. What do I do? 

Re-export from Donorbox using the “All Columns” option, as Donorbox occasionally changes header names. If the problem persists, a developer can hook the charitable_donorbox_csv_schema filter to add unrecognized column names to the allow-list.

Does the importer support non-US date formats? 

Yes. You can choose from three date formats in the Import Options stage: ISO (YYYY–MM–DDYYYY–MM–DD), MM/DD/YYYY, or DD/MM/YYYY, to match whichever format your CSV uses.

What happens if I close the browser tab mid-import? 

Any staging files left behind are automatically cleaned up after 24 hours. The concurrency guard will also prevent a new import from starting until the abandoned one clears.

Do I need the Supporters and Recurring Plans CSVs? 

Only the Donations CSV is required. The Supporters and Recurring Plans CSVs are optional but strongly recommended – the Supporters CSV brings in richer donor profile data, and the Recurring Plans CSV ensures your historical recurring giving records are preserved.

What version of Charitable Pro do I need? 

The Donorbox Importer is available in Charitable Pro 1.8.14 and later. You will also need PHP 7.4 or higher on your server.

Helpful Links

🤝 Get help when you need it

Connect with Customer Support →

📑 Find the guide you need

Browse the Documentation Hub →

⬇️ Download proven strategies, campaign ideas, and expert tools

Get the Fundraising Kit →

🔗 Let your AI Assistant do the fundraising work for you.

Connect Charitable to your AI assistant →

💸 Get Free Fundraising Resources
Head to the Charitable Fundraising Hub →

🤔 Got questions about Charitable?
Charitable FAQs →

Need help understanding non-profit terms and jargon?
See our Non-Profit Glossary →

Still have questions? We’re here to help!

Last Modified:

What's New In Charitable

View The Latest Updates
🔔 Subscribe to get our latest updates
📧 Subscribe to Emails

Email Subscription

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

Donations Improvement

📊 Your Pro Dashboard Can Now Compare, Export, and Score!

Most fundraising dashboards only tell you how much you have raised. Charitable Pro 1.8.19 rebuilds the dashboard and the Reports Overview around the harder questions: whether anything is broken, whether this period beat the last one, and which single change would make the most difference today. Why this is important:

  • 📈 Every figure has a trend: Pick a period and the tiles and the chart move together, with each total shown against the previous period.
  • 🗓️ Charts that stay readable: Short ranges group donations day by day, while longer ranges group by week or month, so a full year reads as a curve instead of a flat line.
  • 🔀 Compare any 2 periods: Not just consecutive ones, so you can ask how this December did against last December. That matters because fundraising is seasonal.
  • 📤 Export the whole summary: Send the full overview out as CSV or PDF, ready for a board pack or a funder report.
  • 🎯 Score your setup for free: Have your fundraising setup scored, so the one change worth making next is the one you can see.

Check out our announcement here.

Feature New

🎟️ Introducing Charitable Events: Sell Tickets Inside Your Campaigns!

Most nonprofits sell event tickets in one tool and collect donations in another, which leaves two sets of reports and a manual match at the end of the year. Charitable Events brings both together, selling tickets through the same donation forms and payment gateways you already run in Charitable. Why this is important:

  • 🎟️ Every ticket is a donation: Ticket sales run through the gateway you already use and count toward the campaign goal, with everything managed under Charitable » Events.
  • 📱 QR check-in from any phone: Each attendee gets their own QR code on the receipt, and volunteers scan at the door through a check-in link that needs no WordPress account.
  • 🧾 Receipts ready for tax time: Give each ticket type a fair market value, and Charitable puts the correct tax-deductible amount on every donor receipt.
  • 📋 Attendee details at checkout: Ask every guest for a meal choice, shirt size, or access needs, with a separate attendee record created for each ticket.
  • 🗓️ Blocks and calendars included: Three editor blocks plus Sugar Calendar and The Events Calendar support put your events where supporters already look.

Check out our announcement here.

ai New

🚀 Unleash AI Power in Charitable!

Your AI assistant can now build, edit, and manage your Charitable fundraising campaigns directly — just by asking. With Charitable Pro adding write support for the WordPress Abilities API, tools like ChatGPT, Claude, and Cursor can handle full administrative actions safely through MCP. Why this is important:

  • 🤖 Campaign creation in plain language: Prompt your assistant with a goal like “Set up a fundraiser for the shelter with a $5,000 goal”, and it builds a real draft campaign complete with suggested donation tiers.
  • 🎨 Instant donation form tweaks: Add custom fields, change button colors, or reorder elements without diving into form settings.
  • 📝 Offline gift logging: Tell your assistant about cash or check gifts, and it will match donor emails and record transactions into your history.
  • 🛡️ Safety and control by default: Write access stays strictly off until turned on in Charitable » Tools » AI MCP, keeping read-only reporting safe by default.
  • 📜 Full audit logging: Every change made by an AI assistant is tracked under Charitable » Tools » Logs, so you always know who (or what) updated your site.

Check out our announcement here.

Improvement Payments

💰 Accept Recurring Donations with Windcave and Charitable

A donor sets their gift up once on Windcave’s secure payment page, and Charitable bills every renewal after that on schedule. Why this is important:

🏦 Organizations banked in New Zealand or Australia: monthly giving on the gateway your bank already set you up with, with no second processor to onboard.
⛪ Churches taking regular tithes and offerings: congregants set their own schedule once, which is the simplest way to launch recurring church giving without a separate platform.
🌏 Groups with donors in several currencies: Windcave handles more than 20, so a supporter can give in the currency they actually hold.
📅 Operating funds rather than one-time campaigns: switch on Recurring Only mode and the one-off option disappears, so every gift to that campaign is a subscription.
🧾 Teams with no developer on staff: 3 sets of credentials pasted into a settings page, and no code anywhere.

Check out our announcement here.

automation update

⚡ Visual Automation Builder: Drag and Drop With No Code!

Charitable Automation Connect 2.3.0 introduces the Visual Automation Builder, a full-screen canvas that lays each automation out as a flow of connected cards: a trigger, optional conditions, and a list of actions that run in order.

🧩 Many actions, one trigger: Tag a donor, send an email, add a note, and fire a webhook from a single event, dragged into any order.

✉️ Act inside Charitable: New Send Email, Tag Donor, and Add Donor Note actions run with no external service required.

🔤 Merge tags: Personalize emails and notes with live fields like {first_name}, {total}, and {campaign_name}.

🔁 Apply to existing donors: Run Tag Donor and Add Donor Note against the donors you already have.

🖥️ Canvas or Simple: Switch views anytime, and automations built before 2.3.0 keep working unchanged.

Read more here.