Planning Center Giving SQL Queries

Transform Your Giving Data Into Ministry Impact

Your church’s generosity tells a powerful story. With Parable’s SQL access to Planning Center Giving data, you can uncover insights that help you understand your congregation’s generosity and make data-driven ministry decisions.

Quick Start

Ready to start querying your giving data? Here’s your first query to see recent donations:
-- See your most recent 10 donations
SELECT
    d.donation_id,
    d.amount_cents / 100.0 as amount,  -- Convert cents to dollars
    d.amount_currency,
    d.payment_method,
    d.received_at,
    d.created_at
FROM planning_center.giving_donations d
WHERE d.received_at IS NOT NULL
ORDER BY d.received_at DESC
LIMIT 10;

What You Can Do With Giving Queries

  • Monitor weekly, monthly, and annual giving patterns
  • Identify seasonal trends in your congregation’s generosity
  • Compare year-over-year growth

👥 Understand Your Donors

  • Segment donors by giving frequency and amount
  • Identify first-time givers for follow-up
  • Track donor retention and engagement

💰 Analyze Fund Performance

  • See which funds are meeting their goals
  • Track designated giving vs general fund
  • Monitor campaign progress with nightly updates

📈 Generate Ministry Reports

  • Create custom giving statements
  • Build dashboard metrics for leadership
  • Export data for board meetings and annual reports

Available Tables

Your Planning Center Giving data is organized into these main tables:
TableWhat It ContainsKey Use Cases
giving_donationsIndividual donation transactionsTransaction history, payment methods, amounts
giving_peopleDonor informationDonor profiles, giving units, donor numbers
giving_fundsFund definitionsFund names, descriptions, default settings
giving_designationsHow donations are allocatedFund allocation within donations
giving_batchesDonation batchesBatch processing, deposit tracking
giving_pledgesPledge commitmentsCapital campaigns, pledge tracking
giving_recurring_donationsRecurring giving setupsSubscription giving analysis

Understanding Relationships

Parable stores Planning Center relationships in a special way to maintain data integrity. Instead of foreign keys directly in tables, relationships are stored in separate relationship tables:
  • giving_donation_relationships - Links donations to people, batches, campuses
  • giving_designation_relationships - Links designations to donations
  • giving_person_relationships - Links people to campuses and other entities
Don’t worry - we’ll show you exactly how to join these tables in our examples!

Next Steps

📚 New to SQL? Start with Basic Queries for simple, powerful queries you can use today. 🚀 Ready for More? Check out Advanced Queries for complex analysis and reporting. 📊 Need Reports? See Reporting Examples for complete, production-ready reports. 🔍 Want Details? Review the Data Model for complete table documentation.

Common Questions

Why are amounts stored in cents?

Planning Center stores all monetary values in cents to avoid floating-point precision issues. Simply divide by 100 to get dollar amounts:
amount_cents / 100.0 as amount_dollars

How do I filter by date?

Use the received_at field for when donations were received, or created_at for when they were entered:
WHERE received_at >= '2024-01-01'
  AND received_at < '2025-01-01'

What’s the difference between a donation and a designation?

  • A donation is the complete transaction from a donor
  • A designation shows how that donation is split between funds
  • One donation can have multiple designations

How do I join to get donor names?

Join through the relationship table:
SELECT
    d.amount_cents / 100.0 as amount,
    p.first_name,
    p.last_name
FROM planning_center.giving_donations d
JOIN planning_center.giving_donation_relationships dr
    ON d.donation_id = dr.donation_id
    AND dr.relationship_type = 'Person'
JOIN planning_center.giving_people p
    ON dr.relationship_id = p.person_id

Getting Help

  • 🐛 Found an issue? Report it at github.com/getparable/parable-api/issues
  • 📖 Need more examples? Check our other query guides in this folder
  • 💬 Have questions? Reach out to your Parable support team

Remember: Your data tells a story. Let us help you discover it.