Pledge and Payment Adjustment management for non profits
Pledge and Payment Adjustment in Salesforce® NPSP
This article provides the details on how users can leverage power of NPSP to manage pledge adjustments and payment adjustments.
There are chances of errors in entering pledges or payment in the system, thus there should be a way to correct the errors without affecting the accounting system. Usually every non-profit organization uses an accounting system to keep the track and audit of the money coming in and going out from the organization and uses some accounting system software’s like SAGE for fulfil this requirement.
Salesforce instance need to keep sending data to Accounting system like SAGE everyday to keep the debit and credit for both the systems in sync.
No in case if someone enters the wrong data for ex. Enters a pledge amount as 1000 instead of 100, and this wrong data flows to the accounting system. Later some point of time the user realizes their mistakes then at that point of time he/she can not alter the amount on the original pledge record from 1000 to 100 as this correction will make both the system in conflict. To resolve this issue, we can easily do some customizations on top of Salesforce NPSP and can achieve the adjustments in such a way that both Salesforce and SAGE accounting systems will remain in sync.
Pledge adjustments are made against a pledge record and can be categorized separately than pledge, thus we can use a new record type on opportunity called “pledge adjustments” which will separate the pledge and pledge adjustments data. Now as pledge adjustments are always related to a pledge, we can relate pledge adjustments with the pledge so that user can view the pledge adjustments as child records on the main pledge record.
In order to do adjustments against the original pledge, we need to perform some customization on top of Salesforce NPSP as mentioned below:
- Create a new record type called “Pledge Adjustment: on opportunity object.
- Create a lookup relationship on Opportunity say, “Original Pledge”. This field will be used on pledge adjustment records to link all related pledge adjustments to the original pledge against which user is doing adjustments.
- Create a quick action on Opportunity Object of type record create for Opportunity of type “Pledge Adjustments” and this quick action on Opportunity detailed page.
- This quick action will provide a way to create adjustments directly from the pledge record.
- We can create workflow rule to modify the amount on the original pledge when a pledge adjustment record gets created, keeping the original amount as-is on the pledge record, thus there will be two fields on the pledge Amount and original amount where amount will be updated amount after the adjustment and original amount would be the main amount without any adjustments.
NPSP has also introduced a new Payment object which can be used to track payments against a pledge. A Payment is tightly coupled with pledge in the system, thus using Opportunity for pledges and a separate Payment object to track the related payments for the pledges, NPSP has made a clear segregation between tracking pledges and payments.
In NPSP, Payments cannot exist without a pledge, making ease for the user to track the payments per pledge.
Payment can also be entered wrongly in the system may be my human error etc. and these can be adjusted by maintaining payment adjustment record type on Payment object.
Normal Payment would be tracked with the Payment record type on the Payment object however payment adjustments can be tracked using “Payment Adjustments” record type.
If someone creates a payment record of 1000 instead of 100 by mistake, then this can be adjusted simply by creating a new payment record of record type payment adjustment of amount -900. Thus, the total would remain 100 as the main payment amount i.e. 1000+(-900) = 100. Both the records i.e. Payment and Payment Adjustments should be linked to the same pledge so that NPSP can roll-up the received payment amounts correctly on the pledge record.
NPSP automatically rolls up the payment received amount on the pledge record based on the payments attached to the pledge record.