Skip to content

Donor Data Mapping

Donor Data Mapping

This document provides comprehensive field mapping details for donor profiles between WeGive and DonorPerfect. The integration supports both individual donors and organizational donors with automatic type detection.

DonorPerfect Table Reference

Primary Table: dp (Donor Profile)
WeGive Model: DonorProfile
Sync Direction: Bidirectional (WeGive ↔ DonorPerfect)

Core Identity Fields

Primary Keys and Identification

WeGive FieldDonorPerfect FieldTypeNotes
dp_id@donor_idIntegerAuto-generated DonorPerfect ID
email_1@emailStringPrimary matching field for imports
iduser_idStringAlways set to “WeGive” for tracking

Personal Information

Name Fields

Individual Donors

For donors with donor_type = 'individual':

WeGive FieldDonorPerfect FieldTypeMax LengthRequired
first_name@first_nameString50Yes
last_name@last_nameString50Yes
middle_nameNot mappedString-No

DonorPerfect Type: Set to 'IN' (Individual)

Organizational Donors

For donors with donor_type = 'organization':

WeGive FieldDonorPerfect FieldTypeMax LengthRequired
organization_name@last_nameString50Yes
first_name@first_nameString50No

DonorPerfect Type: Set to 'CO' (Company/Organization)

Contact Information

Phone Numbers

Phone Field Mapping
WeGive FieldDonorPerfect FieldTypeFormatNotes
mobile_phone@mobile_phoneStringDigits onlyPrimary mobile number
home_phone@home_phoneStringDigits onlyResidential phone
office_phone@business_phoneStringDigits onlyWork/business phone
fax@fax_phoneStringDigits onlyFax number
Phone Number Processing

Automatic Formatting:

  • Strips all non-digit characters
  • Validates US phone number format
  • Handles international numbers as-is
  • Empty fields sync as null/empty

Email Addresses

WeGive FieldDonorPerfect FieldTypeValidationNotes
email_1@emailStringEmail formatPrimary email, required for sync
email_2Not mappedString-Secondary emails not synced

Address Information

Mailing Address Mapping

The integration maps the primary mailing address from WeGive to DonorPerfect:

WeGive FieldDonorPerfect FieldTypeMax LengthNotes
mailingAddress.address_1@addressString50Primary address line
mailingAddress.address_2@address2String50Secondary address line
mailingAddress.city@cityString30City name
mailingAddress.state@stateString2State/province code
mailingAddress.zip@zipString20Postal/ZIP code
mailingAddress.country@countryString3Always set to “US”

Address Validation

Address Processing Rules

Automatic Handling:

  • Long address lines are truncated to field limits
  • Empty address components sync as null
  • Address standardization applied where possible
  • Full address required for complete sync
Missing Address Handling

Partial Address Sync:

  • Donors without complete addresses still sync
  • Available address components are mapped
  • Missing fields left empty in DonorPerfect
  • No validation errors for incomplete addresses

Data Flow Patterns

WeGive to DonorPerfect (Export)

  1. Donor Creation
  2. New WeGive donors automatically create DonorPerfect records
  3. Profile Updates
  4. Changes to WeGive donor profiles sync to DonorPerfect
  5. Type Detection
  6. Donor type (individual vs. organization) automatically mapped
  7. ID Assignment
  8. DonorPerfect assigns new donor ID, stored back in WeGive

DonorPerfect to WeGive (Import)

  1. Email Matching
  2. Existing DonorPerfect donors matched by email address
  3. Profile Import
  4. Contact and address information imported to WeGive
  5. Type Mapping
  6. DonorPerfect donor types converted to WeGive format
  7. Relationship Linking
  8. DonorPerfect ID stored for future synchronization

API Operations

DonorPerfect API Actions

Create/Update Donor

Action: dp_savedonor

Required Parameters:

  • @donor_id (for updates, empty for new)
  • @first_name and @last_name (individuals)
  • @last_name (organizations)
  • @email (required)
  • @donor_type (‘IN’ or ‘CO’)
  • @user_id (set to “WeGive”)
Query Donors

SQL Query Example:

SELECT donor_id, first_name, last_name, email,
address, city, state, zip, mobile_phone, home_phone
FROM dp
WHERE email IS NOT NULL
AND email != ''
AND created_date >= 'YYYY-MM-DD'
ORDER BY donor_id

Error Handling

Error TypeCauseResolution
Missing EmailDonor has no email addressSkip record, log warning
Invalid EmailEmail format validation failsCorrect format and retry
Duplicate EmailEmail already exists in DonorPerfectUpdate existing record
Field Too LongText exceeds DonorPerfect limitsTruncate and sync
API TimeoutLarge batch processingReduce batch size, retry

Data Quality Considerations

Best Practices

Before Sync

  • Validate all email addresses
    • Standardize name formatting
    • Clean duplicate records
    • Review address information

Ongoing Maintenance

  • Monitor sync error logs
    • Update invalid email addresses
    • Resolve duplicate conflicts
    • Maintain address accuracy

Data Validation Rules

Required Field Validation

Before Sync Checks:

  • Email address format and uniqueness
  • Name fields populated appropriately
  • Donor type correctly identified
  • Required fields not empty
Data Quality Checks

Automatic Corrections:

  • Email format standardization
  • Phone number cleaning
  • Name case correction
  • Address standardization

Sync Status and Monitoring

Integration Status Fields

WeGive FieldPurposeValues
dp_idDonorPerfect donor IDInteger or null
synced_atLast sync timestampDateTime or null
sync_statusCurrent sync state’pending’, ‘synced’, ‘error’

Monitoring Dashboard

The WeGive Dashboard provides real-time sync status:

  • Sync Success Rate: Percentage of successful donor syncs
  • Error Summary: Common error types and counts
  • Last Sync Time: Most recent successful synchronization
  • Pending Records: Number of donors awaiting sync

Advanced Configuration

Custom Field Mapping

Selective Sync Options

Configure which donor data synchronizes:

  • New Donors Only: Sync only newly created donors
  • All Updates: Sync all donor profile changes
  • Contact Info Only: Sync contact details, skip address
  • Custom Filter: Define specific sync criteria

Troubleshooting

Common Issues

Donors Not Syncing

Possible Causes:

  • Missing or invalid email addresses
  • Donor sync disabled in configuration
  • API authentication issues
  • DonorPerfect permissions problems

Solutions:

  • Verify email address validity
  • Check integration configuration
  • Test API credentials
  • Review DonorPerfect user permissions
Duplicate Donor Records

Possible Causes:

  • Multiple donors with same email
  • Case sensitivity in email matching
  • Previous sync interruptions

Solutions:

  • Clean duplicate emails before sync
  • Review email standardization
  • Re-sync with cleaned data
Address Information Missing

Possible Causes:

  • Incomplete address data in WeGive
  • Field length limitations in DonorPerfect
  • Address validation failures

Solutions:

  • Complete address information
  • Review field length limits
  • Manually correct problematic addresses

For additional help with donor data mapping, contact our support team at support@wegive.com.