> ## Documentation Index
> Fetch the complete documentation index at: https://wegive.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Mapping Overview

> Comprehensive overview of how data is mapped and synchronized between WeGive and DonorPerfect systems.

# DonorPerfect Data Mapping Overview

The WeGive DonorPerfect integration uses comprehensive data mapping to ensure information flows accurately between both systems. This overview explains the core mapping concepts and data flow patterns.

## Integration Architecture

### Bidirectional Data Flow

```mermaid theme={null}
graph LR
    A[WeGive Platform] <--> B[Integration Layer]
    B <--> C[DonorPerfect System]
    
    B --> D[Data Transformation]
    B --> E[Field Mapping]
    B --> F[Validation Rules]
    B --> G[Error Handling]
```

### Data Synchronization Types

<CardGroup cols={2}>
  <Card title="Pull Operations" icon="download">
    **DonorPerfect → WeGive**

    * Import existing donor profiles
    * Sync historical transaction data
    * Update donor information changes
    * Retrieve fund and campaign data
  </Card>

  <Card title="Push Operations" icon="upload">
    **WeGive → DonorPerfect**

    * Export new donations
    * Create donor profiles
    * Sync recurring gift setup
    * Update fund designations
  </Card>
</CardGroup>

## Core Data Entities

### Primary Objects

The integration handles four main data types:

<AccordionGroup>
  <Accordion title="Donors (Individuals & Organizations)">
    **DonorPerfect Table**: `dp`

    Maps donor profile information including:

    * Personal and contact information
    * Address and communication preferences
    * Donor classification and preferences
    * Custom fields and attributes

    [View detailed donor mapping →](/donorperfect/data-mapping/donor)
  </Accordion>

  <Accordion title="Transactions (Gifts & Payments)">
    **DonorPerfect Table**: `dpgift`

    Synchronizes transaction data including:

    * Gift amounts and processing fees
    * Fund designation and GL codes
    * Payment methods and dates
    * Tribute and memorial information

    [View detailed transaction mapping →](/donorperfect/data-mapping/transaction)
  </Accordion>

  <Accordion title="Recurring Donations (Pledges)">
    **DonorPerfect Table**: `dppledge`

    Manages recurring giving programs:

    * Pledge amounts and schedules
    * Payment frequency and dates
    * Donor commitment tracking
    * Automated payment processing

    [View detailed recurring mapping →](/donorperfect/data-mapping/recurring-donation)
  </Accordion>

  <Accordion title="Funds (GL Codes)">
    **DonorPerfect Table**: `dpcode`

    Synchronizes fund designations:

    * GL code creation and updates
    * Fund descriptions and categories
    * Designation tracking
    * Financial reporting alignment

    [View detailed fund mapping →](/donorperfect/data-mapping/fund)
  </Accordion>
</AccordionGroup>

## Data Transformation Rules

### Format Conversions

<Warning>
  **Critical Formatting**: DonorPerfect has strict formatting requirements that are automatically handled by the integration.
</Warning>

| Data Type         | WeGive Format    | DonorPerfect Format | Transformation               |
| ----------------- | ---------------- | ------------------- | ---------------------------- |
| **Amounts**       | Integer (cents)  | Decimal (dollars)   | Divide by 100, subtract fees |
| **Dates**         | ISO 8601         | MM/DD/YYYY          | Format conversion            |
| **Phone Numbers** | Various formats  | Cleaned digits      | Strip formatting             |
| **Names**         | Full flexibility | Length limits       | Truncate if needed           |

### Field Validation Rules

<AccordionGroup>
  <Accordion title="Required Fields">
    **Donor Records**

    * First name and last name (individuals)
    * Organization name (organizations)
    * Valid email address

    **Transaction Records**

    * Valid donor ID
    * Transaction amount > 0
    * Valid fund/GL code
    * Transaction date
  </Accordion>

  <Accordion title="Data Quality Checks">
    **Validation Process**

    * Email format validation
    * Phone number cleaning
    * Address standardization
    * Duplicate detection
    * Field length compliance
  </Accordion>
</AccordionGroup>

## Mapping Strategies

### Identity Management

<AccordionGroup>
  <Accordion title="Donor Identification">
    **Primary Key Strategy**

    * WeGive stores DonorPerfect donor IDs (`dp_id`)
    * Email addresses used for matching during imports
    * Automatic ID assignment for new donors
    * Duplicate prevention through ID tracking
  </Accordion>

  <Accordion title="Transaction Correlation">
    **Gift Tracking**

    * WeGive transaction IDs mapped to DonorPerfect gift IDs
    * Automatic gift record creation
    * Payment method preservation
    * Status synchronization
  </Accordion>

  <Accordion title="Fund Designation">
    **GL Code Management**

    * WeGive fund IDs mapped to DonorPerfect GL codes
    * Automatic code creation for new funds
    * Description synchronization
    * Category preservation
  </Accordion>
</AccordionGroup>

### Data Enrichment

<CardGroup cols={2}>
  <Card title="Automatic Enhancement" icon="magic">
    * Address standardization and validation
    * Phone number formatting
    * Email validation and cleaning
    * Name parsing and standardization
  </Card>

  <Card title="Contextual Information" icon="tag">
    * Gift source attribution ("Online gift through WeGive")
    * User ID tracking for audit trails
    * Integration timestamp recording
    * Error status and resolution tracking
  </Card>
</CardGroup>

## Synchronization Patterns

### Real-Time Sync

<Steps>
  <Step title="Transaction Processing">
    New donations in WeGive trigger immediate sync to DonorPerfect
  </Step>

  <Step title="Donor Creation">
    New donor profiles automatically create DonorPerfect records
  </Step>

  <Step title="Status Updates">
    Payment status changes sync in real-time
  </Step>
</Steps>

### Scheduled Sync

<AccordionGroup>
  <Accordion title="Incremental Updates">
    **Every 15 Minutes**

    * Modified donor information
    * Updated transaction details
    * Recurring donation changes
    * Fund designation updates
  </Accordion>

  <Accordion title="Bulk Operations">
    **Daily/Weekly**

    * Historical data imports
    * Large dataset synchronization
    * Data quality cleanup
    * Performance optimization
  </Accordion>
</AccordionGroup>

## Error Handling and Recovery

### Data Validation Errors

<Warning>
  **Common Issues**: Invalid formats, missing required fields, and duplicate records are the most frequent sync errors.
</Warning>

| Error Type         | Handling Strategy | Resolution                            |
| ------------------ | ----------------- | ------------------------------------- |
| **Format Errors**  | Auto-correction   | Automatic retry with corrected data   |
| **Missing Fields** | Validation alert  | Manual review and correction required |
| **Duplicates**     | Matching logic    | Merge or skip based on configuration  |
| **API Limits**     | Retry logic       | Automatic backoff and retry           |

### Monitoring and Alerts

<CardGroup cols={2}>
  <Card title="Real-Time Monitoring" icon="eye">
    * Sync status dashboard
    * Error rate tracking
    * Performance metrics
    * Success/failure rates
  </Card>

  <Card title="Automated Alerts" icon="bell">
    * Email notifications for critical errors
    * Dashboard warnings for attention items
    * Scheduled reports for administrators
    * Integration health summaries
  </Card>
</CardGroup>

## Best Practices

### Data Preparation

<AccordionGroup>
  <Accordion title="Before Integration">
    **Recommended Steps**

    1. Clean duplicate records in both systems
    2. Standardize email formats and validate addresses
    3. Organize fund structure and GL codes
    4. Review and update donor contact information
    5. Test with sample data before full implementation
  </Accordion>

  <Accordion title="Ongoing Maintenance">
    **Regular Tasks**

    * Monitor sync status weekly
    * Address validation errors promptly
    * Review and clean duplicate donors
    * Update fund mappings as needed
    * Validate data quality regularly
  </Accordion>
</AccordionGroup>

### Performance Optimization

<Steps>
  <Step title="Batch Size Optimization">
    Configure appropriate batch sizes for your data volume
  </Step>

  <Step title="Sync Scheduling">
    Schedule large operations during off-peak hours
  </Step>

  <Step title="Error Resolution">
    Address sync errors quickly to prevent backlog
  </Step>

  <Step title="Regular Monitoring">
    Review integration performance and adjust as needed
  </Step>
</Steps>

## Detailed Mapping Documentation

<CardGroup cols={2}>
  <Card title="Donor Mapping" href="/donorperfect/data-mapping/donor">
    Complete field mapping for donor profiles
  </Card>

  <Card title="Transaction Mapping" href="/donorperfect/data-mapping/transaction">
    Detailed transaction and gift field mapping
  </Card>

  <Card title="Recurring Donations" href="/donorperfect/data-mapping/recurring-donation">
    Pledge and recurring gift synchronization
  </Card>

  <Card title="Fund Management" href="/donorperfect/data-mapping/fund">
    GL code and fund designation mapping
  </Card>
</CardGroup>

## Support

For questions about data mapping or to request custom field mappings, contact our support team at [support@wegive.com](mailto:support@wegive.com).
