Neon Account Mapping
Detailed mapping between Neon CRM account objects and WeGive donor records
Account Object Mapping
This document details the comprehensive mapping between Neon CRM account objects (Individual and Company accounts) and WeGive donor records, including field mappings, data transformations, and synchronization behavior.
Account Types Overview
Individual Account
Represents personal donors with detailed contact information and communication preferences.
Company Account
Represents organizational donors including businesses, foundations, and other institutional supporters.
Individual Account Mapping
WeGive Individual Donor to Neon Individual Account
Core Identity Fields
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
id | Correlation ID | UUID/String | - | No | Stored for tracking |
first_name | primaryContact.firstName | String | Bidirectional | Yes | Direct mapping |
last_name | primaryContact.lastName | String | Bidirectional | Yes | Direct mapping |
name | Computed | String | Export | No | firstName + " " + lastName |
type | Account type | String | Export | Yes | Set to “individual” |
Contact Information
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
email_1 | primaryContact.email1 | Bidirectional | Yes | Email validation | |
email_2 | primaryContact.email2 | Bidirectional | No | Email validation | |
email_3 | primaryContact.email3 | Bidirectional | No | Email validation | |
mobile_phone | primaryContact.addresses[0].phone3 | Phone | Bidirectional | No | Phone formatting |
home_phone | primaryContact.addresses[0].phone1 | Phone | Bidirectional | No | Phone formatting |
office_phone | primaryContact.addresses[0].phone2 | Phone | Bidirectional | No | Phone formatting |
fax | primaryContact.addresses[0].fax | Phone | Bidirectional | No | Phone formatting |
Communication Preferences
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
email_notifications | consent.email | Boolean | Bidirectional | No | Boolean mapping |
sms_notifications | consent.sms | Boolean | Bidirectional | No | Boolean mapping |
Integration Fields
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
neon_account_id | accountId | Integer | Correlation | No | Direct mapping |
neon_id | primaryContact.contactId | Integer | Correlation | No | Contact reference |
Neon Individual Account Structure
Account Level Properties
Company Account Mapping
WeGive Company Donor to Neon Company Account
Core Identity Fields
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
id | Correlation ID | UUID/String | - | No | Stored for tracking |
name | name | String | Bidirectional | Yes | Direct mapping |
type | Account type | String | Export | Yes | Set to “company” |
Contact Information
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
email_1 | primaryContact.email1 | Bidirectional | No | Email validation | |
phone | primaryContact.addresses[0].phone1 | Phone | Bidirectional | No | Phone formatting |
fax | primaryContact.addresses[0].fax | Phone | Bidirectional | No | Phone formatting |
Integration Fields
WeGive Field | Neon Field | Data Type | Direction | Required | Transformation |
---|---|---|---|---|---|
neon_account_id | accountId | Integer | Correlation | No | Direct mapping |
Neon Company Account Structure
Account Level Properties
Address Integration
Primary Address Mapping
Address information is integrated within the account structure:
WeGive Address Field | Neon Address Field | Data Type | Direction | Required |
---|---|---|---|---|
address_1 | addresses[0].addressLine1 | String | Bidirectional | No |
address_2 | addresses[0].addressLine2 | String | Bidirectional | No |
city | addresses[0].city | String | Bidirectional | No |
state | addresses[0].stateProvince.code | String | Bidirectional | No |
zip | addresses[0].zipCode | String | Bidirectional | No |
country | addresses[0].country.code | String | Bidirectional | No |
Address Structure in Account
Data Transformations
Name Processing
- Individual Names: First and last names mapped separately
- Display Name: Computed as
firstName + " " + lastName
- Username Generation: Generated from name with non-letter characters removed
- Company Names: Direct mapping to account name field
Email Validation
- Format Validation: Email format validated before sync
- Multiple Emails: Support for up to 3 email addresses
- Primary Email: First email address treated as primary contact method
Phone Number Formatting
- Flexible Input: Accepts various phone number formats
- Normalization: Phone numbers normalized during sync
- Type Assignment: Phone numbers assigned appropriate types (Home, Work, Mobile)
Boolean Mapping
Communication preferences mapped as follows:
- WeGive
true
: Neon “GIVEN” - WeGive
false
: Neon “NOT_GIVEN” - WeGive
null
: Neon “UNKNOWN”
Synchronization Behavior
Account Creation
- Duplicate Check: Email-based duplicate detection
- Account Type: Determined by WeGive donor type
- Primary Contact: Automatically created with account
- Default Values: System defaults applied for missing optional fields
Account Updates
- Correlation Matching: Uses
neon_account_id
for exact matching - Field Precedence: Last modified wins for conflicting updates
- Required Fields: Ensures all required fields remain populated
- Address Handling: Primary address updated or created as needed
Import from Neon CRM
- Account Search: Uses search API with filters for recent changes
- User Matching: Attempts to match existing WeGive users by email
- Account Creation: Creates new donors for unmatched Neon accounts
- Login Association: Links WeGive users to donor records
Custom Field Mapping
Default Mappings
The integration includes several pre-configured custom field mappings:
Account Level Custom Fields
Integration Path | WeGive Path | Purpose |
---|---|---|
consent.email | email_notifications | Email communication preference |
consent.sms | sms_notifications | SMS communication preference |
primaryContact.email1 | email_1 | Primary email address |
primaryContact.email2 | email_2 | Secondary email address |
primaryContact.email3 | email_3 | Tertiary email address |
primaryContact.firstName | first_name | Individual first name |
primaryContact.lastName | last_name | Individual last name |
Adding Custom Mappings
Organizations can add custom field mappings using the mapping rule system:
Error Handling
Validation Errors
- Missing Required Fields: Clear error messages for missing required data
- Invalid Email Format: Email validation with specific error details
- Duplicate Detection: Warnings for potential duplicate accounts
- Data Type Mismatches: Type conversion errors with correction guidance
Resolution Strategies
- Manual Review: Administrative interface for resolving account conflicts
- Data Correction: Tools for correcting invalid data before sync
- Duplicate Merging: Guidance for handling duplicate account scenarios
- Field Validation: Pre-sync validation to prevent common errors
Performance Considerations
Batch Processing
- Account Search: Paginated search for efficient large-scale imports
- Batch Updates: Multiple account updates processed efficiently
- Rate Limiting: Respectful API usage with built-in throttling
- Incremental Sync: Only changed accounts synchronized after initial import
Memory Management
- Large Datasets: Efficient processing of large account datasets
- Address Handling: Optimized address processing and validation
- Custom Fields: Efficient handling of organizations with many custom fields
API Examples
Creating Individual Account
Updating Company Account
Searching Accounts
Best Practices
Data Quality
- Clean Email Data: Ensure valid, unique email addresses
- Complete Names: Provide complete first and last names for individuals
- Consistent Formatting: Use consistent data formats across the platform
- Address Validation: Validate addresses before synchronization
Integration Management
- Regular Monitoring: Monitor account sync performance and errors
- Duplicate Prevention: Implement processes to prevent duplicate account creation
- Data Backup: Backup account data before major synchronization operations
- Testing: Test account mappings thoroughly in staging environment
This comprehensive account mapping ensures accurate synchronization of donor information between WeGive and Neon CRM while maintaining data integrity and supporting organizational customization needs.