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

# DonorPerfect Integration Overview

> Connect WeGive with DonorPerfect to automatically sync donor data, transactions, and recurring donations between platforms.

# DonorPerfect Integration Overview

WeGive's DonorPerfect integration provides seamless, bidirectional synchronization between your WeGive donation platform and DonorPerfect donor management system. This integration ensures your donor data, transactions, and recurring donations remain consistent across both platforms.

## Key Features

### Data Sync

* **Bidirectional for donors and gifts** — donors/gifts pushed from WeGive and pulled from DonorPerfect
* **Selective sync options** allow you to control which data types are synchronized

### Data Coverage

* **Donor/Constituent Management**: Individual and organization profiles
* **Transaction Processing**: One-time donations (recurring donations sync as DonorPerfect pledges, one-way push only — see below)
* **Fund Management**: GL code synchronization on push only (no fund pull)

<Note>
  There's no Campaign object sync in this integration — `DonorPerfectIntegration.php` has no campaign-related sync logic anywhere, despite a `track_campaigns` toggle existing in the dashboard.
</Note>

### Data Handling

* **Incremental syncing** via a two-pass date-column query (`created_date` then `modified_date`) for efficient data transfer
* **Duplicate-import prevention**: gifts/donors already known by their DonorPerfect ID are skipped on pull; a WeGive-originated gift is also recognized and skipped on pull via a reference-token marker, so it isn't re-imported as a duplicate
* **Anonymous gift support**: an anonymous transaction's gift narrative is annotated `(Anonymous)`
* **Error handling**: sync failures are reported to Sentry, not surfaced as customer-facing errors

<Note>
  There's no automatic retry logic and no rate limiting anywhere in this integration's code — every DonorPerfect API call is a single unretried request. This differs from several other WeGive CRM integrations that do implement retry/backoff and proactive rate-limit throttling.
</Note>

## Integration Benefits

<CardGroup>
  <Card title="Streamlined Operations" icon="approve-check">
    Eliminate manual data entry between systems and reduce administrative overhead
  </Card>

  <Card title="Data Consistency" icon="approve-check">
    Ensure donor information and transaction records are always synchronized
  </Card>

  <Card title="Enhanced Reporting" icon="star">
    Access comprehensive donation data across both platforms for better insights
  </Card>

  <Card title="Donor Experience" icon="star">
    Provide seamless giving experiences while maintaining complete records
  </Card>
</CardGroup>

## Supported Data Types

The integration synchronizes the following data types:

* **Donors**: Individual and organizational donor profiles
* **Transactions**: One-time donations and payments
* **Recurring Donations**: One-way push only, as DonorPerfect pledges (`dp_savepledge`) — no pull-back from DonorPerfect
* **Funds**: GL codes, push only (no fund pull)

<Warning>
  There is no Campaign sync of any kind in this integration, despite the dashboard exposing a "Sync Campaigns" toggle. See the note above.
</Warning>

## How It Works

1. **Setup**: Configure your API key (and optional custom instance URL) and enable the integration
2. **Data Mapping**: Fields map via a fixed, built-in correspondence — there's no customer-configurable field-mapping mechanism (see Configuration Options)
3. **Synchronization**: Donor/gift/fund pushes happen as each WeGive record is created or updated; pulls run once daily
4. **Monitoring**: Sync failures are reported to Sentry — there's no customer-facing sync-status indicator on the dashboard

## Getting Started

Ready to connect WeGive with DonorPerfect? Follow our step-by-step guides:

<CardGroup>
  <Card title="Setup Requirements" href="/external/onboarding/donorperfect/setup-requirements">
    Learn about prerequisites and configuration needs
  </Card>

  <Card title="Data Mapping" href="/external/onboarding/donorperfect/data-mapping/overview">
    Understand how data flows between systems
  </Card>
</CardGroup>

## Support

Need assistance with your DonorPerfect integration? Contact our support team at [support@wegive.com](mailto:support@wegive.com) for help with setup, troubleshooting, or customization questions.


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