> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getparable.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

# 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:

```sql theme={null}
-- 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

### 📊 Track Giving Trends

* 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:

| Table                        | What It Contains                 | Key Use Cases                                 |
| ---------------------------- | -------------------------------- | --------------------------------------------- |
| `giving_donations`           | Individual donation transactions | Transaction history, payment methods, amounts |
| `giving_people`              | Donor information                | Donor profiles, giving units, donor numbers   |
| `giving_funds`               | Fund definitions                 | Fund names, descriptions, default settings    |
| `giving_designations`        | How donations are allocated      | Fund allocation within donations              |
| `giving_batches`             | Donation batches                 | Batch processing, deposit tracking            |
| `giving_pledges`             | Pledge commitments               | Capital campaigns, pledge tracking            |
| `giving_recurring_donations` | Recurring giving setups          | Subscription 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](/planning-center/giving/basic-queries) for simple, powerful queries you can use today.

🚀 **Ready for More?** Check out [Advanced Queries](/planning-center/giving/advanced-queries) for complex analysis and reporting.

📊 **Need Reports?** See [Reporting Examples](/planning-center/giving/reporting-examples) for complete, production-ready reports.

🔍 **Want Details?** Review the [Data Model](/planning-center/giving/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:

```sql theme={null}
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:

```sql theme={null}
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:

```sql theme={null}
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](https://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.*
