Charitable Documentation

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

Recurring Donations 2.0+

Do you want to make managing recurring donations easier for you and your donors?

The new Recurring Donations 2.0 extension in Charitable is just what you need! This powerful feature allows you to accept, manage, and report on subscription-based donations effortlessly.

With Charitable Pro version 2.0.0 and the Recurring Donations extension, you can enhance your fundraising efforts by incorporating recurring donations into any of your campaigns. This guide will walk you through the key features, setup, and best practices to help you get the most out of recurring donations.

Available in Charitable Pro 2.0.0+ (Recurring Donations extension).


Key Features

  • Accept recurring donations on any campaign, with flexible periods and amounts.
  • Recurring Only mode ensures all donations are subscriptions.
  • Donor self-service allows supporters to manage and cancel their own subscriptions.
  • Automated notifications for failed payments.
  • Advanced reporting tools, including MRR (Monthly Recurring Revenue) summary cards.
  • Export recurring donations data to CSV.
  • Compatible with major gateways like Stripe and PayPal.

Why Use Recurring Donations?

Recurring donors tend to contribute significantly more over time than one-time donors. By leveraging the Recurring Donations extension, you can provide supporters with an easy path for sustained giving, predict revenue streams for your organization, and utilize comprehensive reporting tools to track growth and retention.


See It In Action


Requirements

  • Charitable Pro (any plan that includes the Recurring Donations extension)
  • WordPress 5.9 or later
  • PHP 7.4 or later
  • A supported payment gateway (Stripe or PayPal) for automatic renewals

Getting Started

Activation

  1. Log in to your WordPress admin.
  2. Navigate to Charitable » Extensions.
  3. Find Recurring Donations and click Install and Activate.
  4. Once activated, new options for recurring donations will be available in the Campaign Builder.

How to Use The New Recurring Donation Features

Enabling Recurring Donations on a Campaign

Click on recurring donations in settings
  1. Open the Campaign Builder for any campaign
  2. Go to the Settings panel
  3. Expand the Recurring Donations section
  4. Select a mode from the dropdown (see Mode Options below)
  5. Configure period, amount, and length settings as needed
  6. Save or publish the campaign

Mode Options

ModeBehavior
DisabledNo recurring option is presented to donors
SimpleDonors see a checkbox to make their gift recurring
AdvancedDonors choose between one-time and recurring with a period selector
Recurring OnlyAll donations must be recurring; one-time option is hidden

Recurring Only mode (new in 2.0.0): Selecting this mode removes the one-time donation option entirely. A notice appears on the donation form: “All donations to this campaign are recurring.” Use this for monthly giving clubs, operational funds, or any campaign designed around sustained giving.

Period Configuration

When recurring is enabled, you can set:

  • Period mode: Fixed (admin-defined) or Variable (donor-chosen)
  • Donation period: Daily, Weekly, Monthly, Quarterly, Semi-Annually, Annually
  • Donation length: Number of recurring payments (0 = unlimited)

Donor Dashboard

Donors can view and manage their recurring donations from the donor dashboard or the [my_recurring_donations] shortcode.

Cancel Subscription (new in 2.0.0)

New recurring donations in donor dashboard

Cancel link appears in the recurring donations table for any subscription with a cancellable status (active, pending, on-hold). Clicking it presents a confirmation prompt before cancellation is processed.

After cancellation: – The subscription status updates to Cancelled – A success notice confirms the action – The donor is redirected back to the donor dashboard

Subscriptions with a non-cancellable status (completed, expired, already cancelled) display a dash in the Cancel column.


Emails

Payment Failed Email (new in 2.0.0)

An automated email sent to donors when a recurring payment fails. It fires when a subscription status changes to charitable-failed.

Recurring payment failed email

To configure:

  1. Go to Charitable » Settings » Emails
  2. Locate Payment Failed and click to edit
  3. Enable the email, customize the subject and body, and save

Available merge tags:

Merge TagDescription
{donor_first_name}Donor’s first name
{donor_full_name}Donor’s full name
{campaign_name}Campaign title
[charitable_email show=recurring_summary]Subscription summary block
{site_name}Your site name

The email is sent to the donor only, not the admin. To receive admin copies, configure a separate notification email.

Recurring Donation Cancelled Email

Sent to the donor when a subscription is cancelled, whether by the donor or an admin. Configurable in the same Emails settings screen.


Reporting

recurring donations report new

MRR Summary Cards (new in 2.0.0)

Located at Charitable » Reports » Advanced, select Recurring Donations from the report type dropdown.

Four summary cards appear at the top of the report:

CardDescription
Active SubscriptionsCount of all currently active recurring donations
Est. Monthly Revenue (MRR)All active subscriptions normalized to a monthly figure
New This PeriodSubscriptions created within the selected date range
Cancelled This PeriodSubscriptions cancelled within the selected date range

How MRR is calculated:

Each active subscription’s amount is multiplied by a period factor to produce its monthly equivalent:

PeriodMonthly Factor
Daily×30
Weekly×4.333
Monthly×1
Quarterly×0.333
Semi-Annual×0.167
Annual×0.083

Active Subscriptions and MRR are global figures that do not change when you adjust the date filter. New This Period and Cancelled This Period reflect the selected date range.

Exporting Recurring Donation Data

Use the Export button on the Recurring Donations admin list page (Charitable » Recurring Donations) to download a CSV of filtered results.


Shortcodes

[my_recurring_donations]

Displays the current donor’s recurring donations in a table. Intended for use on a logged-in donor dashboard page.

ParameterTypeDefaultDescription
campaign_idintLimit to donations for a specific campaign
statusstringallFilter by donation status

Customization

Status Badge Colors

Status badges are displayed as small colored pills in both the admin list table and the donor-facing tables.

StatusDefault Color
ActiveGreen (#008000)
PendingGray (#999)
CompletedBlue (#3fb8f5)
FailedOrange (#f7a129)
CancelledRed (#ff0000)
On HoldLight Blue (#8bb0e7)
ExpiredYellow (#ffe14a)

Template Overrides

To override a recurring donations template, copy the file from the plugin’s templates/ folder into your theme under charitable/and modify as needed.


Troubleshooting

The Cancel button does not appear in the donor dashboard

The cancel button only shows for subscriptions with a cancellable status (active, pending, on-hold). If the subscription is already cancelled, completed, or expired, no button is shown.

Additionally, some payment gateways do not support programmatic cancellation. For gateways that do not support it, the cancel button may not appear even for active subscriptions.

The Payment Failed email is not sending

Confirm the email is enabled in Charitable » Settings » Emails. Also verify that the subscription status is being updated to charitable-failed when a payment fails, as the email fires on that status transition.

MRR seems lower than expected

MRR only includes active subscriptions. Paused, on-hold, or failed subscriptions are not included. The figure is also an estimate based on stated billing periods, not actual payment history.

Recurring Only mode shows the one-time option

Clear your browser cache and any page caching plugins. The one-time option is hidden via CSS and JavaScript in the campaign builder and donation form. A caching layer serving a stale page may show outdated markup.


Developer Resources

Hooks and Filters

  • charitable_recurring_donation_modes – Filter the available recurring donation mode options
  • charitable_send_recurring_payment_failed – Control whether the Payment Failed email is sent for a specific donation
  • charitable_process_cancellation_{gateway} – Gateway-specific cancellation logic; return true to confirm success
  • charitable_recurring_cancel_redirect – Filter the redirect URL after a donor cancels a subscription
  • charitable_recurring_my_recurring_donations_table_after_receipt – Action for adding columns to the donor-facing recurring donations table

Useful Functions

  • charitable_recurring_get_recurring_donation( $donation_id ) – Returns a Charitable_Recurring_Donation object
  • charitable_recurring_get_valid_donation_statuses() – Returns array of valid status keys and labels

MRR Calculation

// Access MRR data programmatically
$report = Charitable_Report_Advanced_Recurring::get_instance();
$mrr_data = $report->get_mrr_data( $start_date, $end_date );
// Returns: active_count, mrr, new_count, cancelled_count

Additional Resources

/pattern cta

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!

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.

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.

Campaigns New

🖼️ Campaign Featured Images: Pro-Level Visuals Made Simple

With the new Campaign Featured Image setting in our visual builder, you now have a single, dedicated place to manage how your fundraisers look across your entire site and beyond.

🖼️ One Image, Everywhere: Set a primary thumbnail that automatically syncs to campaign grids, lists, and shortcodes—no more relying on layout order.

📱 Social Sharing Optimized: Easily upload images at the perfect size to ensure your campaigns look stunning and professional when shared on social media.

🔍 SEO & Accessibility Ready: Add custom alt text directly within the builder to improve search rankings and ensure your mission is accessible to every supporter.

Improvement receipts

🗓️ Annual Receipts 2.0: Send Year-End Receipts to Every Donor in Minutes

You can now send annual receipts in minutes with a few clicks to all your donors.

📧 One-Click Bulk Send Wizard that guides you to sending to hundreds of donors simultaneously directly from your WordPress dashboard.

🔍 Smart “Dry Run” Mode: See exactly who will receive a receipt and who will be skipped (and why) before a single email leaves your server.

🛡️ SMTP-Aware & Limit Protection: Charitable now detects your email setup and automatically adjusts batch sizes and pauses for daily limits to ensure your emails land in inboxes.

✅ Complete Audit Trail: Dedicated system log and on the individual donor’s profile, giving you a clear history for every fiscal year.

Stop dreading tax season and start spending that time on your mission. Update to Annual Receipts 2.0 and automate your year-end reporting today.