Transaction Data Mapping
Detailed field mapping for transactions and gifts between WeGive and DonorPerfect systems.
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: Transaction
Sync Direction: WeGive → DonorPerfect (Push Only)
Core Transaction Fields
Primary Identifiers
Gift Identification
Gift Identification
WeGive Field | DonorPerfect Field | Type | Notes |
---|---|---|---|
dp_id | @gift_id | Integer | Auto-generated DonorPerfect gift ID |
owner.dp_id | @donor_id | Integer | Links to donor record |
N/A | @record_type | String | Always set to ‘G’ (Gift) |
N/A | @user_id | String | Always set to ‘WeGive’ |
Transaction Linking
Transaction Linking
Relationship Mapping:
- 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
Critical: WeGive stores amounts in cents (integer), DonorPerfect uses dollars (decimal). Automatic conversion and fee handling applied.
WeGive Field | DonorPerfect Field | Calculation | Notes |
---|---|---|---|
amount | @amount | (amount - fee) / 100 | Net donation amount in dollars |
fee | Not directly mapped | Used in calculation | Processing fee deducted |
destination.currency | @currency | Direct mapping | Currency code (e.g., ‘USD’) |
Amount Calculation Examples
Standard Donation
Standard Donation
WeGive Transaction:
- Amount: $100.00 (10000 cents)
- Fee: $2.90 (290 cents)
DonorPerfect Gift:
- Amount: $97.10 ((10000 - 290) / 100)
Fee-Covered Donation
Fee-Covered Donation
WeGive Transaction:
- Amount: $100.00 (10000 cents)
- Fee: $0.00 (0 cents, donor covered fee)
DonorPerfect Gift:
- Amount: $100.00 ((10000 - 0) / 100)
Date and Timing
WeGive Field | DonorPerfect Field | Format | Notes |
---|---|---|---|
created_at | @gift_date | MM/DD/YYYY | Transaction processing date |
Date Format: DonorPerfect requires MM/DD/YYYY format. Other formats will cause sync failures.
Fund and Campaign Attribution
Fund Designation
Fund Mapping
Fund Mapping
WeGive Field | DonorPerfect Field | Type | Notes |
---|---|---|---|
fund.dp_gl_code | @gl_code | String | DonorPerfect GL code for fund |
fund.name | Not directly mapped | String | Description in GL code table |
GL Code Requirements
GL Code Requirements
Fund Setup 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
WeGive Field | DonorPerfect Field | Value | Notes |
---|---|---|---|
scheduled_donation_id | @pledge_payment | ’Y’ or ‘N' | 'Y’ if part of recurring gift |
Logic:
- Regular donations:
@pledge_payment = 'N'
- Recurring donations:
@pledge_payment = 'Y'
- Links to pledge record in DonorPerfect
Recurring Gift Integration
Recurring Gift Integration
Process Flow:
- 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
WeGive Field | DonorPerfect Field | Type | Max Length | Notes |
---|---|---|---|---|
tribute_name | @memory_honor | String | 50 | In honor/memory of name |
tribute_type | Not mapped | String | - | Honor vs. memorial not distinguished |
Tribute Processing
Tribute Processing
Mapping Rules:
- 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
WeGive Field | DonorPerfect Field | Value | Notes |
---|---|---|---|
Generated | @gift_narrative | ”Online gift through WeGive” | Standard description |
anonymous | @gift_narrative | ”+ (Anonymous)“ | Added if anonymous gift |
Gift Narrative Examples
Gift Narrative Examples
Regular Gift:
Anonymous Gift:
Tribute Gift:
Data Flow Process
Transaction Sync Workflow
Transaction Created
New donation processed in WeGive system
Donor Validation
Verify donor exists in DonorPerfect (create if needed)
Amount Calculation
Calculate net amount after fee deduction
Gift Record Creation
Create gift record in DonorPerfect dpgift table
ID Assignment
Store DonorPerfect gift ID back in WeGive
Error Handling
Transaction Sync Errors: Failed transactions are automatically retried with exponential backoff.
Error Type | Cause | Resolution |
---|---|---|
Invalid Donor | Donor doesn’t exist in DonorPerfect | Auto-create donor, retry transaction |
Invalid GL Code | Fund GL code not found | Create GL code, retry transaction |
Amount Validation | Negative or zero amount | Skip transaction, log error |
Date Format | Invalid date format | Correct format, retry |
API Timeout | DonorPerfect API unavailable | Retry with backoff delay |
API Operations
DonorPerfect Gift Creation
dp_savegift Action
dp_savegift Action
Required Parameters:
Optional Parameters
Optional Parameters
Additional Fields:
Query Operations
Gift Lookup
Gift Lookup
SQL Query Example:
Sync Configuration
Transaction Sync Settings
Sync Triggers
Sync Triggers
Automatic Sync Events:
- New transaction created in WeGive
- Transaction status changes (completed, failed, refunded)
- Recurring donation payment processed
- Fund designation changes
Sync Timing
Sync Timing
Processing Schedule:
- 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
Validation Rules:
- 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
Automatic Corrections:
- Date format standardization
- Amount precision correction
- GL code validation and creation
- Donor profile auto-creation
Monitoring and Reporting
Sync Status Tracking
Sync Status Tracking
Dashboard Metrics:
- Transaction sync success rate
- Average sync processing time
- Error rate and common failure types
- Pending transaction queue status
Financial Reconciliation
Financial Reconciliation
Accuracy Verification:
- Total amount comparisons
- Fee calculation verification
- Fund distribution accuracy
- Currency conversion validation
Troubleshooting
Common Transaction Sync Issues
Transactions Not Syncing
Transactions Not Syncing
Possible Causes:
- Transaction sync disabled in configuration
- Donor missing from DonorPerfect
- Invalid fund GL code
- API authentication problems
Solutions:
- Verify sync configuration enabled
- Check donor sync status
- Validate fund GL code setup
- Test API credentials
Incorrect Amounts
Incorrect Amounts
Possible Causes:
- Fee calculation errors
- Currency conversion issues
- Rounding precision problems
Solutions:
- Review fee configuration
- Check currency settings
- Verify amount calculation logic
Missing Tribute Information
Missing Tribute Information
Possible Causes:
- Tribute name exceeds field length
- Special characters in tribute name
- Tribute type not supported
Solutions:
- Truncate long tribute names
- Remove special characters
- Use tribute name field only
Related Documentation
Donor Mapping
Learn how donor records are synchronized
Recurring Donations
Understand recurring gift and pledge mapping
Fund Management
GL code and fund designation mapping
Configuration Guide
Configure transaction sync settings
For additional help with transaction data mapping, contact our support team at [email protected].