Skip to main content

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

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

Integration Benefits

Streamlined Operations

Eliminate manual data entry between systems and reduce administrative overhead

Data Consistency

Ensure donor information and transaction records are always synchronized

Enhanced Reporting

Access comprehensive donation data across both platforms for better insights

Donor Experience

Provide seamless giving experiences while maintaining complete records

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)
There is no Campaign sync of any kind in this integration, despite the dashboard exposing a “Sync Campaigns” toggle. See the note above.

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:

Setup Requirements

Learn about prerequisites and configuration needs

Data Mapping

Understand how data flows between systems

Support

Need assistance with your DonorPerfect integration? Contact our support team at [email protected] for help with setup, troubleshooting, or customization questions.