Transaction Data Mapping
This document details how donation transactions are mapped between WeGive and DonorPerfect, including one-time gifts, recurring donations, and tribute gifts.DonorPerfect Table Reference
Primary Table:dpgift (Gift Records)WeGive Model:
TransactionSync Direction: WeGive → DonorPerfect (Push Only)
Core Transaction Fields
Primary Identifiers
Gift Identification
Gift Identification
Transaction Linking
Transaction Linking
- Each WeGive transaction creates one DonorPerfect gift record
- Donor must exist in DonorPerfect before transaction sync
- Automatic donor creation if donor doesn’t exist
- Gift ID stored back in WeGive for future reference
Financial Information
Amount Processing
Amount Calculation Examples
Standard Donation
Standard Donation
- Amount: $100.00 (10000 cents)
- Fee: $2.90 (290 cents)
- Amount: $97.10 ((10000 - 290) / 100)
Fee-Covered Donation
Fee-Covered Donation
- Amount: $100.00 (10000 cents)
- Fee: $0.00 (0 cents, donor covered fee)
- Amount: $100.00 ((10000 - 0) / 100)
Date and Timing
Fund and Campaign Attribution
Fund Designation
Fund Mapping
Fund Mapping
GL Code Requirements
GL Code Requirements
- WeGive funds must have associated DonorPerfect GL codes
- GL codes must exist in DonorPerfect before transaction sync
- Automatic GL code creation for new WeGive funds
- Fund names sync to GL code descriptions
Gift Types and Classifications
Recurring Donation Handling
Scheduled Donations
Scheduled Donations
- Regular donations:
@pledge_payment = 'N' - Recurring donations:
@pledge_payment = 'Y' - Links to pledge record in DonorPerfect
Recurring Gift Integration
Recurring Gift Integration
- Scheduled donation creates pledge in DonorPerfect
- Individual payments reference pledge record
- Payment status tracked in both systems
- Pledge modifications sync automatically
Tribute and Memorial Gifts
Tribute Information
Tribute Information
Tribute Processing
Tribute Processing
- Only tribute name syncs to DonorPerfect
- Tribute type (honor vs. memorial) not distinguished
- Empty tribute fields sync as null
- Tribute notifications handled separately
Gift Narrative and Notes
Automatic Gift Description
Standard Gift Narrative
Standard Gift Narrative
Gift Narrative Examples
Gift Narrative Examples
Data Flow Process
Transaction Sync Workflow
Transaction Created
Donor Validation
Amount Calculation
Gift Record Creation
ID Assignment
Error Handling
API Operations
DonorPerfect Gift Creation
dp_savegift Action
dp_savegift Action
Optional Parameters
Optional Parameters
Query Operations
Gift Lookup
Gift Lookup
Sync Configuration
Transaction Sync Settings
Sync Triggers
Sync Triggers
- New transaction created in WeGive
- Transaction status changes (completed, failed, refunded)
- Recurring donation payment processed
- Fund designation changes
Sync Timing
Sync Timing
- Real-time: New donations sync immediately
- Batch Processing: Failed transactions retry every 15 minutes
- Manual Sync: Available through dashboard
- Error Recovery: Exponential backoff for failures
Performance Considerations
High Volume Processing
- Batch processing for multiple transactions
- Rate limiting to prevent API overload
- Queue management for peak periods
- Automatic retry for failed syncs
Error Recovery
- Failed transactions automatically retry
- Exponential backoff prevents system overload
- Manual retry options in dashboard
- Comprehensive error logging
Data Quality and Validation
Pre-Sync Validation
Required Field Checks
Required Field Checks
- Donor ID must exist in DonorPerfect
- Transaction amount must be positive
- Fund GL code must be valid
- Date must be in correct format
- Currency code must be recognized
Data Quality Checks
Data Quality Checks
- Date format standardization
- Amount precision correction
- GL code validation and creation
- Donor profile auto-creation
Monitoring and Reporting
Sync Status Tracking
Sync Status Tracking
- Transaction sync success rate
- Average sync processing time
- Error rate and common failure types
- Pending transaction queue status
Financial Reconciliation
Financial Reconciliation
- Total amount comparisons
- Fee calculation verification
- Fund distribution accuracy
- Currency conversion validation
Troubleshooting
Common Transaction Sync Issues
Transactions Not Syncing
Transactions Not Syncing
- Transaction sync disabled in configuration
- Donor missing from DonorPerfect
- Invalid fund GL code
- API authentication problems
- Verify sync configuration enabled
- Check donor sync status
- Validate fund GL code setup
- Test API credentials
Incorrect Amounts
Incorrect Amounts
- Fee calculation errors
- Currency conversion issues
- Rounding precision problems
- Review fee configuration
- Check currency settings
- Verify amount calculation logic
Missing Tribute Information
Missing Tribute Information
- Tribute name exceeds field length
- Special characters in tribute name
- Tribute type not supported
- Truncate long tribute names
- Remove special characters
- Use tribute name field only