Your data in NPSP
When MoveData processes data from your fundraising platform into Salesforce with NPSP (Nonprofit Success Pack), it creates and updates specific records. This article covers what those records are, the key fields MoveData sets, and how it finds existing records to avoid duplicates.
Using Nonprofit Cloud instead?
This article covers the NPSP data model. If your org uses Nonprofit Cloud, see Your data in Nonprofit Cloud.
Contacts#
MoveData creates or updates a Contact record for each individual supporter — whether they are a donor, fundraiser, or team captain.
Key fields set by MoveData#
| Field | Description |
|---|---|
| First Name, Last Name | Supporter's name from the platform |
| Primary email address | |
| Phone, Home Phone, Mobile Phone | Phone numbers if provided |
| Mailing Address | Street, City, State, Country, Postal Code |
| Account | Linked to the NPSP household account (created automatically by NPSP) |
How MoveData finds existing contacts#
MoveData uses a two-stage matching process:
- Platform key — checks for a unique ID assigned by your fundraising platform
- Salesforce Duplicate Rules — if no platform key match is found
For more on configuring duplicate rules, see Duplicate rules.
Accounts#
For individual supporters, NPSP automatically creates a Household Account when a contact is created. MoveData does not create this separately.
For organisational donors (e.g. a company making a corporate donation), MoveData creates or updates an Organisation Account.
MoveData also creates an Organisation Affiliation record to link the contact to the organisation account where applicable.
Key fields set by MoveData#
| Field | Description |
|---|---|
| Name | Organisation name |
| Phone, Website | Contact details if provided |
| Billing Address | Street, City, State, Country, Postal Code |
| Type | Defaults to "Other" |
How MoveData finds existing accounts#
MoveData uses a two-stage matching process:
- Platform key — checks for a unique ID assigned by your fundraising platform
- Salesforce Duplicate Rules — if no platform key match is found
For more on configuring duplicate rules, see Duplicate rules.
Campaigns#
MoveData creates Salesforce campaigns to represent fundraising activity. Campaigns are organised in a hierarchy of up to three levels, linked through the Parent Campaign field.
Campaign hierarchy#
| Level | Description | Example |
|---|---|---|
| Campaign | Top-level campaign or event | Winter Appeal 2025 |
| Team | A team within the campaign | Winter Appeal 2025: Melbourne Office Team |
| Fundraiser | An individual fundraiser's page | Winter Appeal 2025: Melbourne Office Team - Sarah's Run for Hope |
Note
Not every notification creates all three levels. A donation made directly to a campaign (without a fundraiser) links to the top-level campaign only.
Key fields set by MoveData#
| Field | Description |
|---|---|
| Name | Constructed from the platform data (see hierarchy examples above) |
| Status | Set from the platform (can be suppressed) |
| Start Date, End Date | Campaign dates from the platform |
| Parent Campaign | Links to the parent level in the hierarchy |
| Expected Revenue | Target amount if provided by the platform |
How MoveData finds existing campaigns#
MoveData matches campaigns using the platform key — a unique ID assigned by your fundraising platform. If a campaign with the same platform key already exists, MoveData updates it rather than creating a duplicate.
Note
If a donation comes in and the fundraising page does not yet exist in Salesforce, MoveData creates the campaign automatically. Records do not need to exist beforehand.
Campaign Members#
When MoveData links a contact to a campaign, it assigns a campaign member status. Statuses follow a one-way priority order — a contact's status can move up but never down:
- Team Leader
- Fundraiser
- Recurring Donor
- Donor
For example, if a contact is already a Fundraiser and then makes a donation, their status stays as Fundraiser.
Recurring Donations#
When a supporter sets up a recurring donation, MoveData creates a Recurring Donation record for the ongoing commitment. MoveData also creates an Opportunity for each instalment received. Depending on your Salesforce NPSP configuration, NPSP may create a series of pledged Opportunities into the future. When MoveData processes an instalment, it will attempt to find an existing pledged Opportunity and converts it to a stage of Closed Won.
Key fields set by MoveData#
| Field | Description |
|---|---|
| Amount | Instalment amount |
| Contact | The recurring donor |
| Installment Period | Weekly, Monthly, or Yearly |
| Installment Frequency | Multiplier (e.g. 2 for fortnightly, 3 for quarterly) |
| Status | Synced with the platform (see mapping below) |
| Campaign | The associated campaign |
How MoveData finds existing recurring donations#
MoveData matches recurring donations using the platform key — a unique ID assigned by your fundraising platform. If a recurring donation with the same platform key already exists, MoveData updates it rather than creating a duplicate.
Status mapping#
| Platform status | NPSP status (npsp__Status__c) |
|---|---|
| Active | Active |
| Paused | Paused |
| Cancelled | Closed |
| Failed | Lapsed |
Frequency mapping#
| Platform frequency | NPSP mapping |
|---|---|
| Weekly | Installment Period: Weekly |
| Fortnightly | Installment Period: Weekly, Frequency: 2 |
| Monthly | Installment Period: Monthly |
| Quarterly | Installment Period: Monthly, Frequency: 3 |
| Half-yearly | Installment Period: Monthly, Frequency: 6 |
| Annually | Installment Period: Yearly |
Opportunities (Donations)#
Each individual donation creates an Opportunity record in Salesforce.
Key fields set by MoveData#
| Field | Description |
|---|---|
| Amount | Donation amount |
| Stage Name | Closed Won (successful donations) or Closed Lost (full refunds) |
| Close Date | Date the donation was made |
| Primary Contact | The donor |
| Campaign | The campaign the donation is attributed to |
| Recurring Donation | Linked to the recurring donation record if applicable |
How MoveData finds existing opportunities#
MoveData matches opportunities using the platform key — a unique ID assigned by your fundraising platform. If an opportunity with the same platform key already exists, MoveData updates it rather than creating a duplicate.
Refunds
When a refund is issued in your fundraising platform, MoveData adjusts the Opportunity amount to reflect the refunded amount. For a full refund, the Stage Name changes to Closed Lost. For a partial refund, the Stage Name stays as Closed Won with the reduced amount.
Soft Credits#
Soft credits recognise people who helped bring in a donation, even though they are not the primary donor. In NPSP, soft credits are stored as Opportunity Contact Roles.
MoveData creates soft credits during post-processing, after the donation record is saved. It checks the campaign hierarchy and creates credits for contacts at each level:
- The campaign organiser — the primary contact on the top-level campaign
- The team captain if the fundraiser belongs to a team
- The fundraiser whose page the donation came through
Note
Soft credits do not change the donation amount or the primary donor. They give you a way to report on who drove fundraising results.
Further reading#
For the full technical field reference, see NPSP extension fields and objects.