Back to AutomationsNonprofit

Zero-Cost CRM for Nonprofits: Automate Donor Receipts in 60 Seconds

A nonprofit automated donor receipts and communications using Google Apps Script and Stripe, eliminating manual workflows and costly CRM software.

December 26, 2025

Difficulty

Intermediate

Time Required

4-6 hours

Technologies

4 Tools

The Challenge

The nonprofit spent 15+ hours weekly on manual data entry, faced delayed tax receipts, missed donor anniversaries, and couldn’t afford \$300+/month CRM tools.

The Solution

A serverless automation pipeline was built using Stripe webhooks and Google Apps Script to generate receipts, send emails, log donations, and alert staff on major gifts.

The Outcome

Saved 20 hours per week, cut tax receipt delivery from 3 days to under 1 hour, and improved donor retention with automated anniversary messages.

Technologies Used
nonprofit donor management systemGoogle Workspace automation for nonprofitsApps Script donor trackingnonprofit communication tools Google

Zero-Cost CRM for Nonprofits: Automate Donor Receipts in 60 Seconds

5,000 Donors. $0 Software. 1-Hour Tax Receipts.

A nonprofit eliminated 20 hours of weekly admin work by building a serverless CRM with Google Apps Script and Stripe. Donations now trigger instant, personalized thank-you emails and PDF receipts—no manual entry, no paid tools. Major gifts over $1,000 alert staff immediately. Donor retention improved with automated anniversary messages.

The Pain: Manual Donor Workflows That Don’t Scale

  • 15+ hours/week copying Stripe data into spreadsheets and drafting emails
  • 2-3 day delays on tax receipts—donors complained during tax season
  • 60% of donor anniversaries missed—tracked in a shared spreadsheet
  • No major gift alerts—staff manually checked dashboards
  • $300+/month CRMs were unaffordable—would’ve cut program funding

The Fix: Serverless Pipeline, Zero Ongoing Cost

A webhook from Stripe triggers a Google Apps Script that:
→ Verifies the donation
→ Generates a branded PDF receipt
→ Sends a personalized email via Gmail
→ Logs the gift in Sheets
→ Flags gifts over $1,000 to staff
→ Checks for donor anniversaries

Total runtime: under 60 seconds. Runs entirely on Google’s free tier.

How It Works

The script splits processing: one path handles donor communication, the other manages data and lifecycle alerts. Major gifts bypass queues and notify staff instantly.

Build It: Code & Setup

Required OAuth Scopes

Add to appsscript.json:

[
  "https://www.googleapis.com/auth/script.external_request",
  "https://www.googleapis.com/auth/spreadsheets",
  "https://www.googleapis.com/auth/gmail.send",
  "https://www.googleapis.com/auth/drive"
]

Script Properties

Store securely in Script Properties:

  • STRIPE_WEBHOOK_SECRET
  • STRIPE_API_KEY (restricted, charges:read only)
  • SHEET_ID (donation log)
  • DEV_EMAIL (major gift alerts)
  • RECEIPT_TEMPLATE_ID (Google Doc template)

Core Webhook Handler

// Pseudo code for the application 
FUNCTION doPost(webhookEvent)
  TRY
    PARSE Payload
    VERIFY Stripe Signature
    
    IF Event is 'charge.succeeded':
      EXTRACT Donor Data [Name, Email, Amount, Date]
      
      IF Missing Data THEN THROW Error
      
      GENERATE Receipt PDF
      SEND Thank You Email with PDF
      
      LOG Donation to Sheets
      
      IF Amount >= 1000:
        SEND Major Gift Alert
        
    RETURN 200 OK
  CATCH Error
    LOG Error
    RETURN Error Status
END FUNCTION

Setup in 6 Steps

  1. Deploy as Web App
    Deploy > New deployment > Web app. Set "Execute as" to "Me", "Who has access" to "Anyone". Copy URL.

  2. Add Webhook in Stripe
    Developers > Webhooks. Add URL, subscribe to charge.succeeded. Store signing secret in Script Properties.

  3. Create Receipt Template
    Google Doc with {{name}}, {{amount}}, {{date}}. Store doc ID as RECEIPT_TEMPLATE_ID.

  4. Build Donation Log Sheet
    Columns: Timestamp, Donor Name, Email, Amount, Stripe ID. Share with Apps Script service account.

  5. Set Daily Anniversary Trigger
    In Apps Script, add time-driven trigger for sendAnniversaryEmails() at 9 AM daily.

  6. Test with Stripe CLI
    stripe listen --forward-to YOUR_URL + stripe trigger charge.succeeded. Check logs.

Troubleshooting

  • 401 errors? Re-deploy web app with "Anyone" access. Update Stripe within 5 minutes—old URLs expire.
  • PDF timeouts? On high-volume days, switch to batch PDF generation via time-driven trigger.
  • Hit URL fetch limit? You’ve maxed out ~20k daily calls. Cache Stripe API responses or upgrade to Google Workspace Enterprise.

Use Case 1: Small Community Growth

A local animal shelter receives dozens of micro-donations weekly but lacks the staff to manually type and mail individual tax acknowledgments. By implementing the automated system, every donor receives a personalized PDF receipt via email the moment their contribution is recorded. ROI: Saves 8 hours of administrative data entry per week.

Use Case 2: Rapid Response Disaster Relief

An international aid organization launches a sudden emergency appeal and receives over 1,000 donations within the first 48 hours. The zero-cost automation handles the massive influx of data instantly, ensuring donors are thanked while the team focuses entirely on on-the-ground relief. ROI: Reduces receipt turnaround time from 5 days to 60 seconds.

Use Case 3: Giving Tuesday High-Volume Campaigns

A small arts nonprofit participates in a 24-hour global giving day and needs to provide immediate "thank you" receipts to capitalize on donor momentum. The automated CRM ensures 100% accuracy in tax documentation without the need for additional temporary staff or expensive software licenses. ROI: Eliminates 100% of manual processing errors during peak volume.

Need This for Your Team?

We’ll customize it for your Stripe account, branding, and donor workflow—in one week. Includes a 30-Day Code Warranty: if it breaks, we fix it free.

Book a 30-minute call. Have your first test donation running by Friday.

Related Industry Guides

Donation Tracking Automation | Mereth

Automate donation tracking with Google Workspace. Record donations, generate receipts, and create financial reports automatically.

Donor Management Automation | Mereth

Automate donor management with Google Workspace. Track donations, send thank-you letters, and manage donor communications efficiently.

Need a Custom Automation Solution?

We specialize in building tailored Google Workspace automations for businesses of all sizes. Let us help you eliminate repetitive tasks and streamline your workflows.