Charitable Documentation

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

Donorbox Importer

The Donorbox Importer is a phased, batched CSV migration tool that brings your historical donations, donors, campaigns, and recurring plans from Donorbox into Charitable Pro. Available in Charitable Pro 1.8.14+.

Key Features

  • 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

  1. 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)
  2. Back up your WordPress database.
  3. 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 It

Go to Charitable → Tools → Import → Donorbox.

Usage

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.

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.

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

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.

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.

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.

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!

automation Improvement

🔌 Charitable Meets Zapier: Connect to 7,000+ Apps and Automate Your Fundraising

Tired of manually copying donation data into accounting sheets or tracking down new donor signups? Put your administrative tasks on autopilot. Charitable is now officially on Zapier, giving you a powerful, no-code way to plug your fundraising directly into the rest of your favorite tools.

Every donation, donor signup, and campaign milestone can now trigger an automated workflow seamlessly.

What’s New:

♾️ Connect to 7,000+ Apps: Bridge your Charitable campaigns with everyday software like Google Sheets, QuickBooks, Slack, Mailchimp, HubSpot, Notion, Airtable, and thousands more.

⚡ 12 Powerful Triggers: Build deep workflows using smart automation triggers covering the entire donation lifecycle—including New Donation, New Donor, Subscription Cancelled, and Campaign Goal Reached.

📋 Pre-Built Action Templates: Get started in three minutes or less with our pre-made template combinations, like automatically logging new donations straight into a Google Sheet or firing custom donor welcome emails through Gmail.

🚫 Zero Code Needed: No complex webhooks or custom PHP scripts required. Just pick your trigger, choose your app, map your fields, and let Zapier handle the heavy lifting.

Ready to save hours of admin time? Grab Charitable Pro with the Automation Connect addon today and launch your first Zap!

Improvement Payments

🚀 Introducing PayPal Commerce: One Connection, Six Ways to Donate

Donors expect modern, flexible payment options when they support a cause. If they don’t see their preferred method on your donation form, they often disappear without a word. With PayPal Commerce, we are bringing a completely modernized checkout experience right to your campaigns.

Enjoy a single integration that upgrades your forms, makes giving seamless, and helps you capture every single donation.

What’s New:

🔌 One-Click Connection: Skip messy API keys and developer docs. Simply click “Connect with PayPal,” sign in to your business account, and your modern form is live in under five minutes.

💳 Six Ways to Give: Give your supporters instant access to PayPal balance, Venmo (US), Pay Later financing, major credit/debit cards, Apple Pay (Safari), and Google Pay (Chrome) all from the exact same form.

🔄 Flexible Recurring Giving: Fully supports monthly giving. Choose between the PayPal Subscriptions API (handled automatically on PayPal’s end) or Vault + Cron (handled securely right on your site).

💬 Friendly Error Recovery: No more confusing browser alerts. If a payment is declined, donors see plain-language, inline messages that guide them on how to fix the issue and complete their gift.

Ready for PayPal, modernized? Update to Charitable Pro 1.8.15+ (or Charitable Lite 1.8.11+) and connect your account today!

Campaigns New

⏳ Campaign Countdown: Drive Urgency and Lift Donations

Urgency is one of the most powerful tools in fundraising! Meet Campaign Countdown—a live, real-time timer built to turn procrastination into immediate generosity.

campaign_countdown_animation

What’s New:

⏱️ Live, Real-Time Urgency: Beautifully track days, hours, minutes, and seconds down to your campaign’s deadline w/ live-updating visual countdowns.

🎨 Tailored to Your Look: Choose between Boxed bordered tiles or a clean, single-line Inline display. Match your theme instantly with font and deep color controls.

🛠️ Place it Anywhere: Drop the countdown anywhere you like using the Campaign Builder field, a dedicated Gutenberg block, or a simple shortcode.

🚨 Smart Expiry Actions: Total control over the end state—choose to automatically replace the timer with a custom message, freeze it at zero, and more.

Improvement Migrations

↔️ Importing From GiveWP, Donorbox, GiveButter… even CSV!

Whether you’re migrating from another platform or consolidating your records, moving your data to Charitable is now faster and more flexible than ever. We’ve streamlined the process so you can bring over your entire fundraising history in just a few clicks.

🔄 Native GiveWP, Donorbox, & GiveButter Support: Switching from a major platform? Our dedicated migration tools handle the heavy lifting, automatically mapping your donors and donations directly into Charitable—no technical skills required.

📂 Universal CSV Import: Moving from a custom system or a specialized CRM? If you can export it to a CSV, you can import it here. Our smart mapping tool lets you align your columns to Charitable fields like names, emails, phone numbers, and addresses in seconds.

Instant Donor Profiles & Custom Tags: Automatically create rich donor profiles and bring in custom tags to keep your data organized. Segment and engage your supporters from day one with a clean, professional database structure.


Ready to make the switch?

Check out our GiveWP Migration Guide

Learn more about our Import Tools

Improvement Payments

💳 New Braintree Features For Your European Donors

With the release of Braintree addon version 1.3.0, you can now empower your European donors with the payment methods they trust and prefer, making giving seamless for international supporters.

🌍 Six New European Payment Methods: Support popular local options like iDEAL (Netherlands), Bancontact (Belgium), BLIK (Poland), and more to meet donors where they are.

⚡ Frictionless Donor Experience: These bank-based methods allow donors to authenticate directly with their own bank in a secure popup… no credit card numbers required.

⚙️ Automatic Currency Sync: No complex setup needed. The builder automatically displays the correct payment buttons based on your site’s currency (EUR or PLN), ensuring a relevant experience for every visitor.