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

A 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_idint—Limit 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!

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.