Comprehensive documentation of object mappings between WeGive and Salesforce
WeGive Object | Salesforce Object(s) | Sync Direction | Notes |
---|---|---|---|
Donor (Individual) | Contact | Bidirectional | Corresponds to an individual donor. |
Donor (Company) | Account | Bidirectional | Corresponds to a company/organization donor. |
Household | Account (Household Account Record Type) | Pull from SF | Households are created in WeGive based on Salesforce Household Accounts. |
Campaign | Campaign | Bidirectional | |
Fund | npsp__General_Accounting_Unit__c | Bidirectional | The specific Salesforce object can be customized. |
Transaction | Opportunity , npe01__OppPayment__c | Bidirectional | Creates/updates an Opportunity. If uses_payments is enabled, it also syncs to a Payment record. |
Scheduled Donation | npe03__Recurring_Donation__c | Bidirectional | Represents recurring giving plans. |
Pledge | wegive__Pledge__c (or custom) | Bidirectional | Handles pledge data. Specific implementation can vary per organization. |
Fund Allocation | npsp__Allocation__c | Bidirectional | Allocates funds from Transactions or Scheduled Donations. |
Campaign Donor | CampaignMember | Bidirectional | Links a Donor (Contact) to a Campaign. |
Soft Credit | npsp__Partial_Soft_Credit__c , npsp__Account_Soft_Credit__c | Bidirectional | Handles soft credits for both individual and company donors. |
Payout | wegive__Payout__c (or custom) | Push to SF | Payout summary data from WeGive is pushed to Salesforce. |
Communication List | wegive__Communication_List__c | Push to SF | WeGive Communication Lists are created in Salesforce. |
Communication Preference | wegive__Communication_Preference__c | Bidirectional | Manages donor subscriptions to Communication Lists. |
Campaign Event | wegive__Event__c | Push to SF | |
Campaign Event Ticket | wegive__Event_Ticket__c | Push to SF | |
Campaign Event Registration | wegive__Event_Registration__c | Push to SF | |
Campaign Fundraiser | wegive__Fundraiser__c | Push to SF |
Donor
Contact
for donors of type individual
.Account
for donors of type company
.Contact
and Account
records from Salesforce to create or update Donor
records in WeGive. It also pulls Salesforce Household Account
records to create WeGive Household
entities and associate donors. It can also process Contact
and Account
merges initiated in Salesforce.Donor
records in WeGive are pushed to Salesforce as either Contact
or Account
records. When creating a new Contact
from a WeGive Donor
, if an existing Contact
with the same email is found in Salesforce, it updates that record instead of creating a new one.Contact
):
Salesforce Field (Contact ) | WeGive Field (Donor ) |
---|---|
npe01__HomeEmail__c | email_1 |
AccountId | salesforce_account_id |
FirstName | first_name |
MiddleName | middle_name |
LastName | last_name |
OtherStreet | billing_address.address_1 |
OtherCity | billing_address.city |
OtherState | billing_address.state |
OtherPostalCode | billing_address.zip |
OtherCountry | billing_address.country |
MailingStreet | mailing_address.address_1 |
MailingCity | mailing_address.city |
MailingState | mailing_address.state |
MailingPostalCode | mailing_address.zip |
MailingCountry | mailing_address.country |
MobilePhone | mobile_phone |
HomePhone | home_phone |
OtherPhone | office_phone |
Fax | fax |
Birthdate | birthdate |
npe01__AlternateEmail__c | email_3 |
npe01__WorkEmail__c | email_2 |
Gender__C | gender |
npsp__Do_Not_Contact__c | do_not_contact |
npe01__Preferred_Email__c | preferred_email |
npe01__PreferredPhone__c | preferred_phone |
Account
):Salesforce Field (Account ) | WeGive Field (Donor ) | Notes |
---|---|---|
Name | name | |
npe01__One2OneContact__c | salesforce_contact_id | create_only |
BillingStreet | billing_address.address_1 | |
BillingCity | billing_address.city | |
BillingState | billing_address.state | |
BillingPostalCode | billing_address.zip | |
BillingCountry | billing_address.country | |
ShippingStreet | mailing_address.address_1 | |
ShippingCity | mailing_address.city | |
ShippingState | mailing_address.state | |
ShippingPostalCode | mailing_address.zip | |
ShippingCountry | mailing_address.country | |
Phone | office_phone | |
Fax | fax |
Household
Account
(with record type Household Account
)Household Account
records from Salesforce. The integration does not push new or updated households from WeGive to Salesforce.Account
):Salesforce Field (Account ) | WeGive Field (Household ) |
---|---|
npe01__One2OneContact__c | salesforce_contact_id |
Name | name |
Transaction
Opportunity
, and optionally npe01__OppPayment__c
.
Opportunity
records (and Payment
records if applicable) to create or update Transaction
records in WeGive. It respects different RecordType
settings in Salesforce to determine if a transaction is tax-deductible or should be hidden.Transaction
records create or update Opportunity
records.
StageName
of the Opportunity
is set based on the Transaction
status (e.g., Success
-> ‘Closed Won’).npe01__OppPayment__c
record is also created/updated.Opportunity
):
Salesforce Field (Opportunity ) | WeGive Field (Transaction ) | Notes |
---|---|---|
Name | name | create_only |
Amount | amount | |
AccountId | owner.salesforce_account_id | create_only |
CloseDate | created_at | |
CampaignId | campaign.salesforce_id | |
ContactId | owner.salesforce_id | create_only |
npe03__Recurring_Donation__c | scheduled_donation.salesforce_id | create_only |
StageName | stage_name | export only, custom logic |
npe01__Do_Not_Automatically_Create_Payment__c | true (literal) | export only, create_only |
npe01__OppPayment__c
):Salesforce Field (npe01__OppPayment__c ) | WeGive Field (Transaction ) | Notes |
---|---|---|
npe01__Payment_Date__c | created_at | |
npe01__Payment_Method__c | source_type | export only |
npe01__Paid__c | true (literal) | export only |
npe01__Payment_Amount__c | amount | |
npe01__Opportunity__c | salesforce_id | export only, create_only |
npsp__Batch_Number__c | payout_id | export only, not on create |
npsp__Gateway_Payment_ID__c | id | export only, create_only |
npsp__Total_Transaction_Fees__c | fee_amount | export only, not on create |
npsp__Donor_Cover_Amount__c | fee_covered_amount | export only, create_only |
npsp__Card_Last_4__c | paymentMethod.last_four | export only, create_only |
npsp__Card_Network__c | paymentMethod.issuer | export only, create_only |
ScheduledDonation
npe03__Recurring_Donation__c
Recurring_Donation__c
records from Salesforce to create or update ScheduledDonation
records in WeGive.Recurring_Donation__c
records in Salesforce. The status (Active
, Paused
, Closed
) is synced from WeGive.npe03__Recurring_Donation__c
):
Salesforce Field (npe03__Recurring_Donation__c ) | WeGive Field (ScheduledDonation ) | Notes |
---|---|---|
npe03__Amount__c | amount | |
npe03__Contact__c | source.salesforce_id | |
npe03__Next_Payment_Date__c | start_date | |
npe03__Recurring_Donation_Campaign__c | campaign.salesforce_id | |
npe03__Installment_Period__c | period | |
npsp__CardLast4__c | paymentMethod.last_four | export only |
npsp__ACH_Last_4__c | paymentMethod.last_four | export only |
npsp__InstallmentFrequency__c | frequency |
Campaign
Campaign
Campaign
):
Salesforce Field (Campaign ) | WeGive Field (Campaign ) | Notes |
---|---|---|
Name | name | |
ParentId | parent_campaign.salesforce_id | export only |
StartDate | start_date | |
EndDate | end_date |
CampaignDonor
CampaignMember
CampaignMember
):
| Salesforce Field (CampaignMember
) | WeGive Field (CampaignDonor
) |
| ----------------------------------- | ------------------------------- |
| CampaignId
| campaign.salesforce_id
|
| ContactId
| donor.salesforce_id
|Fund
npsp__General_Accounting_Unit__c
(GIA). This is configurable.npsp__General_Accounting_Unit__c
):
Salesforce Field | WeGive Field |
---|---|
Name | name |
FundAllocation
npsp__Allocation__c
Transaction
or ScheduledDonation
to one or more Funds
.Allocation
records and attaches them to the correct Transaction
or ScheduledDonation
in WeGive.Transaction
or ScheduledDonation
is pushed, the integration syncs its fund allocations. It will create, update, or delete npsp__Allocation__c
records in Salesforce to perfectly match the allocations set in WeGive. This includes handling allocations to multiple funds.npsp__Allocation__c
):
| Salesforce Field | WeGive Field / Value | Notes |
| --------------------------------- | ----------------------------------- | ---------------------- |
| npsp__Amount__c
| model->amount / 100
| |
| npsp__General_Accounting_Unit__c
| model->fund?->salesforce_id
| |
| npsp__Opportunity__c
| model->allocatable->salesforce_id
| If allocatable is Transaction
|
| npsp__Recurring_Donation__c
| model->allocatable->salesforce_id
| If allocatable is ScheduledDonation
|
| npsp__Percent__c
| (calculated percentage) | Calculated based on total amount |Pledge
wegive__Pledge__c
(or a custom object like Pledge_Plan__c
for specific organizations).Pledge_Plan__c
or similar):Salesforce Field (Pledge_Plan__c ) | WeGive Field (Pledge ) | Notes |
---|---|---|
Amount__c | amount | |
Contact__c | donor.salesforce_id | |
Account__c | donor.salesforce_account_id | |
Campaign__c | campaign.salesforce_id | |
Date_Established__c | start_date | |
Id | salesforce_id | import only |
End_Date__c | end_date | |
GAU_Allocation__c | fund.salesforce_id | |
Installment_Period__c | installment_frequency | |
Next_Donation_Date__c | next_installment_date |
SoftCredit
npsp__Partial_Soft_Credit__c
for individuals.npsp__Account_Soft_Credit__c
for companies/organizations.npsp__Transaction__c
| transaction.salesforce_id
| Refers to Opportunity
|
| npsp__Contact__c
| donor.salesforce_id
| For Partial Soft Credit |
| npsp__Account__c
| donor.salesforce_account_id
| For Account Soft Credit |
| npsp__Amount__c
| amount
| |
| npsp__Date__c
| date
| |Payout
wegive__Payout__c
(or custom).Payout
object in Salesforce. This record contains aggregated data about the payout, such as total donations, fees, refunds, and net amounts. Mappings are hard-coded in the compilePayoutPayload
method and not based on mapping rules.CampaignEvent
wegive__Event__c
Event
object in Salesforce.wegive__Access_Type__c
| access_type
|
| wegive__Ask_Donations__c
| ask_donations
|
| wegive__Company_Registrations__c
| company_registrations
|
| wegive__Description__c
| description
|
| wegive__DS_Template_Id__c
| ds_template_id
|
| wegive__End_Date__c
| end_date
|
| Name
| name
|
| wegive__Has_Tickets__c
| has_tickets
|
| wegive__Is_Opened__c
| is_opened
|
| wegive__Location__c
| location
|
| wegive__Location_Address__c
| location_address
|
| wegive__Location_URL__c
| location_url
|
| wegive__Max_Capacity__c
| max_capacity
|
| wegive__One_Ticket_Per_Person__c
| one_ticket_per_person
|
| wegive__Registration_Success_Description__c
| registration_success_description
|
| wegive__Registration_Success_Title__c
| registration_success_title
|
| wegive__Require_Registration_Waiver__c
| require_registration_waiver
|
| wegive__Show_Registration_Activity__c
| show_registration_activity
|
| wegive__Show_View_Events__c
| show_view_events
|
| wegive__Show_View_Tickets__c
| show_view_tickets
|
| wegive__Slug__c
| slug
|
| wegive__WeGive_Id__c
| id
|
| wegive__Timezone__c
| timezone
|CampaignEventTicket
wegive__Event_Ticket__c
Event Ticket
object in Salesforce.wegive__Description__c
| description
|
| wegive__Event__c
| event.salesforce_id
|
| Name
| name
|
| wegive__Event_WeGive_Id__c
| event.id
|
| wegive__Limite__c
| limit
|
| wegive__Price__c
| price
|
| wegive__WeGive_Id__c
| id
|CampaignEventRegistration
wegive__Event_Registration__c
Event Registration
object in Salesforce.npe03__Event__c
| campaign.salesforce_id
|
| npe03__Contact__c
| donor.salesforce_id
|
| Name
| name
|
| wegive__Event_Ticket__c
| ticket.salesforce_id
|
| wegive__Event_Ticket_WeGive_Id__c
| ticket.id
|
| wegive__Quantity__c
| quantity
|
| wegive__Status__c
| status
|
| wegive__Transaction_Id__c
| transaction_id
|
| wegive__WeGive_Donor_Id__c
| donor.id
|
| wegive__WeGive_Event_Id__c
| event.id
|
| wegive__WeGive_Id__c
| id
|CampaignFundraiser
wegive__Fundraiser__c
Fundraiser
object in Salesforce.wegive__Allow_Fundraising__c
| allow_fundraising
|
| wegive__Description__c
| description
|
| wegive__Donate_After_Expiration__c
| donate_after_expiration
|
| wegive__Donations_p2p_Only__c
| donations_p2p_only
|
| wegive__End_Date__c
| end_date
|
| Name
| name
|
| wegive__Hide_Fundraise__c
| hide_fundraise
|
| wegive__Show_Activity__c
| show_activity
|
| wegive__Show_Child_Fundrasiers__c
| show_child_fundraisers
|
| wegive__Show_Leader_Board__c
| show_leader_board
|
| wegive__Slug__c
| slug
|
| wegive__Start_Date__c
| start_date
|
| wegive__WeGive_Id__c
| id
|CommunicationList
wegive__Communication_List__c
Name
| name
|
| wegive__Description__c
| description
|
| wegive__Double_Opt_In__c
| double_opt_in
|
| wegive__Show_To__c
| show_to
|
| wegive__UUID__c
| uuid
|
| wegive__Visible__c
| visible
|
| wegive__WeGive_Id__c
| id
|CommunicationListDonor
wegive__Communication_Preference__c
wegive__Contact__c
| donor.salesforce_id
|
| wegive__Account__c
| donor.salesforce_account_id
|
| wegive__Communication_List_c
| communication_list.salesforce_id
|
| wegive__Communication_List_Id_c
| communication_list.id
|
| wegive__Donor_Id__c
| donor.id
|
| wegive__Double_Opt_In__c
| double_opt_in_required
|
| wegive__Subscribed__c
| subscribed
|