You are here:
Apex Class Descriptions for NPSP
Below is a list of Apex classes managed by Table-Driven Trigger Management (TDTM) along with a description of each. Some classes appear multiple times because more than one Trigger Handler can reference the same class.
| Object | Class Name | Description |
| Account | ACCT_Accounts_TDTM | For inserted or updated Accounts, this class checks the Account Model selected in NPSP Settings and sets these system fields:
Based on NPSP Household Naming Settings, the class also updates Household Names on any Household Accounts in the transaction (if necessary). |
| Account | ACCT_AccountMerge_TDTM | This class supports data management during the Account Merge process. When Accounts are merged, the class:
|
| Account | ACCT_CascadeDeleteLookups_TDTM | When you delete an Account, this class deletes Recurring Donations, Allocations, and Relationships that are related to the Account through various lookup fields. |
| Account | ADDR_Account_TDTM | When you update the values on Billing Address fields (Billing Street, Billing City, etc), this class creates related Address records for Accounts that have Address Management enabled (in NPSP Settings). This class is suppressed when inserting new Household Contacts, as ACCT_IndividualAccounts_TDTM creates the Address. |
| Account | AFFL_Affiliations_TDTM | When you populate or update the Primary Contact field on an Organization Account, this class creates or updates Affiliation records. The class copies the Title from the related Primary Contact and sets the Affiliation Role field to the same value. The class also sets the Affiliation Status to Current. |
| Account_Soft_Credit__c | OPP_AccountSoftCredit_TDTM | In orgs with Multiple Currencies enabled, this class syncs Account Soft Credit CurrencyIsoCode with its related Opportunity. This class also blocks manual CurrencyIsoCode changes made directly to the Account Soft Credit. |
| Address__c | ADDR_Addresses_TDTM | When you insert or update an Address record, this class updates related Account and Contact records. Specifically, this class updates the Account Billing Address fields with the current Seasonal Address or Default, clears the Default Address on non-default Addresses, and updates the Contact addresses with the current Seasonal or Default (if there is no override). This class is suppressed when inserting new Household Contacts, as ACCT_IndividualAccounts_TDTM sets the Current Address value on the new Contact. |
| Address__c | ADDR_Validator_TDTM | If automatic Address verification is enabled, this class sets each Address's Verification Status to Pending or Verification Required. This class then calls the verification service, sends the Address to the service, and updates the Address record using the returned values. |
| Affiliation__c | AFFL_Affiliations_TDTM | This class handles changes to the Primary Affiliation field on related Contacts when you insert, update, delete, or undelete an Affiliation record. |
| Allocation__c | ALLO_Allocations_TDTM | When you create or update a GAU Allocation record, this class prevents Allocations from exceeding the parent Amount, and calculates Amount for percentage-based Allocations. For Recurring Donation Allocations, the class updates any open Opportunity's Allocations. It also replaces any pre-existing Allocations from a related Campaign with the Recurring Donation Allocations. |
| Allocation__c | ALLO_PaymentSync_TDTM | In orgs with Payment Allocations enabled, this class syncs changes between Opportunities and Payment Allocations. |
| AutoNumber__c | AN_AutoNumber_TDTM | In orgs with Batch Number enabled, this class adds the batch number to an NPSP Data Import Batch record when the batch is created. See Configure Batch Numbers for Donations for information on enabling Batch Number. |
| Campaign | ALLO_Multicurrency_TDTM | When you update the CurrencyIsoCode on a Campaign, this class updates the CurrencyIsoCode to the same value on all related child GAU Allocations. This class only applies to orgs using Multiple Currencies. Advanced Currency Management is not supported. |
| Campaign | CAM_CascadeDeleteLookups_TDTM | When you delete a Campaign, the class deletes all related GAU Allocation records. |
| CampaignMember | REL_Relationships_Cm_TDTM | When Relationships Autocreation is configured for the Campaign Member object, this class creates Relationship records per the configured values. |
| Contact | ACCT_IndividualAccounts_TDTM | This class implements the appropriate Account Model: Household, One-to-One, or Individual Bucket. When you insert a Contact, this class is called and creates a related Household Account, One-to-One Account, or adds the Contact to the Individual bucket Account. If address information is provided on the Contact, this class creates a related Address record. This class also updates Household Account Name, Primary Contact, and recalculation of rollups. |
| Contact | ADDR_Contact_TDTM | This class implements Address Management on Contacts in Household Accounts. When you insert a Contact with address information or update a Contact's address information, this class creates a new default Address record (unless Address Override is set). |
| Contact | AFFL_Affiliations_TDTM | When you populate or update the Primary Affiliation field on a Contact, the class:
|
| Contact | CON_CascadeDeleteLookups_TDTM | When you delete a Contact, this class deletes all related Relationships. |
| Contact | CON_ContactMerge_TDTM | This class supports data management during the Contact Merge process. When you merge Contacts, this class:
|
| Contact | CON_DoNotContact_TDTM | This class updates fields on the Contact when you check the Deceased or Do Not Contact checkboxes. When you update Deceased to true on a Contact, this class sets Do Not Contact to true and removes the Contact from the Household Name. When you update Do Not Contact to true, this class sets Do Not Call and Email Opt Out to true. |
| Contact | HH_Households_TDTM | When you insert, update, or delete a Contact, this class:
This class is only relevant if you're using the One-to-One or Individual Account model and are using the custom Household object (npo02_Household__c). |
| Contact | REL_Relationships_Con_TDTM | This class implements Relationships Autocreation. If you configured Contact fields in Relationships Autocreation, this class inserts a Relationship record based on the configuration settings. When you delete a Contact, this class deletes all related Relationship records. Additionally, if you change the Gender field on Contact, the class updates the Relationship Type per Relationship configuration in NPSP Settings. |
| DataImport__c | BDI_DataImportBatchStatus_TDTM | When you process a batch that uses the NPSP Data Import Batches object, this class updates the Batch Status field based on the Status of all NPSP Data Import records connected to the batch. NPSP Data Import Batches are used by Gift Entry batches and NPSP Data Import records that are connected to an NPSP Data Import Batch record. |
| DataImportBatch__c | BDI_DataImportBatch_TDTM | This class sets Batch Status on the NPSP Data Import Batch object to Open when a new NPSP Data Import Batch record is created. NPSP Data Import Batches are used by Gift Entry batches and NPSP Data Import records that are connected to an NPSP Data Import Batch record. |
| Engagement_Plan__c | EP_EngagementPlans_TDTM | When you insert an Engagement Plan, this class inserts related Tasks per the Engagement Plan Template configuration. The class also validates that at least one lookup is populated when creating an Engagement Plan. |
| Engagement_Plan_Task__c | EP_EngagementPlanTaskValidation_TDTM | This class validates inserted or updated Engagement Plan Tasks to prevent recursion on dependent Tasks. It also ensures that dependent and parent Tasks belong to the same template. |
| Form_Template__c | BGE_FormTemplate_TDTM | In Gift Entry, this class prevents a user from deleting a template if it's used for a batch. |
| General_Accounting_Unit__c | GAU_TDTM | This class supports integration with other Salesforce.org products. |
| Household__c | HH_HHObject_TDTM | This class handles changes to the Household Name, Formal Greeting, and Informal Greeting when you update a Household record. The class is only important in orgs using the One-to-One or Individual Bucket account and the Household object. |
| Level__c | LVL_Level_TDTM | This class validates Level records to ensure that Levels don't overlap or have the same name as other Levels in their hierarchy. The class also ensures that there is no invalid data on amount fields or the Level Field. |
| Opportunity | ALLO_Allocations_TDTM | This class creates GAU Allocations on the Opportunity by copying from a related Campaign or Recurring Donation, and creates a default GAU (if enabled). This class also updates existing Allocations if you change the Opportunity Amount or Currency. |
| Opportunity | CRLP_Rollup_TDTM | When Customizabel Rollups are enabled, this class implements hard credit rollups. When you insert, update, delete or undelete an Opportunity, the class determines if rollups to the parent Account, Contact and/or General Accounting Unit objects are necessary (based on your rollup settings) and performs the rollup. |
| Opportunity | HH_OppContactRoles_TDTM | If Household Contact Roles are enabled in NPSP Settings, this class creates Opportunity Contact Roles for Household Members upon insert of an Opportunity. Upon update of an Opportunity's Household Account, this class updates Opportunity Contact Roles. |
| Opportunity | MTCH_Opportunity_TDTM | When you update an Opportunity's Stage to a Closed/Won Stage, this class queries for Opportunities related through the Matching Gift field, where Matching Gift Status is not Received, and updates their value to Received. |
| Opportunity | OPP_CampaignMember_TDTM | This class creates Campaign Members on a related Campaign based on the insert or update of an Opportunity record. The class uses Opportunity Contact Roles marked Primary to determine which Campaign Member to create. The Campaign Member Status is set using Primary Contact Campaign Member Status on the Opportunity or using the NPSP Settings for Campaign Member Responded Status (if Opportunity is Closed/Won) and Campaign Member Non Responded Status (if Opportunity is not Closed Won). |
| Opportunity | OPP_CascadeDeleteLookups_TDTM | When you delete an Opportunity, this class deletes all related GAU Allocation records. |
| Opportunity | OPP_OpportunityContactRoles_TDTM | On Opportunity insert, this class creates Opportunity Contact Role records. It also updates the Opportunity Name based on Opportunity Naming configuration in NPSP Settings. On Opportunity update, this class syncs changed Honoree fields, as well as Opportunity Contact Role/Primary Contact. Additionally, this class implements key aspects of automated soft credits. The class creates Opportunity Contact Roles based on related Relationships, Affiliations, and the Contact Role for Organizational Opps setting in NPSP Settings. |
| Opportunity | PMT_Payment_TDTM | This class performs several operations related to Payments and Opportunities. If Automatic Payment Creation is enabled in NPSP Settings, this class inserts a Payment record upon insertion of an Opportunity record. Once all Payments are marked Paid, it updates the Opportunity's Stage to Closed/Won. When an Opportunity's Stage updates to Closed/Lost, any unpaid Payments are written off. |
| Opportunity | PSC_Opportunity_TDTM | This class updates related Partial Soft Credits' Currency if an Opportunity's Currency changes. This class only applies to orgs using Multiple Currencies. |
| Opportunity | RD_RecurringDonations_Opp_TDTM | This class handles updates to a Recurring Donation when related Opportunities are inserted or updated. This class updates these Recurring Donations fields: Next Payment Date, Last Payment Date, Paid Amount, and Number of Paid Installments. |
| Opportunity | RD2_RecurringDonationsOpp_TDTM | This class implements automation for installment Opportunities related to Enhanced Recurring Donations, including Elevate and multi-currency support. |
| Opportunity | RLLP_OppRollup_TDTM | This class implements Account and Contact donation rollups when you insert, update, or delete an Opportunity. |
| OppPayment__c | ALLO_Allocations_TDTM | In orgs with Payment Allocations enabled, this class creates Allocations and copies data from the related Opportunity, Campaign or Recurring Donation and creates Allocations when Default Allocations are enabled. Also updates existing Allocations if the Payment amount or currency is changed. |
| OppPayment__c | CRLP_Rollup_TDTM | When Customizable Rollups are enabled, this class implements hard credit rollups. When you insert, update, delete or undelete a Payment, the class determines if rollups to the parent Account, Contact and/or General Accounting Unit objects are necessary (based on your rollup settings) and performs the rollup. |
| OppPayment__c | PMT_CascadeDeleteLookups_TDTM | When you delete a Payment, this class deletes all related GAU Allocation records. |
| OppPayment__c | PMT_Payment_TDTM | This class performs validation that prevents a Payment from having both Paid and Written Off selected at the same time. The class also sets the Currency of the Payment to the Currency of the related Opportunity. |
| Partial_Soft_Credit__c | PSC_PartialSoftCredit_TDTM | This class handles inserts or updates to Opportunity Contact Roles based on the insert or update of Partial Soft Credit records. |
| Recurring_Donation__c | ALLO_Multicurrency_TDTM | When you update the CurrencyIsoCode on a Recurring Donation, this class updates the CurrencyIsoCode field on all related child GAU Allocations to the same value. This class only applies to orgs using Multiple Currencies. Advanced Currency Management is not supported. |
| Recurring_Donation__c | RD_CascadeDeleteLookups_TDTM | When you attempt to delete a Recurring Donation, this class checks for any Closed/Won Opportunities and prevents deletion if found. Otherwise, the class deletes the Opportunities, the Recurring Donation Allocations, and its Opportunities' Allocations. |
| Recurring_Donation__c | RD_RecurringDonations_TDTM | This class inserts, updates, or deletes Opportunities when you insert a Recurring Donation or when you change field data on the Recurring Donation. |
| Recurring_Donation__c | RD2_RecurringDonations_TDTM | This class implements automation for Enhanced Recurring Donations including schedule modifications, validation, and various field updates. |
| Relationship__c | REL_Relationships_TDTM | This class implements reciprocal relationship behavior on Relationship records when you insert, update, or delete Relationship records. |
| Task | EP_TaskDependency_TDTM | This class updates Status, Due Date, and sends email for dependent Tasks related to an Engagement Plan when a Task's Status updates to Closed. |
| Task | EP_TaskRollup_TDTM | This class updates the Total Tasks and Total Completed Tasks fields on Engagement Plan records when you insert or update the Status field of related Task records. |
| User | USER_InActiveUser_TDTM | This class handles the deactivation of a System Administrator by performing the following tasks:
|

