Skip to content

Fund Data Mapping

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: Fund
Sync Direction: WeGive → DonorPerfect (Push Only)

Fund Integration Overview

GL Code Management

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

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
WeGive FieldDonorPerfect FieldTypeNotes
id@codeStringWeGive fund ID used as GL code
name@descriptionStringFund name/description
N/A@field_nameStringAlways set to ‘GL_CODE’
N/A@user_idStringAlways set to ‘WeGive’
Custom GL Codes

Alternative Mapping:

  • Some funds may have custom DonorPerfect GL codes
  • Custom codes stored in dp_gl_code field 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
WeGive FieldDonorPerfect FieldTypeMax LengthNotes
name@descriptionString50Fund display name
descriptionNot mappedString-Extended description not synced
categoryNot mappedString-Fund categories not synced
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

  1. Fund Created in WeGive
  2. New fund established in WeGive system
  3. GL Code Check
  4. Integration checks if GL code exists in DonorPerfect
  5. Code Creation
  6. Creates new GL code if it doesn’t exist
  7. Description Sync
  8. Updates GL code description with fund name
  9. Validation
  10. Confirms GL code is available for transaction use

GL Code Update Process

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

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

Creation Sequence:

  1. WeGive fund created by administrator
  2. Integration detects new fund
  3. GL code created in DonorPerfect dpcode table
  4. Success confirmation stored in WeGive
  5. Fund available for transaction designation
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

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

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

Required Parameters:

@field_name = 'GL_CODE'
@code (fund ID or custom GL code)
@description (fund name)
@user_id = 'WeGive'
GL Code Query

SQL Query Example:

SELECT field_name, code, description
FROM dpcode
WHERE field_name = 'GL_CODE'
AND user_id = 'WeGive'
ORDER BY code

Error Handling

Error TypeCauseResolution
Duplicate CodeGL code already existsUse existing code or create variant
Invalid CharactersGL code contains invalid charactersClean code format and retry
Code Too LongGL code exceeds DonorPerfect limitsTruncate or use alternative code
Permission ErrorInsufficient rights to create codesVerify API permissions
API TimeoutDonorPerfect API unavailableRetry with backoff delay

Fund Configuration

WeGive Fund Setup

Basic Fund Configuration

Required Fields:

  • Fund name (required, becomes GL code description)
  • Fund status (active/inactive)
  • Organization assignment

Optional Fields:

  • Custom DonorPerfect GL code (dp_gl_code)
  • Fund description (extended, doesn’t sync)
  • Fund category (internal use only)
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

Configuration Process:

  1. Determine appropriate GL code in DonorPerfect
  2. Set dp_gl_code field in WeGive fund
  3. Integration uses custom code instead of fund ID
  4. Verify code availability and permissions

DonorPerfect GL Code Requirements

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

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

Sync Events:

  • New fund created in WeGive
  • Fund name changed
  • Fund status modified (active/inactive)
  • Custom GL code assigned or changed
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

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

Format Validation:

  • Alphanumeric characters only
  • Appropriate length for DonorPerfect
  • No conflicting existing codes
  • Consistent with organizational standards

Monitoring and Reporting

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

Reporting Consistency:

  • Fund designation accuracy across systems
  • GL code usage in transaction reports
  • Fund performance comparisons
  • Donation attribution verification

Best Practices

Fund Management

  1. Plan GL Code Structure
  2. Design consistent numbering scheme before creating funds
  3. Use Descriptive Names
  4. Create clear, concise fund names within character limits
  5. Maintain Active Status
  6. Regularly review and update fund statuses as needed
  7. Monitor Sync Status
  8. Check integration dashboard for GL code sync issues

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

Possible Causes:

  • Fund sync disabled in configuration
  • API permission issues
  • Invalid fund name or format
  • DonorPerfect connection problems

Solutions:

  • Verify fund sync settings enabled
  • Check API credentials and permissions
  • Validate fund name format
  • Test DonorPerfect API connectivity
Duplicate GL Code Errors

Possible Causes:

  • GL code already exists in DonorPerfect
  • Multiple funds using same custom code
  • Case sensitivity conflicts

Solutions:

  • Check existing GL codes in DonorPerfect
  • Use unique codes for each fund
  • Verify case sensitivity settings
Transaction GL Code Errors

Possible Causes:

  • GL code missing from DonorPerfect
  • Fund inactive or deleted
  • GL code format issues

Solutions:

  • 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

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

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

Potential Improvements:

  • Support for fund hierarchies
  • Extended description mapping
  • Fund category synchronization
  • Custom attribute mapping
Advanced GL Code Features

Possible Enhancements:

  • Automatic code numbering schemes
  • Fund consolidation capabilities
  • Advanced reporting integration
  • Multi-dimensional fund tracking

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