Donation Form Submissions

All of the below happen automatically when a Donation Form is submitted, which would normally have to happen manually.


Step 1: Donor completes the checkout from the site


Step 2: A Payment Method record is added to Salesforce with the Card ID (i.e the token)
Step 3: A Transaction is created and captured (processed/charged).
Step 4: A receipt is sent to the donor if that's enabled as a Workflow Rule
Step 5: A Form Submission record is created as a JSON file capturing all related data


Every 5 minutes, a background scheduled process runs to process Form Submission records
Step 6: The Form Submission record is processed.
Step 7: The Contact is attempted to be matched on exact Email (more matching rules coming later this year). If a match, the rest of the logic follows under that Contact. If there's no match, a new Contact (and Household) is created.
Step 8: The Payment Method and Transaction from Steps 2 and 3 are updated to this new Contact


Step 9: An Opportunity and Payment record are created. The existing Transaction is updated to reference the Opportunity and Payment


Step 10: An Open-Ended Recurring Donation record is created.
Step 11: Your current NPSP Opportunity Forecast Months settings determine how many related Opportunities are created (default is 12).
Step 12: Payment and Transaction records are created for each of the Opportunities.
Step 13: The existing Transaction is updated to reference the Opportunity and Payment


Step 13: Custom questions' answers are populated to their designated objects/fields.


Step 14: When the Contact and Account records are created, the "Created by BT Donations" checkbox is checked automatically, letting you know which Contact and Account records are created by Blackthorn | Donations.

Existing Customers

If you cannot find the "Created by BT Donations" field:

  1. Upgrade to our latest Donations Package.
  2. Manually place the "Created by BT Donations" field onto your Account and Contact Layouts.

Errors with your Form Submissions? FAQ and Troubleshooting