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

# Introduction to Planning Center

> Learn about Planning Center and how it integrates with the WeGive donor management platform

# Planning Center Overview

Planning Center is a comprehensive church management platform that provides tools for managing people, donations, events, and communications. The WeGive integration focuses on the People and Giving modules, providing seamless bidirectional synchronization between your WeGive donation platform and Planning Center's donor management system.

## Key Features

* **People Management**: Comprehensive contact and member profiles with detailed information
* **Giving Management**: Advanced donation tracking and fund management
* **Batch Processing**: Organized donation batches for accounting and reporting
* **Fund Designations**: Detailed fund categories and designation tracking
* **Recurring Gifts**: Automated recurring donation management
* **Communication Integration**: Contact information synchronization for unified communications
* **Reporting & Analytics**: Comprehensive giving analytics and donor insights

## Integration with WeGive

The WeGive Planning Center integration provides:

* **Bidirectional Data Sync**: Donors push in real-time; transactions sync only via the daily batch job — there's no real-time transaction push for this integration
* **Dual Authentication**: Support for both OAuth 2.0 and legacy (App ID/Secret) authentication methods
* **Automatic Donor Management**: Seamless contact creation and updates
* **Transaction Batch Processing**: Organized gift import with proper accounting structure
* **Fund Synchronization**: Consistent fund structures across platforms
* **Comprehensive Logging**: Complete audit trail of all integration activities

## Planning Center Services

The WeGive integration connects with specific Planning Center modules:

### People (Contact Management)

* **Contact Records**: Individual contact information
* **Communication Details**: Email addresses, phone numbers, and addresses

### Giving (Donation Management)

* **Donations**: Individual gift records with payment details
* **Batches**: Organized groups of donations for accounting purposes (a single recurring "WeGive" batch, found or created per run)
* **Funds**: Giving categories and designation options
* **Payment Sources**: A single "WeGive" payment source, found or created automatically — not a general payment-method-tracking feature
* **Designations**: Each donation gets exactly one fund designation — split/multi-fund gifts aren't supported

<Note>
  There's no household/family-relationship sync, no contact-notes sync, and no recurring-gift object sync in this integration — those aren't implemented in the current codebase.
</Note>

## Authentication Methods

The integration supports two authentication approaches:

### OAuth 2.0 (Recommended)

* **Secure Authentication**: Industry-standard OAuth 2.0 flow
* **Automatic Token Refresh**: Seamless token management
* **Granular Permissions**: Specific scope permissions ('people giving')
* **Enhanced Security**: No need to store sensitive credentials

### Legacy Authentication

* **App ID/Secret**: Basic authentication using application credentials
* **Direct API Access**: Simple credential-based authentication
* **Backward Compatibility**: Support for existing implementations

## Getting Started

To begin using the WeGive Planning Center Integration:

1. Review the [Setup Requirements](/external/onboarding/planning-center/setup-requirements)
2. Configure your [Integration Settings](/external/onboarding/planning-center/configuration-options)
3. Understand the [Integration Nuances](/external/onboarding/planning-center/integration-nuances)
4. Review the [Data Mapping](/external/onboarding/planning-center/data-mapping/overview) documentation

## Core Objects

The following Planning Center objects are central to the WeGive integration:

### People Module Objects

* **Person**: Individual contact records with personal information
* **Email**: Up to 3 email address records linked to a person
* **PhoneNumber**: Up to 2 phone number records linked to a person
* **Address**: Physical address information for contacts

### Giving Module Objects

* **Donation**: Individual gift records with amount and date
* **Batch**: A single recurring "WeGive" batch that donations are added to
* **Fund**: Giving categories and designation options
* **PaymentSource**: A single "WeGive" payment source, found or created automatically
* **Designation**: One fund allocation per donation — no split-gift support

## Integration Architecture

The integration utilizes:

* **Planning Center API v2**: RESTful API for both People and Giving modules
* **Rate Limiting**: Proactive throttling — the integration sleeps for 20 seconds after every 70 requests, rather than only reacting to a 429
* **Batch Processing**: Daily scheduled batch job for transactions (8:01 AM)
* **Real-time Donor Push**: Donor create/update pushes immediately; transactions do not — they wait for the daily batch
* **Error Recovery**: Automatic retry logic; a batch-level failure deletes the partial Planning Center batch and clears any `planning_center_id`s set during that run, so a failed run doesn't leave orphaned partial state

## Batch Processing Features

### WeGive Import Batches

* **Automatic Batch Creation**: Daily batches organized by date
* **Batch Commitment**: Automatic processing after successful import
* **Rollback Capability**: Error recovery with transaction rollback
* **Audit Trail**: Complete tracking of batch processing

### Scheduled Operations

* **Daily Sync**: Automated daily synchronization at 8:01 AM
* **Incremental Updates**: Efficient processing of new and changed data
* **Missing Batch Recovery**: Automatic detection and creation of missing batches
* **Performance Optimization**: Intelligent batching for large data volumes

## Best Practices

When working with the Planning Center integration:

* **Authentication Choice**: Use OAuth 2.0 for new implementations
* **Data Quality**: Maintain clean, consistent data across both platforms
* **Batch Monitoring**: Review daily batch processing for any issues
* **Fund Management**: Ensure proper fund setup and default fund configuration
* **Regular Monitoring**: Review integration logs for any sync issues
* **Test Thoroughly**: Always test configuration changes in a safe environment

## Data Flow Considerations

### Fund Assignment Logic

* **Specific Funds**: Use designated funds when specified
* **Default Fund**: Fallback to configured default fund when needed
* **Fund Creation**: Automatic fund creation in Planning Center for a WeGive fund that hasn't been pushed yet

### Contact Management

* **Duplicate Prevention**: Matching is by `planning_center_id` only, protected by a per-donor lock during creation — there's no email or name-based matching
* **Contact Information**: Up to 3 emails and 2 phone numbers sync per contact
* **Contact Updates**: Bidirectional updates for contact information changes

## Performance and Scalability

### API Rate Limiting

* **Respectful Usage**: Automatic rate limiting compliance
* **Batch Optimization**: Efficient use of API calls through batching
* **Retry Logic**: Intelligent retry with exponential backoff
* **Performance Monitoring**: Real-time tracking of API usage

### Large Data Handling

* **Incremental Sync**: Process only changed data when possible
* **Batch Processing**: Organize large operations into manageable batches
* **Background Jobs**: Use queue system for time-intensive operations
* **Progress Tracking**: Monitor sync progress for large datasets

## Support and Resources

* [Planning Center API Documentation](https://developer.planning.center/)
* [Planning Center Support](https://planningcenter.com/support)
* WeGive Support: [support@wegive.com](mailto:support@wegive.com)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.