DonorDirect Data Mapping Overview
This document describes how the WeGive donor platform maps to DonorDirect StudioEnterprise (SE) objects and how each object is synchronized. The mappings here reflect the integration as built and code-reviewed.Object Mapping Summary
Detailed field-level mappings live on the per-object pages:
- Donor & Household Mapping
- Transaction Mapping
- Recurring Donation Mapping
- Fund Mapping
- Campaign Mapping
Correlation Fields
WeGive tracks the corresponding StudioEnterprise record using adonor_direct_id (or equivalent) column on each synced record:
Sync Directions
- Pull is on by default for all five object types, using WeGive’s custom read-only data endpoints (see Integration Nuances for why).
- Push is off by default for every object type and must be explicitly enabled per data type. Currently, push is only available for Donors, Transactions, and Scheduled Donations — Funds and Campaigns are pull-only at this time.
- Transactions are effectively create-only on push. Once a gift has a StudioEnterprise ID, WeGive does not attempt to update that record again — gifts are treated as settled once synced. Refunds are sent as their own follow-up sync.
Related-Record Push Order
Pushing a transaction or recurring plan first pushes any related record that doesn’t yet have a StudioEnterprise ID — the donor (account), then the gift or plan itself — so the gift can reference a real StudioEnterprise account.Identity & Matching
Accounts are the identity backbone every other object links back to. An Account’s type code routes how it’s imported into WeGive:I(Individual) orS→ imported as an individual DonorO(Organization) → imported as a company DonorF(Family) → imported as a Household
Change Tracking
After the first full historical import, ongoing pulls use StudioEnterprise’s own audit/change-tracking data to identify which records changed (including deletions), rather than rescanning the full database on every sync cycle.Deletion detection has a known limitation — see Integration
Nuances.