3. What is the purpose of Hard Credit Fields?
Record amounts which a donor is directly responsible for giving to a nonprofit
Hard Credit Roll Ups
4. What do the Fields Calculate?
Not restricted to giving records that are tax receiptable in a given calendar
year.
may reflect:
- amounts ranging from organization fiscal year giving to a donor's
member year giving,
- amounts that are pledged but not yet paid.
5. What do the Fields Calculate?
Based on parent gifts, including pledges,
may include amounts for transactions with close dates outside the current
year
(a multi-year pledge, for example, will be hard credited entirely within the
year on which it is pledged; the transactions will not appear in any
separate hard credit rollups for each year).
6. Account Hard Credits
By salesforce design, giving (opportunity) records are always related to account records via the
Account lookup.
All giving records may be considered for rollup as part of the account hard credit fields–within the
capabilities and limitations of this functionality, described in detail within this manual.
No eligible giving record will be excluded from hard credit roll up on its account for any other
reason
(e.g., account hard credits are not excluded on gifts which have contact hard credit).
Hard based on the Account lookup only.
NGO Connect will populate the "Hard Credit Account" field for reporting purposes
modifying this field currently has no function
7. What Setup must I perform to make Giving Roll Up?
Account hard credit rollups consist of three distinct sets of
fields on the Account.
- Summary flag Rollups
- Calendar year information from giving object
- giving amounts from summaries related to account.
8. Accounts - Major Giver and Sustainer Flags
Account_RollupSummaries apex class rolls up:
Current Year Major Giver
Current Year Sustaining Giver
Lifetime Major Giver
Lifetime Sustaining Giver
Prior Year Major Giver
Prior Year Sustaining Giver
Defined as calendar year, relative today.
If a summary exists whose giving level active date fits into this date range, and has any one of these flags
to true, the account flags will reflect that
No filter by activity type, affiliation, or any other summary characteristic
Flags are cleared out and re-evaluated each time the rollup summaries job is executed
9. Account - Calendar Year Hard Credit Rollups
Rolled up by the Account_RollupHardCredits apex job
Prior_Calendar_Year_Hard_Credit_Amount__c
Prior_Calendar_Year_Hard_Credit_Count__c
Current_Calendar_Year_Hard_Credit_Amount__c
Current_Calendar_Year_Hard_Credit_Count__c
- Roll up information directly from parent giving records based on the close date of the gift relative to the
calendar year
- Amounts roll up from the Current Giving Amount (fields display pending, open, or completed transactions)
- Not dependent on giving summaries
- Do not need calendar year giving type engine configured or calendar year summary created
- Do not include deleted or archived gifts
10. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
rolled up by the Account_RollupHardCredits apex job
- Rollup from giving summary records
- Fields are defined on a relative current/prior year basis
- Compatible with giving summaries using giving type engines of calendar year,
fiscal year, or member year.
11. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
If summaries store member year giving, current year and prior year fields could
capture different timeframes depending on account
(membership started on January 1st will have a different current year than
membership started on August 1st. )
If summaries capture fiscal year giving, then current year will always correspond
to the current fiscal year on all accounts.
Derived from summaries, and governed by summary behavior
12. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Summary records are not guaranteed for every year (no summary record is created if there
is no giving)
Specific logic which governs which giving summaries are rolled up to these fields. This
logic may not always produce results that correspond to exactly adjacent years for current
and prior
Current and prior may also vary by account
Rollup fields have ability to add together amounts from multiple giving summary records.
When evaluating summaries for inclusion in these fields, summaries are
- filtered to the primary affiliation of the account:
- filtered by the opportunity record type setting has "Track Account Hard Credits" enabled
13. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
If more than one activity type has this enabled, then summaries for those activity types
may be added together.
This may be desirable if your organization uses calendar year giving summaries for
donation, membership, or other types of giving separately, but then wishes to aggregate
them into a single calendar year total in the current year.
On the other hand, if your organization uses both member year and calendar year
summaries, you will want to ensure that only one activity type has Track Account Hard
Credits enabled.
Adding together a member year and calendar year total will naturally produce
inconsistent/meaningless results for reporting purposes, since the timeframe of the
member year will vary widely while the calendar year is fixed.
14. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Current Year
Current year fields retrieve information from a summary that is defined as "most recent"
and is also active.
The most recent summary on an account = last summary created (for a particular
affiliation/activity type), and it may be in an active or inactive status.
A summary that is both "most recent" and active will contain the current year data.
If summary status is being updated promptly by batch job, the current year fields will
accurately display information from the current member year, or from the currently valid
calendar year/fiscal year, depending on your summary configuration.
Current_Year_Hard_Credit_Amount__c
Current_Year_Hard_Credit_Count__c
15. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Prior Year
Retrieve information from a summary that
- was superceded by a most recent summary
- most recent, but which is no longer active.
Prior year will not always be the same year, if for some donors their last gift was several
years in the past.
Prior_Year_Hard_Credit_Amount__c
Prior_Year_Hard_Credit_Count__c
16. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
First/Last
Contains information from a single summary created most recently and which contains the
most recent date for the desired information.
If the summary does not contain a particular value for whatever reason, the value may be
retrieved from another summary which does contain it.
First hard credit date and last hard credit date may be derived from summaries with
different activity types
First_Hard_Credit_Amount__c First_Hard_Credit_Date__c
Last_Hard_Credit_Amount__c Last_Hard_Credit_Date__c
Largest_Hard_Credit_Amount__c Largest_Hard_Credit_Date__c
First_Hard_Credit_Date__c Last_Hard_Credit_Date__c
Largest_Hard_Credit_Date__c
17. Account - Current Year/Prior Year, First/Last, and Lifetime Credit Rollups
Lifetime
Retrieved from account lifetime summaries
Results may be aggregated from multiple lifetime summaries
(Example: if you have separate calendar year summaries for donation and membership)
Lifetime_Hard_Credit_Amount__c
Lifetime_Hard_Credit_Count__c
18. Custom Setting Configuration
Rollup Hard Credits Settings
Controlled on a per giving -record type basis:
rC Giving Opportunity Record Type Setting >Track_Account_Hard_Credits__c.
Controlled on a per-account basis:
rC_Giving Account custom field Track_Hard_Credits__c.
Giving records rolled up to the account must match the account Primary Affiliation
(in Primary_Affiliation__c); records for other affiliations will be excluded.
19. Custom Setting Configuration
Giving Summary Settings
rC Giving Opportunity Record Type Setting
Activity Type. Ensure that the activity types defined in these settings are aligned with the
activity types on your giving level records.
Summaries?. Ensure that the Summaries? checkbox is checked, to allow summary
generation for these record types.
Giving Type Engine?. Ensure that a giving type engine is specified from the supported
types of Standard, Public Media, Calendar Year, and Fiscal Year. Note that Standard and
Public Media are only supported on the membership record type and cannot be used with
donation or any other type. Calendar Year and Fiscal Year, however, can be used with
special restriction (e.g., calendar year membership is supported).
20. Custom Setting Configuration
Rollup Hard Credits Settings
The recommended approach is to configure only one opportunity record type to track hard
credits, for clarity at the account and contact level.
Rollup Account Hard Credits can be configured to run in batch mode by setting
rC_Giving Account Setting > Rollup_Hard_Credits_Batch__c = TRUE.
The recommended way to schedule account hard credit rollup is to use the
rC_GivingAsyncRecovery class. For more information, see Schedulable and Batchable
Jobs.
21. Custom Setting Configuration
Rollup Summaries can be configured to run in batch mode
rC_Giving Account Setting > Rollup_Summaries_Batch__c = TRUE.
The recommended way to schedule summary rollup is to use the rC_GivingAsyncRecovery
class. For more information, see Schedulable and Batchable Jobs.
22. Getting Started with
AGENDA
• Discuss the Pro versus Cons
• Create Sample Rollup Field
• Manual & Schedulable Jobs
• Additional Rollup Helper Resources
23. Pros
• Run as many rollup jobs as desired
• Real-time Execution Capability
• Simple and Helpful Rollup creation
wizard
Cons
• Not Free
– Multi-Year Discount
– 30% Non-Profit Discount
• Approximately $4,000 for a three year
license org-wide
Rollup Helper Pros & Cons
24. Creating a Rollup Field Using Rollup Helper
• Step 1 – Create custom field in target object
• Step 2 – Rollup Helper Wizard
i. Select object where custom field was created
ii. Select the custom field
iii. Select Source Field
i. Select the child object and relationship field from where the values will be
rolled up from
ii. Select the field and the calculation type that will be calculated and rolled
up
iv. Select custom filter, or create a new one.
25. • Step 3 - Rollup Filter Editor
i. Enter name for new filter
ii. Specify sort order, if needed
iii. Specify filter criteria
i. Select Closed equals TRUE, then submit
ii. Select Won equals TRUE, then submit
iii. You can even have filter logic in place
iv. SAVE & RUN
Creating a Rollup Field Using Rollup Helper
26. roundCorner Team
• I am not an expert, but we can all gain a level of proficiency working
together!!!
• Easy Rollups vs Difficult Rollups
• Soft and Recognition Credits?
27. Manual and Schedulable Job
• Manual Job
– Click on the drop down action button and run the rollup job (FYI: it runs the job in
increments of 500 records, so “Run Once For 30,000 records” it means you have
between 25 to 30k records)
• Schedulable Job
– Click on the drop down action button and select Schedule
– Activate!
– Select the repeatable frequency (Hours, Days, Weeks, etc.) and the amount of
records.
• FYI: Rollups will restart where they stopped on the last run to ensure all records are
eventually updated.
– Finally, select Next Run date and SAVE!
28. Additional Rollup Helper Resources
• Rollup Helper’s Resource Page has documentation in how to do real-time
rollup for custom objects and release note information. Take a look!
– http://rolluphelper.thinkreid.com/resources
• They also have example rollups that might be useful for creation practice.
– http://rolluphelper.thinkreid.com/resources/example-rollups
29. • Discuss the Pro versus Cons
• Review Wiki Page
• Discuss design considerations
• Portability
Agenda
30. Pros Cons
Open sourced Open Sore
It’s Free Support from us is not free.
Has a real nice Layout to create
and deploy rollup summary fields.
Requires a high level
Salesforce.com knowledge.
Has a Salesforce Community
It can be portable and extends
our product functionality.
Require that you document
solution for the client.
Can be used with Process
Builder, Schedule Apex or other
Apex classes
Think about:
31. Real life example
Client wants to see Account’s with the total Fiscal Year Unrestricted Giving.
• Not possible without Apex class and Apex Trigger
• Not part of our packaged code
33. Where do I find more information?
• Declarative Lookup wiki page.
• Github: https://github.com/afawcett/declarative-lookup-rollup-summaries
• Salesforce Community:
https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g
=0F9300000009O5p
Contribution and testing is encouraged.