Charitable Documentation

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

Custom Receipts Guide

Requires:

  • Charitable Pro (Plus, Pro, or Elite) 1.8.17+
  • Charitable Custom Receipts 1.0.0+
  • Recurring Donations 2.2.1+ (optional)

Custom Receipts lets you decide what a donor sees on screen right after they give. That page (the thank-you page a donor lands on once their donation goes through) is one of the highest-attention moments in the whole donation flow, and out of the box every campaign shares the same site-wide receipt.

This addon changes that. Every campaign can:

  • Keep the default receipt (no change, exactly like today).
  • Redirect donors to a page you already built, or to any URL.
  • Show a custom receipt you design in the WordPress block editor, using receipt-aware blocks that fill in the real donor name, amount, campaign, and gift details at display time.

You start from a built-in design, adjust it to fit your organization, preview it with sample data, and save your own designs to reuse across campaigns.

Thank you banner over blue water background: 'You made this possible' with donation supported message for Anytown (Your .00 gift supports Anytown).

What a custom receipt is (and is not)

It helps to be precise about what this addon touches:

  • It customizes the on-screen receipt page only – the page a donor sees immediately after giving.
  • It does not change your donation receipt emails. Those are still controlled in Charitable’s email settings.
  • It does not replace the PDF Receipts addon. If you use PDF receipts, they keep working, and there is even a block that links donors straight to their PDF.

Think of it as the thank-you page, not the paperwork.

When you would use it

A few common reasons organizations reach for custom receipts:

  • Make the thank-you moment feel personal. Swap the plain confirmation for a warm message, your logo, and a line about the impact of the gift.
  • Send bigger donors somewhere special. Use a condition so a “$500+” thank-you note only appears for major gifts.
  • Point donors to a next step. A “Donate Again,” “Share,” or “Track Your Giving” button turns a one-time gift into ongoing engagement.
  • Turn a one-time gift into monthly support. Add the Recurring Upsell block to invite one-time donors to convert their gift to a recurring donation (requires the Recurring Donations addon).
  • Match the receipt to the campaign. A memorial campaign and a year-end appeal can each have their own thank-you page.
  • Reuse a redirect page you already built. If you have a custom “thank you” page in your theme, just point the campaign at it.

Before you start

Custom Receipts needs a few things in place:

  • Charitable Pro with an active license (Plus, Pro, or Elite).
  • Charitable core 1.8.17 or later. The addon renders through a core filter that was added in 1.8.17, so on older versions the custom receipt will not display. If your core is out of date, you will see an admin notice asking you to update.
  • WordPress 6.2+ and PHP 7.4+.
  • Recurring Donations 2.2.1 or later (optional). Only needed if you want the Recurring Upsell and Recurring Details blocks or the Gift Type condition.

Once the addon is active, there is no separate settings page to configure. Everything happens per campaign.

Choosing a receipt mode

Each campaign has its own receipt mode. You will find the setting in whichever campaign editor you use.

In the visual Campaign Builder

Open a campaign in the Campaign Builder and go to:

Settings > Receipt

The Receipt panel inside the Campaign Builder Settings view, showing the Default, Redirect, and Custom mode options

In the legacy Campaign Settings editor

If you use the classic campaign editor, the same options live in the Receipt metabox under the campaign’s advanced settings tabs, alongside Donation Options and Updates. The mode picker looks and behaves exactly like the Campaign Builder panel shown above.

The three modes

Default leaves everything as-is. The donor sees your normal site-wide receipt. Pick this for any campaign you do not want to touch.

Redirect sends the donor somewhere else the moment their donation completes. You choose one of two targets:

  • A page on this site, picked from a dropdown of your published pages.
  • An external URL, typed in directly. It must start with https://.
The Redirect options, showing the page picker and the URL field

Custom renders a receipt you design in the block editor. When you choose Custom, the addon creates a receipt document linked to that campaign and gives you a button to open it in the editor.

Designing a custom receipt

Choosing Custom mode opens the receipt in a focused version of the WordPress block editor. It looks like editing a page, with one important difference: the blocks you place are receipt-aware. A Donation Summary block does not ask you to type an amount, it shows the real amount from each donation when the donor views their receipt.

The welcome walkthrough

The first time you open a receipt, a short guided walkthrough introduces the editor, the design chooser, and the preview button.

The Custom Receipts welcome guide overlay in the receipt editor

Tip: Want to see the walkthrough again later? Add &charitable_cr_guide=1 to the end of the receipt editor URL and the welcome guide and first-run tips will replay, no matter how many times you have dismissed them before.

Start from a built-in design

You rarely start from a blank page. Open the Designs panel in the editor sidebar and pick a starting point. Each design shows a small wireframe so you can see the layout at a glance.

The Designs panel in the editor sidebar, showing the five built-in designs with wireframe previews

Clicking a design fills the editor with that design’s blocks, ready for you to edit. Nothing changes for donors until you save. You can always switch to a different starting point later with Change Design.

Good to know: Applying a design copies it into your receipt. If you edit a built-in design’s underlying definition later (for example through a filter), receipts you already created do not change. To pull in the newest version of a design, re-apply it with Change Design.

The five built-in designs

DesignBest for
StandardA clean, everyday receipt: donation summary, the official receipt statement, and a thank-you message.
Thank-You and ImpactA warm thank-you and an impact message on top of the required receipt details.
Tax ReceiptStatement-forward and minimal, for formal, tax-receipt-style acknowledgements.
ElegantA refined, centered keepsake with a medallion, a warm thank-you, and a personalized gift line above the details.
ShowcaseAn image-led, modern receipt with a hero banner over card sections for gratitude, impact, details, and actions.

The receipt blocks

Custom Receipts adds a dedicated set of blocks that read live donation data. Open the block inserter inside a receipt and you will find them grouped together.

The block inserter showing the Charitable receipt blocks category

Two blocks are the backbone of every valid receipt:

  • Donation Summary – the amount, date, receipt number, campaign, and payment method for the gift.
  • Receipt Statement – your organization name, tax ID / EIN, and the official donation-receipt statement donors need for their records.

The rest are optional, mix-and-match pieces:

BlockWhat it shows
Thank-You MessageA custom heading, message, and icon, with styles from simple to certificate and medallion.
ImpactA short message about what the gift makes possible, optionally different by donation amount.
Personalized ContentA container whose contents appear only when the donation matches your rules (see below).
IconA single icon: an emoji, a built-in SVG, or an image you upload.
Receipt HeroA hero banner with a background image, overlay, optional icon, eyebrow, heading, and a dynamic gift line.
Organization DetailsYour logo, name, address, phone, email, and website.
Donor DetailsThe donor’s name, email, and billing address from the donation.
Tax Receipt DetailsThe tax-deductible amount and the goods-and-services compliance statement.
Matching GiftsA prompt for donors to check whether their employer matches donations.
Donate AgainA button that sends the donor back to the campaign to give again.
ShareSocial share buttons (Facebook, X, LinkedIn, WhatsApp, email) and a referral link.
Print or Save as PDFA button that opens the browser print dialog so the donor can print or save the page.
Download PDF ReceiptA button linking to the donor’s PDF receipt (uses Charitable Pro’s built-in PDF receipts).
Track Your GivingA link into the donor dashboard, with a secure email sign-in link for guest donors.
QR CodeA scannable code generated on your own server (see below).
Recurring UpsellAn invitation for one-time donors to switch to monthly giving.
Recurring DetailsThe status, dates, and amount of a recurring plan (needs the Recurring addon; hides itself for one-time gifts).

Personalized Content

The Personalized Content block is a container: anything you place inside it appears only when the donation matches the rules you set. Select the block, open its settings, and add one or more conditions.

The Personalized Content block with its condition rules open in the sidebar

You can build rules from any of these:

ConditionMatches on
AmountA donation amount range (a minimum, a maximum, or both).
Gift TypeOne-time versus recurring gifts (needs the Recurring addon).
TributeWhether the gift is a tribute (needs the Tributes addon).
Payment MethodThe gateway the donor used (Stripe, PayPal, and so on).
DonorDonor-based rules, such as first-time versus returning.
CampaignA specific campaign.
CountryThe donor’s billing country.
DateA date range for when the donation was made.

A few examples

  • Thank major donors. Wrap an event invitation in a Personalized Content block with an Amount condition of $250 or more, so only larger gifts see it.
  • Welcome monthly supporters. Use a Gift Type condition set to recurring to show a “thank you for becoming a monthly donor” note (requires the Recurring Donations addon).
  • Show a country-specific message. Add a Country condition set to the United Kingdom to display a Gift Aid reminder only for UK donors.
  • Guide offline donors. Use a Payment Method condition for offline or check payments to show your mailing address and who to make the check payable to.

You can combine conditions in one block. All of them must match for the content to show (for example, Amount $250+ and Country United States).

Preview as

Because personalized content is hidden until a donation matches, it can be hard to design. The Preview as switcher in the editor sidebar lets you pretend to be different donors (a large gift, a recurring donor, a specific country) and watch blocks appear and disappear live, without leaving the editor.

The Preview as switcher in the receipt editor sidebar

The QR Code block

The QR Code block adds a scannable code to your receipt. It is a nice touch on a printed receipt: a donor can scan it with their phone to jump straight to a link you choose.

The QR Code block and its settings in the editor

You choose where the code points:

  • Donate again (the campaign’s donation form), the default.
  • This receipt.
  • The campaign page.
  • A custom URL you enter.

You can also set the code’s color and size. The code is generated on your own server with no external calls, so nothing about the donation is sent to a third-party QR service.

Layout: width and card framing

Two controls in the receipt’s sidebar shape the overall look:

  • Width – how wide the receipt content is: Narrow, Standard, Wide, or Full. The editor canvas resizes to match, so what you see while editing matches the front end.
  • Card – an optional white “card” frame (padding, border, and a soft shadow) around the whole receipt, so it stands out on a busy page.
The receipt width and card framing controls in the sidebar

Previewing on your site

Editing shows you the layout, but to see the receipt exactly as a donor would, open the Preview panel in the editor sidebar and click Preview On Site. It opens your live theme in a new tab and renders the receipt with realistic sample donation data. (Save the receipt once to enable the button.)

A custom receipt previewed on the front end with sample donation data

Because it uses sample data, you can preview safely without making a test donation.

Save and reuse your own designs

Once you have a receipt you like, you can save it as a reusable template. In the editor sidebar, open the Receipt Template panel, click Save as Template, and give it a name. Your saved template then appears alongside the built-in designs in the Designs panel for every campaign.

The Save as Template panel in the receipt editor

To rename or remove saved templates later, use the template management screen linked from the editor’s help menu.

How it works with other Charitable addons

Custom Receipts is designed to cooperate with the rest of the Charitable family:

  • Recurring Donations. The Recurring Details and Recurring Upsell blocks light up, and the Gift Type condition becomes available. If your receipt already includes a Recurring Details block, the addon suppresses the duplicate recurring section that Recurring would otherwise append, so donors do not see it twice.
  • Tributes. Tribute donations keep their dedicated Tributes receipt. Custom Receipts steps aside for those gifts so the tribute experience (honoree, message, and details) is preserved. Non-tribute gifts on the same campaign still use your custom receipt.
  • PDF Receipts / Charitable Pro. The Download PDF Receipt block links donors to the PDF produced by Charitable Pro’s built-in PDF receipts. QR code generation also uses a Charitable Pro helper.
  • Fee Relief. Donation figures shown by the receipt blocks reflect the amounts Charitable core records, so fee-relief details flow through the standard donation data.

Frequently asked questions

Does this require Charitable Pro? Yes. Custom Receipts requires an active Charitable Pro license (Plus, Pro, or Elite) and Charitable core 1.8.17 or later.

Does it change my donation receipt emails or PDF receipts? No. This addon customizes only the on-screen receipt page. Your receipt emails and the PDF Receipts addon are not affected.

What happens to a tribute donation? Tribute gifts keep their dedicated Charitable Tributes receipt. The custom receipt opts out for those donations so the tribute experience is preserved.

If I change a built-in design later, do my existing receipts update? No. Applying a design copies it into that campaign’s receipt, so each receipt stays independent and editable. To pull the latest version of a design, re-apply it with Change Design.

Does the QR code call an external service? No. QR codes are generated on your own server. No external HTTP requests are made.


Developer reference

Everything below is for developers who want to extend or theme custom receipts. If you are just setting up receipts in the admin, you can stop here.

How rendering works

Custom Receipts hooks the core filter charitable_donation_receipt_custom_body, added in Charitable 1.8.17. When a donation’s campaign is in Custom mode, the addon returns the rendered receipt block markup through that filter; otherwise it returns null and the default receipt is used. This is why 1.8.17 is a hard requirement: on older core the filter does not exist and nothing renders.

Receipts are stored as a non-public custom post type, charitable_receipt, one post per campaign that uses Custom mode. Saved designs are also charitable_receipt posts, flagged as templates and not linked to a campaign.

Meta keys

Set on the campaign:

Meta keyPurpose
_charitable_receipt_modedefault, redirect, or custom.
_charitable_receipt_redirect_typepage or url (Redirect mode).
_charitable_receipt_redirect_targetPage ID or full https:// URL (Redirect mode).
_charitable_receipt_idID of the linked charitable_receipt post (Custom mode).

Set on the receipt post:

Meta keyPurpose
_charitable_cr_designID of the applied design (builtin:standard, a template post ID, and so on).
_charitable_receipt_widthnarrow, standard, wide, or full.
_charitable_receipt_cardWhether the card frame is enabled.

Filters

FilterPurpose
charitable_custom_receipts_render_for_donationReturn false to opt a specific donation out of custom rendering (this is how Tributes steps aside).
charitable_custom_receipts_renderFilter the final rendered receipt HTML.
charitable_custom_receipts_built_in_themesAdd, remove, or modify the built-in designs.
charitable_custom_receipts_template_optionsModify the full design list (built-in plus saved) shown in pickers.
charitable_custom_receipts_condition_typesRegister or modify Personalized Content condition types.
charitable_custom_receipts_widthsDefine or modify the width options and their pixel constraints.
charitable_custom_receipts_layout_classesModify the CSS classes on the receipt wrapper.
charitable_custom_receipts_seed_contentProvide the initial block markup for a newly created receipt.
charitable_custom_receipts_preview_contextModify the sample donation data used in previews.
charitable_custom_receipts_docs_urlOverride the “Read the docs” link in the editor onboarding.
charitable_custom_receipts_qr_altCustomize the QR code image alt text.
charitable_custom_receipts_dashboard_urlCustomize the Track Your Giving link.
charitable_custom_receipts_pdf_download_urlCustomize the Download PDF Receipt link.
charitable_custom_receipts_recurring_upsell_urlCustomize the Recurring Upsell conversion link.

Actions

ActionFires when
charitable_custom_receipts_initThe addon has booted and confirmed Charitable Pro is active. Passes the service container. Use it to register integrations or custom conditions.
charitable_custom_receipts_template_appliedA design or saved template is applied to a campaign’s receipt. Passes the campaign ID, receipt ID, and template ID.

Examples

Drop any of these into a site-specific plugin or your theme’s functions.php.

Point the in-editor docs link at your own onboarding page:

add_filter( 'charitable_custom_receipts_docs_url', function () {
	return home_url( '/staff/receipt-guide/' );
} );

Add an extra receipt width option:

add_filter( 'charitable_custom_receipts_widths', function ( $widths ) {
	// slug => [ content width px, wide width px ].
	$widths['xwide'] = array( 960, 1200 );
	return $widths;
} );

Never render a custom receipt for a specific campaign, regardless of its mode:

add_filter( 'charitable_custom_receipts_render_for_donation', function ( $render, $donation ) {
	return ( 123 === (int) $donation->get_campaign_id() ) ? false : $render;
}, 10, 2 );

Do something after a design is applied (for example, clear a page cache):

add_action( 'charitable_custom_receipts_template_applied', function ( $campaign_id, $receipt_id, $template_id ) {
	// Your cache invalidation here.
}, 10, 3 );

Related


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!

donation form Feature New

📝 Donation Form Block: Embed a Working Donation Form Anywhere

With the new Donation Form Block for Charitable Pro, you can drop a fully working donation form directly onto any page or post in the WordPress block editor. No redirects, no page reloads, and zero friction between reading your story and making a contribution.

📝 Drop Forms Anywhere: Place a working form directly onto your homepage, inside a story-driven blog post, on a dedicated landing page, or within a campaign announcement.

🎯 Dynamic Campaign Binding: Easily choose a specific campaign from the block sidebar or set it to automatically bind to whichever campaign is currently being viewed.

📐 Full vs. Minimal Form Views: Switch between a full layout or a compact minimal view to perfectly fit sidebars, narrow columns, or wide landing pages.

🎨 Scoped No-Code Styling: Customize typography, container spacing, border radius, amount buttons, and accent colors independently for every form instance without touching a line of CSS.

Learn more here.

ambassadors New

👤 Creator Profiles: Put a Face to Every Peer-to-Peer Campaign

Ambassadors 3.3.0 now provies Creator Profiles — giving your supporters a permanent, shareable public home that turns one-time fundraisers into ongoing relationships.

👤 Public Creator Pages: Give every fundraiser an instant, clean landing page at /creator/their-name/ to showcase their custom avatar, bio, and a browsable grid of their campaigns.

📊 Proof of Impact: Boost donor trust by displaying site-wide milestones on the profile—like total funds raised and total donor counts.

💳 Interactive Hover Cards: When donors hover over a creator’s name on a campaign page, a compact card expands with their bio and social handles right at the moment of decision.

📍 Responsible Location Sharing: Allow creators to safely show local supporters where they are based using only city, state, and country details.

🛠️ Self-Serve Customization: Fundraisers can update their own profiles and link up to six social networks directly from the My Campaigns hub, saving you admin time.

Ready to empower your advocates? Update to Ambassadors 3.3.0 and turn on “Enable Public Creator Page” today!

Improvement Payments

📱 Turn Mobile Scrollers Into Donors: Meet Charitable’s Mollie Upgrade

Losing mobile supporters because they hate typing out long card numbers on their phones? Charitable’s updated Mollie integration features:

⚡ One-Tap Wallet Checkout: Enable donors to complete their gifts instantly using Apple Pay or Google Pay with a simple face scan, fingerprint, or tap.

💰 No Extra PCI Burden: Skip complex domain verification and security compliance since all wallet transactions run safely through Mollie’s hosted checkout.

🛠️ Custom Cancel Routing: Keep the experience predictable by automatically sending donors who back out to your cancellation page, or use developer filters to route them to a custom page.

Visit this page to learn more.

ambassadors improved New

Moderation and Directory Screens In Ambassadors 3.0

Ambassadors 3.0 has new features: moderation and directory screens… now easily see those who are earning donations on your peer to peer network – including campaign creators that might need to be verified – all in one place. Generate reports, email ambassadors and campaign creators directly and more.

🚀 See when campaign creators and ambassadors have updated their campaigns, what donors/donation they have brought in and more.

🎉 Manually add ambassadors and campaign creators, and approve them in one-click!

Visit this page to learn more.

New Payments

⚡ Unlock India-Based Donations: Meet Charitable’s Native Razorpay Integration

Trying to collect donations in India? Charitable’s native Razorpay integration features:

⚡ Instant UPI Integration: Accept fast, local donations directly inside your form via apps like PhonePe, Google Pay, Paytm, and BHIM without sending donors away from your site.

📲 Auto-Generated Campaign QRs: Instantly render scannable QR codes encoding a UPI deep link directly on your public campaign pages and sidebars for an effortless “scan-to-give” experience.

💰 Dual Local & Global Reach: Headline your campaigns in INR while seamlessly accepting major international currencies like USD, EUR, GBP, and CAD to maximize global support.

🔁 Seamless Recurring Giving: Fully integrates with the Charitable Recurring addon to manage automatic monthly subscriptions directly through Razorpay without extra code.

↩️ Automatic Two-Way Sync: Keep your books perfectly clean with two-way refund syncing—issue a refund inside WordPress or your Razorpay dashboard and both sides update automatically.

🔒 Webhook-Verified Security: Automatically protect your donation records using HMAC-signed webhook verification to ensure every status update represents real money cleared on the rails.

Visit this page to learn more.