---
schema_version: "1"
id: 83902eb741daf0c0eae76e4e2d5162587d69c6c38a41f59dc1908c1d4ff38973
title: Create Customizable Rollups
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sfdo/264-0-0/npsp_create_a_customizable_rollup.md
canonical_url: https://help.salesforce.com/s/articleView?id=sfdo.npsp_create_a_customizable_rollup.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 46c04139d0e5a7c54ed79490c37bfd4e21b9d7244443e3570dfbb88fa4c40b15
description: Find out more about customizable rollups.
products:
  - Nonprofit
release: "264"
---
# Create Customizable Rollups

Find out more about customizable rollups.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)

Note Watch the Nonprofit Salesforce How-To Series video about [Customizable Rollups Configuration](https://www.youtube.com/watch?v=cjlYlOQXSsM&list=plu8xqf8zasbxwahif0sb1p9_3g4vvrmxi).

- **[Create a Customizable Rollup](https://help.salesforce.com/s/articleView?id=sfdo.npsp_create_a_customizable_rollup.htm&release=264.0.0&type=5)**  
    You can create as many Customizable Rollups as you need. Keep in mind that you can also edit the out-of-box NPSP rollups and any other User Defined Rollups previously created in your org.
- **[Clone a Customizable Rollup](https://help.salesforce.com/s/articleView?id=sfdo.npsp_create_a_customizable_rollup.htm&release=264.0.0&type=5)**  
    To quickly create a new rollup that's similar to one that already exists, simply clone it.
- **[Deactivate or Delete a Customizabel Rollup](https://help.salesforce.com/s/articleView?id=sfdo.npsp_create_a_customizable_rollup.htm&release=264.0.0&type=5)**  
    You can delete or deactivate rollups as needed.

## Create a Customizable Rollup

You can create as many Customizable Rollups as you need. Keep in mind that you can also edit the out-of-box NPSP rollups and any other User Defined Rollups previously created in your org.

For example, say you want to know the total amount of in-kind gifts that a Contact has donated. With Customizable Rollups, you can easily find that information and put it in a custom field called Total In Kind Gifts. We illustrate how to create this sample aggregate rollup in the instructions below.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_important.png)

Important

Customizable Rollups roll up data to a custom field (that you choose during the creation process). But that field must exist, so be sure to create the custom field before creating a new rollup! We recommend that you make these custom fields read only for all users (including Sys Admins). This example we walk through in the steps below assumes that you have an existing custom field on Contacts called “Total In Kind Gifts.” If you want to follow along, you'll need to [create that custom field](https://help.salesforce.com/articleview?id=adding_fields.htm) first.

1. Go to the NPSP Settings tab. If you don't see the tab in your org, you can find it from the App Launcher.
2. Click **Donations** | **Customizable Rollups**.
3. Click **Configure Customizable Rollups**.
    
    ![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_important.png)
    
    Important If you see an error when you click the Configure Customizable Rollups button, your profile may not have access to the CRLP\_RollupUI\_SVC Apex class. For more information, see [Configure Customizable Rollups](https://help.salesforce.com/s/articleView?id=sfdo.npsp_config_custom_rllps.htm&release=264.0.0&type=5 "Configure NPSP versions older than 3.155 for customizable rollups.").
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
    
    Note If you need to go back to a previous screen while using Customizable Rollups, use the breadcrumbs at the top of the page. The back button will not work; it will always take you back to the NPSP Settings page.
    
    ![Breadcrumb on a Customizable Rollups page](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/nonprofit_success_pack/images/crlp_breadcrumbs.png)
4. On the Customizable Rollups page, click **New Rollup**. To edit an existing rollup, in the appropriate row, click the drop-down arrow and then click **Edit**.
5. Choose the Target Object and Field that the data should roll up to. The Target Object can be Account, Contact, General Allocation Unit, or Recurring Donation. The Target Field is limited to custom, writeable fields on the Target Object that aren't currently used by another rollup.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
    
    Note Be careful if your Target Field can only accept certain values, for example, if the target field has validation rules or is a restricted picklist. If your source value is not accepted in the Target object, you will get an error when the nightly batch job runs.
    
    ![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_important.png)
    
    Important When creating a Recurring Donation rollup, ONLY use your own custom fields as the Target field. Selecting an NPSP field as the Target field will break your Recurring Donations.
    
    To create our example rollup, choose Contact as the Target Object and Total In Kind Gifts as the Target Field.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
    
    Note Remember, this is just an example and it assumes that this custom field already exists. If you want to follow along, you'll need to create the Total In Kind Gifts field.
6. Enter a detailed description of this rollup. This is very important because the description is what you (and others) will use to distinguish this rollup from all of your other rollups. For the example, enter "Sums up a Contact's total In Kind Gifts from the Opportunity Fair Market Value field."
7. Enter the Operation. Your choices are limited based on the Type of the Target field you selected. For the example, choose Sum.
    
    The type of Operation you choose determines whether your rollup will be an [aggregate rollup or a single result operation rollup](https://help.salesforce.com/s/articleView?id=sfdo.npsp_customizable_rollups_overview.htm&release=264.0.0&type=5 "Rolling up donor data is an essential part of fundraising with the Nonprofit Success Pack. And, since every nonprofit is unique, it is especially important that you're able to roll up exactly the data you need, and to the right records."). If you want to create an aggregate rollup, you'd choose Sum, Average, or Count. If you want to create a single result operation rollup, you'd choose First, Last, Largest, Smallest, Best Year, Best Year Total, Years Donated or Donor Streak.
    
    1. **Smallest**: Selects the minimum value stored in Field to Roll Up across all of the records that meet the time frame and filter group criteria. Specify the same field in both the Field to Roll Up and Amount Field settings.
    2. **Largest**: Selects the maximum value stored in Field to Roll Up across all of the records that meet the time frame and filter group criteria. Specify the same field in both the Field to Roll Up and Amount Field settings.
    3. **First**: Selects the value stored in Field to Roll Up from the first record that meets the time frame and filter group criteria when those records are sorted by Date Field in ascending order.
    4. **Last**: Selects the value stored in Field to Roll Up from the last record that meets the time frame and filter group criteria when those records are sorted by Date Field in ascending order.
    5. **Count**: The number of records that meet the time frame and filter group criteria.
    6. **Sum**: The total of the values in Amount Field when added together across all records that meet the time frame and filter group criteria.
    7. **Average**: The mean of the values in Amount Field across all records that meet the time frame and filter group criteria.
    8. **Best Year**: Selects the four-digit calendar year (or fiscal year if Use Fiscal Year is enabled) from the value in Date Field that corresponds to the time frame with the largest sum of amounts in Amount Field across all records that meet the filter group criteria.
    9. **Best Year Total**: Selects the largest sum of amounts from Amount Field after grouping records by the four-digit calendar year (or fiscal year if Use Fiscal Year is enabled) based on the value in Date Field across all records that meet the filter group criteria.
    10. **Years Donated**: Concatenates a unique set of four digit calendar years (or fiscal years if Use Fiscal Year is enabled) separated by semi-colons (;) from the values in Date Field across all records that meet the filter group criteria.
    11. **Donor Streak**: The current number of consecutive calendar years (or fiscal years if Use Fiscal Year is enabled) that records meeting the filter group criteria exist. Current is as-of this year if there's a record in the current year. Otherwise this is calculated as-of last year.
        
        ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
        
        Note When you choose First or Last as the Operation, the First or Last record is determined based on the Date Field in the Advanced Customizations section. You can choose any of the available Date Fields listed in the drop-down. If there is more than one record that matches the criteria based on the selected Date Field, we use the Created Date as a tie-breaker to determine which record to use.
8. Choose the Timeframe for this rollup. For the example, choose All Time.
    1. To roll up data for all time, choose All Time.
    2. To roll up data for a certain number of days back, choose Days Back. You will then see a Days Back field where you can enter the number of days back (from today) that you want to roll up data for. It's important to note that entering a value of 0 will roll up data for today, while entering a value of 1 will roll up data for today and yesterday. The maximum number of days back you can enter is 10000.
    3. To roll up data for a specific year, choose Years Ago. You will then see a Years Ago field where you can choose the number of years ago that you want to roll up data for. Keep in mind that only the data for that calendar (or fiscal) year will roll up. So, if the current year is 2018 and you choose 2 years ago, the roll up will include data for 2016. Select the Fiscal Year checkbox to calculate rollups based on fiscal year settings (instead of calendar year). 20 is the maximum amount of years ago you can select.
9. Choose the Rollup Type. The Rollup Type is a combination of the object to roll up along with whether it will be a [soft credit or hard credit rollup](https://help.salesforce.com/s/articleView?id=sfdo.npsp_hard_vs_soft_cred_rllps.htm&release=264.0.0&type=5 "Understanding how NPSP determines what data rolls up to a hard credit or soft credit Customizable Rollup can be confusing."). For the example, choose Opportunity > Contact (Hard Credit).
10. Choose the [filter group](https://help.salesforce.com/s/articleView?id=sfdo.npsp_create_a_filter_group.htm&release=264.0.0&type=5 "Find out more about creating filter groups.") to apply to this rollup. The filter group is a collection of filter rules that determine what records get rolled up. If you want to include all records, use the default No Filter Group (Include All Records). For the example, choose Opp: Won (HC).
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
    
    Note _You'll see all available filter groups that exist in your org, but be sure to select one that uses the same object that you selected in the Rollup Type field._
11. In the Advanced Customizations section, enter the required information. The fields that appear are determined by the Operation you selected.
    1. **Field to Roll Up**: Choose the field from the result of the rollup operation that you want to copy to the Target Field. This field is available if the Rollup Type is a single result operation (First, Last, Largest, or Smallest). Additionally, only fields with field types that are compatible with the selected Target field appear in the list.
    2. **Date Field**: Choose the date field to use when calculating the rollup. The Timeframe depends on this field.
    3. **Amount Field**: Choose the amount field to use when calculating the rollup. For the example, choose Opportunity: Fair Market Value.
12. Click **Save**. Your rollup will look something like this:
    
    ![A new customizable rollup for total in kind gifts](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/nonprofit_success_pack/images/crlp_create_in_kind.png)
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
    
    Note If you get a timeout error when trying to save your rollup, you may need to refresh the page. See Save Timeout Error Customizable Rollups for more information.

Since we already showed you an aggregate rollup above, it's only fair that we also show you how to create a single result operation rollup. And this one is particularly cool because it provides a lookup to another record. Cue the fireworks! Let's say you want to find the largest gift that a Contact donated and link to the Campaign that brought in the donation (from the Contact's record). Here's how you do it:

1. [Create a custom field](https://help.salesforce.com/articleview?id=adding_fields.htm) on the Contact object that is related to the Campaign object. Name it Largest Gift Campaign.
2. Create a new rollup with the following values:
    1. Target Object = Contact
    2. Target Field = Largest Gift Campaign
    3. Description = A lookup on the Contact record to Campaign associated with their largest donation, as determined by the Opportunity Amount field.
    4. Operation = Largest
    5. Time Frame = All Time
    6. Rollup Type = Opportunity > Contact (Hard Credit)
    7. Filter Group = Opportunities: Won (HC)
    8. Field to Roll Up: Opportunity: Campaign ID
    9. Amount Field: Opportunity Amount
3. Click **Save**.
    
    ![A new rollup for Largest Gift Campaign on the Contact object.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/nonprofit_success_pack/images/crlp_largest_gift_campaign.png)
    
    To see the updated field on the record right away, you'll need to [manually recalculate rollups](https://help.salesforce.com/s/articleView?id=sfdo.npsp_manually_recalculate_rollups.htm&release=264.0.0&type=5 "Rollups are calculated in batch jobs as part of the nightly build."). Here's how it should look:
    
    ![The Contact record showing the Largest Gift Campaign field populated with a link to the Campaign record.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/nonprofit_success_pack/images/crlp_largest_gift_camp_on_contact.png)

### A note about creating custom fields for use in Customizable Rollups . . .

As we mentioned in the steps for creating a Customizable Rollup, the field you select as the Target Field must be a unique, writeable, custom field. And the field must exist before you create the Customizable Rollup.

It's also important to note that you should limit all users' access to the fields you're using as Target Fields in your rollups. We recommend that you make these custom fields read only for all users (including Sys Admins). Rollups will function properly even if the user creating the rollup or viewing the record with the rollup Target Field doesn't have Edit or View access to the field.

## Clone a Customizable Rollup

To quickly create a new rollup that's similar to one that already exists, simply clone it.

Keep in mind that you'll need to choose a unique Target Field for your new rollup before you save it. Use an existing field, or create a custom field to use as the Target Field. For more information on creating custom fields, see [Create Custom Fields](https://help.salesforce.com/s/articleview?id=platform.adding_fields.htm&type=5).

1. Click the **NPSP Settings** tab. If you don't see the tab, find it in the App Launcher (![App Launcher icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/resources-product/images/app_launcher_icon.png)).
2. Click **Donations** | **Customizable Rollups**.
3. Click **Configure Customizable Rollups**.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)
    
    Note If you need to go back to a previous screen while using Customizable Rollups, use the breadcrumbs at the top of the page. The back button will not work; it will always take you back to the NPSP Settings page.
4. On the Customizable Rollups page, click the name of the rollup you want to clone.
5. Click **Clone**. NPSP clones the entire rollup, with the exception of the Target Field.
6. Select the Target Field, and optionally make any other changes.
7. Save your work.

## Deactivate or Delete a Customizabel Rollup

You can delete or deactivate rollups as needed.

Deactivating a rollup simply prevents NPSP from calculating the rollup moving forward, but you will still see it in the list of Customizable Rollups and could activate it again if needed. Deleting a rollup removes it from the list. Since NPSP no longer calculates deleted or deactivated rollups, you will see stale data in any deleted or deactivated rollups' Target fields. For any rollup you deactviate or delete, we recommend that you either clear the value out of the Target field or reuse the Target field in a new rollup.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_important.png)

Important You should never modify, deactivate, or delete the key fields (or the rollups that include them) used by the [Customizable Rollups jobs](https://help.salesforce.com/s/articleView?id=sfdo.npsp_custom_rllps_jobs.htm&release=264.0.0&type=5 "Cusomizable Rollups are calculated by a series of batch jobs. These batch jobs run in one of three modes: Non-Skew Mode, Skew Mode, or Incremental Mode."). Modifying these fields can cause issues in your org, such as hitting limits because too many records are being processed in a non-skew mode or rollups not updating.

To deactivate a rollup:

1. In the list of Customizable Rollups, click the Name of the rollup you want to deactivate.
2. Unselect the **Active** checkbox.
3. Click **Save**.
    
    ![A rollup with the Active box highlighted](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/nonprofit_success_pack/images/crlp_deactivate_rollup.png)

To delete a rollup:

1. In the list of Customizable Rollups, click the Name of the rollup you want to delete.
2. Click **Delete**.
3. Click **Delete** again to confirm that you want to delete.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-nonprofit_success_pack-264-0-0-production-enus/bd2879e2-2bdc-4012-aa32-dc0c697c4538/images/icon_note.png)

Note Special thanks to Evan Ponter for his contributions to this article.