Skip to main content
Objects and Fields: NPC
James Gilray avatar
Written by James Gilray
Updated over a week ago

If your integration needs to match against existing records, then you must seed those records with the necessary identifiers for MoveData to determine a match. Failure to do so can result in MoveData being unable to identify the existing record and a duplicate created as a result.

Related Article

For organisations with existing records in Salesforce, the "minimum" approach we recommend is to map campaign and recurring donation records only. This is because contact and account records can be matched using your Salesforce Duplicate and Matching Rules, and opportunities are rarely updated after-the-fact.

Person Account Records

Identifiers for person account records are stored on a child object called movedata__Account_Platform_Key__c.

Salesforce Field

Comment

movedata__Account__c

ID of the person account record in Salesforce

movedata__Platform_Key__c

ID of the contact record in the source platform

To map to existing person account records you must create the necessary movedata__Account_Platform_Key__c record for that person account.

MoveData uses your Salesforce Duplicate and Matching Rules

  • If a match based on movedata__Account_Platform_Key__c is not determined, MoveData will run your Duplicate and Matching rules

  • As such, mapping person account records could be considered optional optional given your duplicate rules will otherwise handle person account matching

Account Records (Organisation Accounts)

Identifiers for contact records are stored on a child object called movedata__Account_Platform_Key__c.

Salesforce Field

Comment

movedata__Account__c

ID of the account record in Salesforce

movedata__Platform_Key__c

ID of the account record in the source platform

To map to existing account records you must create the necessary movedata__Account_Platform_Key__c record for that contact.

MoveData uses your Salesforce Duplicate and Matching Rules

  • If a match based on movedata__Account_Platform_Key__c is not determined, MoveData will run your Duplicate and Matching rules

  • As such, mapping account records could be considered optional optional given your duplicate rules will otherwise handle account matching

Additional notes:

  • Not all source platforms will provide an ID for the account in their system. Often this is simply captured as metadata on the donation form ("Company Name") which MoveData uses to create the account record.

Campaign Records

Identifiers for campaigns are stored on the Campaign object.

Salesforce Field

Comment

movedata__Platform_Key__c

ID of the page record in the source platform

movedata__Protect_Name__c

Set True if you wish to protect the name of the campaign in Salesforce (else, the integration may update the name to the value issued by the source platform).

Gift Commitment Records

Identifiers for gift commitments are stored on the Gift Commitment object.

Salesforce Field

Comment

md_npc_pack__Platform_Key__c

ID of the recurring donation record in the source platform

Gift Transaction Records

Identifiers for gift transactions are stored on the Gift Transaction object.

Salesforce Field

Comment

md_npc_pack__Platform_Key__c

ID of the donation record in the source platform

Opportunity Records Records

Identifiers for opportunities are stored on the Opportunity object.

Salesforce Field

Comment

movedata__Platform_Key__c

ID of the sale record in the source platform

Note:

  • The gift transaction object is used in NPC to represent donations

  • The opportunity object is used in NPC to represent sales (merchandise, event registration, raffle tickets, etc)

Did this answer your question?