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 emaildonor_emailemail_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 (donationssupportersplans).
  • 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 (YYYYMMDDYYYYMMDD), 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 →  

💸 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!

recurring donations updated

💳 Introducing Card Updates: Fix Expired Cards Without Losing Subscriptions!

newExpired or updated credit cards are one of the biggest silent leaks in recurring fundraising. With Card Updates in the Recurring Donations extension, donors can now refresh their payment details directly—keeping their subscription, schedule, and giving history completely intact.

No canceled plans, no lost history, and zero administrative headache for your team.

What’s New:

⚡ 30-Second Self-Service: Donors get a dedicated “Update Card” button in their dashboard that opens Stripe’s secure, PCI-compliant Customer Portal to update card details instantly.

🔒 Scoped & Safe Access: Scoped exclusively to card updates by default, donors can’t accidentally cancel or alter their plans from inside the portal, keeping your webhooks and data in sync.

🤝 Admin-Assisted Support: Helping a donor on the phone? Open their secure Stripe portal in one click from your admin screen or generate a single-use update link to email them.

📋 Automatic Audit Trail: Every payment method update is recorded automatically with a timestamp in both system-wide logs and the individual donor’s profile.

Ready to protect your recurring revenue? Get the Plus or Pro plan and update Recurring Donations to 2.3.0+ and enable “Update Payment Method” under your Settings today!

Integration page builder

Divi Fans Rejoice! Native Divi 5 Campaign Progress Bar Module!

With our new native Divi 5 module, you can anchor your microsites with real-time fundraising stats directly on the visual canvas. Here’s how it works, and why it’s worth turning on today.

Create campaign updates that are VISUAL AND LIVE. You can also:

📊 Campaign Progress Bar: Drop a live progress bar into any Divi 5 layout and show goal progress in real time.

🎨 Deep styling controls: Easily customize the bar and track color, height, and radius to match your brand perfectly.

👁️ Visual Builder ready: Configure and preview everything directly on the Divi canvas as a first-class module.

🔁 Identical rendering: The same exact engine powers this module, meaning consistent design without legacy shims.

✅ Faster launches: Never leave the Divi 5 interface to configure shortcodes or guess how your goal labels will look.

Learn more here.

Integration page builder

👉🏻 New in Charitable: Native Elementor Widgets for Seamless Campaign Building

With native Elementor widgets, you design donation campaigns right alongside the rest of your page without touching code. Here’s how it works, and why it’s worth turning on today.

Create fundraising pages that are VISUAL, NATIVE, AND SHORTCODE-FREE. You can also:

⚡ Mini Donation: Add a compact, high-converting donation widget with preset amounts and full color control.

⏳ Campaign Countdown: Build urgency for a deadline-driven appeal, complete with optional confetti when the goal is hit.

📣 Donation Feed: Prove momentum by showing visitors the social proof of real people giving right now.

🏆 Donor Leaderboard: Celebrate top supporters with gold, silver, and bronze styling to spark friendly giving.

🖼️ Campaign Showcase: Feature multiple campaigns in a landing page grid or carousel, with search, filters, and badges.

Learn more here.

Addon New

🗒️ Custom Receipts… New Addon!

With Custom Receipts, you decide which page your donors see, on every campaign. Here’s how it works, and why it’s worth turning on today.

Left side shows a donation receipt with donation number, date, total, and payment method for a  gift to Anywhere, titled 'One Family Gets Clean Water For A Week.'

Create receipts that are CUSTOM TO THE DONOR OR CAMPAIGN. You can also:

📅 Year-end appeal: Reinforce the goal and invite donors to share while momentum is high.

🎗️ Memorial or tribute campaign: Give a gentle, respectful thank-you that fits the moment.

💎 Major gifts: Show a special message only to donors who give above a threshold.

🔁 Recurring growth: Invite one-time donors to become monthly supporters right on the receipt.

🌍 Global campaigns: Surface a country-specific note, like a Gift Aid reminder, only where it applies.

Learn more here.

New templates

🤩 New Beacon Campaign Templates w/ “Hero” Block!

With the new Beacon Campaign Templates for Charitable Pro, you can launch a stunning, full-width fundraising page that instantly captures visitor attention above the fold.

Fundraising page header for Save Maple Grove Park with a donation widget and a small square photo of a sunlit tree thumbnail on the left.

🔦 Above-the-Fold Impact: Lead with a full-width hero image, your logo, and your goal with a donation widget locked right on top of the banner so your ask and momentum register instantly without scrolling.

📐 Two Flexible Layouts: Choose between a structured two-column layout for side-by-side storytelling and supporting details, or a clean one-column view designed for uninterrupted long-form narratives.

⚡ All-in-One Hero Field: Powered by the new Campaign Hero field, bringing background media, live progress bars, custom donation amounts, and recurring giving tabs together into a single cohesive block that can be dropped into any layout.

🎨 Automatic Theme Matching: The hero banner and donation widget automatically inherit your campaign theme’s button and accent colors, ensuring your entire presentation stays beautifully on-brand without touching a line of CSS.

Learn more here.