Fund Data Mapping
This document details how WeGive funds are mapped to DonorPerfect GL codes, enabling proper fund designation and financial reporting across both systems.DonorPerfect Table Reference
Primary Table:dpcode (Code Tables)WeGive Model:
FundSync Direction: WeGive → DonorPerfect (Push Only)
Fund Integration Overview
GL Code Management
Fund to GL Code Mapping
Fund to GL Code Mapping
Mapping Strategy:
- Each WeGive fund can have an associated DonorPerfect GL code
- GL codes are automatically created in DonorPerfect for new funds
- Existing GL codes are updated when fund information changes
- Fund descriptions sync to GL code descriptions
Code Table Structure
Code Table Structure
DonorPerfect Code Types:
- Field Name: ‘GL_CODE’ (General Ledger codes)
- Code Value: WeGive fund ID or custom code
- Description: WeGive fund name/description
- User ID: ‘WeGive’ for tracking integration records
Core Fund Fields
Primary Identifiers
Fund Identification
Fund Identification
| WeGive Field | DonorPerfect Field | Type | Notes |
|---|---|---|---|
id | @code | String | WeGive fund ID used as GL code |
name | @description | String | Fund name/description |
| N/A | @field_name | String | Always set to ‘GL_CODE’ |
| N/A | @user_id | String | Always set to ‘WeGive’ |
Custom GL Codes
Custom GL Codes
Alternative Mapping:
- Some funds may have custom DonorPerfect GL codes
- Custom codes stored in
dp_gl_codefield on WeGive fund - Integration uses custom code if available, otherwise uses fund ID
- Enables alignment with existing DonorPerfect chart of accounts
Fund Information
Descriptive Fields
Descriptive Fields
| WeGive Field | DonorPerfect Field | Type | Max Length | Notes |
|---|---|---|---|---|
name | @description | String | 50 | Fund display name |
description | Not mapped | String | - | Extended description not synced |
category | Not mapped | String | - | Fund categories not synced |
Field Length Handling
Field Length Handling
Truncation Rules:
- Fund names longer than 50 characters are automatically truncated
- Truncation preserves word boundaries where possible
- Ellipsis (…) added to indicate truncated names
- Full names maintained in WeGive system
GL Code Creation Process
Automatic GL Code Generation
GL Code Update Process
Fund Name Changes
Fund Name Changes
Update Workflow:
- WeGive fund name change triggers GL code update
- DonorPerfect GL code description updated automatically
- Historical transactions retain original descriptions
- New transactions use updated fund names
Fund Status Changes
Fund Status Changes
Active/Inactive Status:
- WeGive fund deactivation doesn’t delete GL codes
- GL codes remain available for historical reporting
- New transactions prevented for inactive funds
- Reactivation restores full functionality
Data Flow Patterns
Fund Synchronization
New Fund Processing
New Fund Processing
Creation Sequence:
- WeGive fund created by administrator
- Integration detects new fund
- GL code created in DonorPerfect dpcode table
- Success confirmation stored in WeGive
- Fund available for transaction designation
Existing Fund Updates
Existing Fund Updates
Modification Handling:
- Fund name changes sync to GL code descriptions
- Fund category changes don’t sync (not supported)
- Fund deactivation preserves GL code but prevents new use
- Fund reactivation restores full GL code functionality
Transaction Integration
Fund Designation in Transactions
Fund Designation in Transactions
Usage Pattern:
- Donations specify WeGive fund for designation
- Integration maps fund to appropriate GL code
- Transaction syncs to DonorPerfect with GL code
- Fund reporting available in both systems
GL Code Validation
GL Code Validation
Pre-Transaction Checks:
- Verify GL code exists before transaction sync
- Create GL code if missing (automatic)
- Validate fund is active and available
- Ensure proper permissions for GL code use
API Operations
DonorPerfect GL Code Management
dp_savecode Action
dp_savecode Action
Required Parameters:
GL Code Query
GL Code Query
SQL Query Example:
Error Handling
| Error Type | Cause | Resolution |
|---|---|---|
| Duplicate Code | GL code already exists | Use existing code or create variant |
| Invalid Characters | GL code contains invalid characters | Clean code format and retry |
| Code Too Long | GL code exceeds DonorPerfect limits | Truncate or use alternative code |
| Permission Error | Insufficient rights to create codes | Verify API permissions |
| API Timeout | DonorPerfect API unavailable | Retry with backoff delay |
Fund Configuration
WeGive Fund Setup
Basic Fund Configuration
Basic Fund Configuration
Required Fields:
- Fund name (required, becomes GL code description)
- Fund status (active/inactive)
- Organization assignment
- Custom DonorPerfect GL code (
dp_gl_code) - Fund description (extended, doesn’t sync)
- Fund category (internal use only)
Custom GL Code Assignment
Custom GL Code Assignment
When to Use Custom Codes:
- Aligning with existing DonorPerfect chart of accounts
- Meeting specific accounting requirements
- Maintaining consistent numbering schemes
- Supporting multi-organization structures
- Determine appropriate GL code in DonorPerfect
- Set
dp_gl_codefield in WeGive fund - Integration uses custom code instead of fund ID
- Verify code availability and permissions
DonorPerfect GL Code Requirements
Code Format Standards
Code Format Standards
DonorPerfect Limitations:
- Maximum length: varies by DonorPerfect configuration
- Allowed characters: typically alphanumeric and dashes
- Case sensitivity: depends on DonorPerfect settings
- Special characters: limited support
Code Organization
Code Organization
Best Practices:
- Use consistent numbering schemes
- Group related funds with similar prefixes
- Maintain alignment with accounting standards
- Document GL code purposes and usage
Sync Configuration
Fund Sync Settings
Automatic Sync Triggers
Automatic Sync Triggers
Sync Events:
- New fund created in WeGive
- Fund name changed
- Fund status modified (active/inactive)
- Custom GL code assigned or changed
Sync Timing
Sync Timing
Processing Schedule:
- Real-time: New funds and critical changes sync immediately
- Batch: Name updates and status changes sync every 15 minutes
- Manual: Force sync available through dashboard
- Validation: Pre-transaction GL code verification
Performance Considerations
Efficient Processing
- Batch GL code creation for multiple funds
- Cached GL code validation for transactions
- Minimal API calls for existing codes
- Optimized query performance
Error Recovery
- Automatic retry for failed GL code creation
- Alternative code generation for conflicts
- Manual override options for complex cases
- Comprehensive error logging and alerts
Data Quality and Validation
Pre-Sync Validation
Fund Validation Rules
Fund Validation Rules
Quality Checks:
- Fund name is not empty
- Fund name length within limits
- GL code format is valid
- No duplicate GL codes
- Proper organization assignment
GL Code Standards
GL Code Standards
Format Validation:
- Alphanumeric characters only
- Appropriate length for DonorPerfect
- No conflicting existing codes
- Consistent with organizational standards
Monitoring and Reporting
Fund Sync Status
Fund Sync Status
Dashboard Metrics:
- Total funds synced to DonorPerfect
- GL code creation success rate
- Recent sync errors and resolutions
- Fund-to-transaction mapping accuracy
Financial Reporting
Financial Reporting
Reporting Consistency:
- Fund designation accuracy across systems
- GL code usage in transaction reports
- Fund performance comparisons
- Donation attribution verification
Best Practices
Fund Management
Integration Optimization
Proactive Management
- Create funds before launching campaigns
- Test GL code creation in development
- Plan for fund lifecycle management
- Document fund purposes and usage
Error Prevention
- Validate fund names before creation
- Check for duplicate GL codes
- Maintain consistent naming conventions
- Review DonorPerfect GL code standards
Troubleshooting
Common Fund Sync Issues
GL Codes Not Creating
GL Codes Not Creating
Possible Causes:
- Fund sync disabled in configuration
- API permission issues
- Invalid fund name or format
- DonorPerfect connection problems
- Verify fund sync settings enabled
- Check API credentials and permissions
- Validate fund name format
- Test DonorPerfect API connectivity
Duplicate GL Code Errors
Duplicate GL Code Errors
Possible Causes:
- GL code already exists in DonorPerfect
- Multiple funds using same custom code
- Case sensitivity conflicts
- Check existing GL codes in DonorPerfect
- Use unique codes for each fund
- Verify case sensitivity settings
Transaction GL Code Errors
Transaction GL Code Errors
Possible Causes:
- GL code missing from DonorPerfect
- Fund inactive or deleted
- GL code format issues
- Verify GL code exists and is active
- Check fund status in WeGive
- Validate GL code format requirements
Limitations and Considerations
Known Limitations
Field Mapping Limitations
Field Mapping Limitations
Unsupported Fields:
- Extended fund descriptions don’t sync
- Fund categories not mapped to DonorPerfect
- Fund hierarchies not supported
- Custom fund attributes don’t sync
GL Code Constraints
GL Code Constraints
DonorPerfect Limitations:
- Character limits vary by configuration
- Special character restrictions
- Case sensitivity depends on settings
- Deletion restrictions for codes in use
Future Considerations
Enhanced Fund Mapping
Enhanced Fund Mapping
Potential Improvements:
- Support for fund hierarchies
- Extended description mapping
- Fund category synchronization
- Custom attribute mapping
Advanced GL Code Features
Advanced GL Code Features
Possible Enhancements:
- Automatic code numbering schemes
- Fund consolidation capabilities
- Advanced reporting integration
- Multi-dimensional fund tracking
Related Documentation
Transaction Mapping
How GL codes are used in transaction processing
Configuration Guide
Configure fund sync settings
Integration Nuances
Platform-specific fund handling behaviors
Data Overview
Complete data mapping documentation