Rock Solid Finances

Integrating financial tools with a people-centered focus to maximize donor management.

Download PDF
Current Version: McKinley 12.0

Updates for McKinley 12.0

Below is a summary of the updates for this version.

  • The Rock Statement Generator has a new look and new features

Updates for McKinley 1.0

No updates made.

Updates for McKinley 2.0

No updates made.

Updates for McKinley 3.0

No updates made.

Updates for McKinley 4.0

Below is a summary of the updates for this version.

  • Added some notes about the transaction date used when scanning checks.
  • New recommendation on using the latest Ranger driver with Canon check readers.
  • Added a few updates to the check scanning software section.
  • Updated details on the batch blocks and the new batch audit log.
  • New chapter on the Giving Analytics block.
  • Updated the transaction screens with several small changed. Also noted that in Rock v4.0 all transactons must be in a batch.
  • New chapter on Benevolence.
  • Added description of the new Pledge Analytics page.
  • Documented the new Transaction Source option for the scanning application.
  • Added documentation for the new Saved Payment Accounts page.
  • Documented the new dataview filter on the statement generator.
  • The Pledge List block has a new Last Modified column and plenty of new block settings to make the block a powerful tool for your external website..
  • Added a new section on how to refund a transaction.
  • Added information on additions to the transaction list.

Updates for McKinley 5.0

Below is a summary of the updates for this version.

  • Added information on the new NMI gateway.

Updates for McKinley 6.0

Below is a summary of the updates for this version.

  • Documented the new features of the benevolence request system.
  • Added information on the new contribution statement list on the person profile page.
  • Added information about how to create new custom financial account attributes.
  • Added additional security actions to Security for Finance chapter.
  • Added Transactions Created Using Teller Import section to Batches chapter.
  • Removed PDS from Payment Gateway options in Payment Gateways chapter.
  • Added block names in Online Contribution Statements section of Contribution Statements chapter for clarification.
  • Corrected callouts on Account Detail screen in Accounts chapter.

Updates for McKinley 7.0

Below is a summary of the updates for this version.

  • Added details on how to handle transferring to new payment gateway.
  • Updated Account Detail screenshots and noted hierarchical navigation structure.
  • Updated Giving Analytics screenshots to show Advanced Options and updated callout information.
  • Added Payment Reversal Notification Workflow documentation to Payment Gateways and NMI Gateway sections.
  • Added Giving Envelopes chapter.
  • Added screenshot and callouts for Business Contributions Detail Page and added information about setting up scheduled transactions for businesses.
  • Updated Scheduled Transactions screenshot and callouts.
  • Updated Downloading Transactions configuration options in the Payment Gateways chapter.
  • Added Financial Batch Attributes information to the Batches chapter.
  • Added Advanced Transaction Entry Block Settings chapter.
  • Updated Statement Generator screenshots and documentation to include Save Settings in the Contribution Statements chapter.
  • Added additional security actions to Security for Finance chapter.
  • Added Transactions Created Using Teller Import section in Batches chapter.
  • Added Automated Batch documentation and screen shot to Batches chapter.
  • Updated Statement Generator steps and screenshots in Contribution Statements chapter.
  • Removed PDS from Payment Gateway options in Payment Gateways chapter.
  • Added block names in Online Contribution Statements section of Contribution Statements chapter for clarification.
  • Updated Statement Generator screenshots and information.

Updates for McKinley 8.0

Below is a summary of the updates for this version.

  • Updated Statement Generator screenshots and information.
  • Added Converting a Person to a Business section to Businesses chapter.

Updates for McKinley 9.0

Below is a summary of the updates for this version.

  • Added support for Image Safe Magtek check scanner
  • New check-scanner UI and added features

Updates for McKinley 10.0

Below is a summary of the updates for this version.

  • Added details to describe single-campus behavior.

Updates for McKinley 11.0

Below is a summary of the updates for this version.

  • The credit card expiration notice job can optionally delete expired cards
  • Businesses can now be merged in the same way as person records
My Well Ministry Advertisement


Rock is developed on a clear set of objectives. These objectives cover the craftsmanship we want to bring to the product as well as the flexibility we want to achieve through open-source freedom. They also define what the product will do, which by default, defines what it won't do. Here’s what Rock is all about: we seek to improve relationships through quality software and processes. This means that if a tool or process makes a difference to your organization's guest, then we want to work hard to help you achieve success. However, this also means that, while there are a great many important back-office needs for your organization, they won't fit squarely into our charter, at least not at this time.

Sounds complicated, but here’s the bottom line: while a full back-office accounting system is important to every organization, it's not something that fits into our stated mission. Keep in mind that we’re a small team of developers pouring our time and effort into creating a crafted Relationship Management System. In the famous, albeit translated words of Michael Porter, "We can’t be all products to all people." We do work with a number of sponsors who offer tools you can use to build your accounting system. Some of the tools work with Rock. Some replace Rock. When using these tools, it's important to work with the vendor to create a finance structure that works for your organization.

So, if you're wondering, "Will Rock replace my accounting system?" the answer is no. That said, Rock does have some key features that organizational accounting teams will love. These features center around donor management since this is a major touch point with your guests. Let’s take a look at what's possible.

It Goes Beyond Gifts:

While we describe many of Rock's financial tools in terms of giving or donations keep in mind they are simply financial transactions. If your organization works around the concept of dues or payments, you can use these same tools. We've worked hard to make these tools be as reusable and multi-purpose as possible.

Financial Components

Before diving into the tools, let's look at the basic financial components of Rock. To do this, we'll step through the components, starting with the person. Again, it's important to note that while we use a scenario of donations, these transactions could just as easily be dues or other forms of payments.


Like everything in Rock, it all starts with people. People make financial transactions with your organization through gifts, donations, subscriptions or dues. These transactions can be simple (like money given to a single purpose) or they can be more complex (perhaps a single transaction covers multiple purposes). To be able to handle multiple purposes, transactions have one or more detail records to hold the information for each purpose.

In our example below, Ted has given $110 dollars to Rock Solid Church. One hundred of these dollars are designated for the General Fund account with the remaining ten dollars going to the Building Fund account.



Transactions that occur in a similar date range are grouped together into batches. These batches help organize the transactions. They also play a key role in integrating to your General Ledger account system. Instead of re-entering every transaction into your General Ledger, you can enter the batch totals knowing that Rock will keep the historical details for you to reference later if you need them.

In our example below a batch has been created for the weekly gifts for the Rock Solid Church.



Accounts determine what a transaction is for. In our examples above, both the General Fund and the Building Fund are accounts. These accounts usually correspond with accounts you create in your accounting system.


While most of Rock's financial tools are designed to be multi-purpose, the concept of pledges is closely tied to the nonprofit world of donations. Pledges allows your members and guests to commit to an amount that they will be giving over a stated period of time.


As we mentioned earlier, batches are a way of grouping financial transactions. Grouping transactions allows you to better integrate with your General Ledger software. You will only need to move over the batch totals instead of each financial transaction.

Characteristics of Batches

Before we dive into looking at the screens that make up batches let's first review the characteristics of batches.

Item Description
Name The name is used as a basic descriptor of the batch. You can come up with any naming convention you want.
Transaction Total The sum amount of all the transactions in the batch.
Control Item Count This helps in the scanning process to ensure that no items are missed.
Control Amount When dealing with manually entered transactions, it's common to first do a manual count of the transaction totals by hand. This number is then entered into the Control Amount column to be used as a double-check since transactions are individually entered into the system. When you're done entering your transactions, the batch's Transaction Total should equal the Control Amount.
Status Batches can have one of three different statuses:
  • Open: This means that the batch is editable. The details of the batch can be changed and transactions can be modified.
  • Closed: The batch is done and should not be edited. Once you close the batch you should then move its total into your general ledger.
  • Pending: This is a special status used by the check-scanning software. When a batch is in a state of Pending, it means that transactions are still being scanned into the batch.
Start / End Dates These dates provide a date range for the transactions that they contain.
Account Code When you enter the batch total into your General Ledger there will more than likely be a transaction id generated by that system. This field allows you to enter that identifier.

Working With Batches

Batches can be viewed under Finance > Batches. Below is a figure showing the batch list screen with the various filters that are available.

1 Filters
The following filters help narrow the batches that are displayed on the list.
2 Batches
The filtered list of batches with relevant fields.
3 Actions
Clicking the checkbox next to batches and then selecting an action allows you to quickly open or close several batches at once.
4 Totals
At the bottom of the grid you will see total numbers by account for the batches based on the filters you provide.
Financial Batch Detail
Financial Batch Detail
1 Date Range
The date range of the batch.
2 Transaction Amounts
The transaction total, control amount and the variance between the two.
3 Transaction Items
The count of transactions, control count and the variance between the two.
4 Accounting Code
This is used to store an optional reference number to the organization's primary accounting system.
5 Notes
Batch notes, if any have been added, will be displayed here.
6 Batch Attribute
Any additional batch attributes you create will be displayed here if they are set to show in the grid. For more information, see the Financial Batch Attributes note below.
7 Edit
Access the Edit screen to open or close the batch or to adjust other settings as shown in the example pictured below.
8 Account Totals
This list shows account totals for the accounts that the transactions are tied to.
9 Currency Totals
This list shows account totals for each currency type.
10 Match Transactions
Batches that have been created by the transaction scanner need to have each transaction linked to an individual. This button takes you to the screen that assists with this process.
11 Audit Log
This button will take you to an audit screen that shows each change made to a batch or transaction in a batch.
12 Transaction List
A list of the transactions contained in the batch. Clicking on one of these transactions will take you to the details screen.
13 Transactions / Transaction Details
If a single transaction goes to separate Accounts, selecting "Transaction Details" will provide separate rows in the grid for each Account.
14 Options
Use the Options drop-down to set whether images (e.g. scanned checks) should be shown in the grid.
15 Add Transaction
Assuming the batch is not closed, you can add new transactions to the batch by clicking the icon.

Financial Batch Attributes

Say you want to assign batches specific project codes, accounting codes, or another specific value. You can easily do this by creating an entity attribute with a Financial Batch entity type. Attributes are created in the Entity Attributes screen, located at Admin Tools > System Settings > Entity Attributes. When you choose the Show in Grid option, the attribute values will be displayed in the Batch Detail screen. To learn more about Entity Attributes, see the System Settings chapter of the Admin Hero Guide.

There may be times when a closed batch needs to be reopened in order to make changes. Because reopening a batch can cause hiccups between your system and your financial clearing house, you only want people with a certain level of security to be able to perform this action. This security role is added and modified at the Entity level.

Adding Security to Reopen Batches

To give a person the ability to reopen closed batches, follow these steps:

  1. Go to Admin Tools > Security > Entity Administration.
  2. In the Entity List, locate "Rock.Model.FinancialBatch".
  3. Click to open to the Financial Batch Security window.
  4. Click the Reopen Batch button.
  5. Add roles and users to the Item Permissions, selecting whether to allow or deny each the ability to perform the action.
  6. Click Done.

Once the security permission is set, you can reopen a batch simply by selecting the batch you want to reopen, clicking the Edit button to open the Edit Financial Batch screen, and choosing "Open" from the Status dropdown menu. Click Save when you’re done.

Edit Financial Batch
Edit Financial Batch

Automated Batches Created by Third Party Systems

Third party systems can create automated batches using the "IsAutomated" feature. These batches have an additional "Automated" label. While the transactions of an automated batch are downloading, the batch will have a "Pending" status. To prevent processing errors, this status cannot be changed until the download is complete. Once all of the transactions are downloaded, the status will automatically change to "Open" and the batch can be processed.

Automated Batch

Transactions Created Using Teller Import

Transactions created using Teller Import have contribution amounts and associated accounts but no contributor name. Obviously this can make matching transactions with givers difficult when processing batches. Selecting the "Limit to Existing" option in the Transaction Matching Accounts Filter screen allows you to display only accounts associated with that particular Teller Import file. To access the Accounts Filter screen, click the button in the Transaction Matching screen.

Accounts Filter - Limit to Existing

It's important that all modifications to financial transactions are audited. Below is the audit log screen for a batch. It shows all changes to a batch and the transactions in the batch.

Batch Audit Log


Transactions represent the actual exchange of currencies for activities like donations, event registrations, or other financial events. Each transaction is made up of one or more detail (or sub) transactions. This allows for giving to more than one account in a single transaction.

Viewing Transactions In Batches

Where you view transactions in Rock will depend on what you're trying to do. If you're interested in transactions in the context of a specific batch, you can view them on the Batch Detail screen by selecting a batch from the Batch List.

Batch Details

Clicking on one of these transactions will then display the Transaction Detail page.

Transaction Detail
1 Batch
Link to the batch that the transaction belongs to.
2 Person
Link to the person who initiated and authorized the transaction.
3 Date/Time
This is the date and time that the transaction occurred.
4 Source
Where the transaction originated.
5 Transaction Code
This is the transaction code for the item. Most often this transaction code will be generated by an external service like the credit card gateway.
6 Currency Type
The form of payment that was used for the transaction. These don’t have to be traditional forms of payment like cash or checks. For instance, if Non-Cash Asset is chosen when adding the transaction, you can select an Asset Type of property, stock or vehicles. You can add your own non-cash asset types by adding to the Non-Cash Asset Types defined type.
7 Summary
Any notes related to the transaction.
8 Updates
Information about who last updated and processed the transaction.
9 Accounts
This is the account split for the transaction that shows the details for each account that was included on the transaction.
10 Images
Any images that are associated with the transaction (e.g. check images).
11 Refund
Selecting the 'Refund' button allows you to reverse the transaction. More details on the refund process are provided below.
12 Add Transaction
If the batch is still open you can add a new transaction. This allows you to quickly enter new transactions without having to go back to the batch detail page.
13 Back / Next
The 'Back' and 'Next' buttons allow you to cycle through the transactions in a batch.

The transaction list on the Batch Detail page has a few extra options.

Transaction List Options
1 Options Dropdown
The upper right corner of the list allows you to show the transaction summary or the transaction images.
2 Move Transaction
If the batch is open you can also move the transaction to a different batch (this batch must also be open.)

Searching For Transactions

When you're searching for a specific transaction, it's often easier to use the transaction filtering capabilities found under Finance > Transactions. This screen allows you to provide a set of search options and list transactions that match.


Refunding A Transaction

Sometimes you need to rollback a transaction. Selecting the Refund button from the Transaction Detail page will allow you to reverse the payment using the modal shown below.

Payments Edit Panel
1 Amount
This tells Rock how much the refund should be for. By default the full amount of the financial transaction is entered into the box.
2 Refund Reason
This dropdown allows you to pick from a standard set of refund reasons. You can modify this list under Admin Tools > General Settings > Defined Types > Refund Reasons
3 Summary
This field allows you to enter specific notes about the refund.

On-Site Collection

While the number of online transactions is skyrocketing, we shouldn't neglect to mention the tools that support the traditional on-site collection of cash, checks or even credit cards. Below we'll walk through how we process these transactions in the context of weekly giving.

Processing Cash Transactions

Cash transactions come in two formats: anonymous gifts and gifts given by a known person. Let's look at how we tackle each one.

Anonymous Gifts

Typically you'll enter an anonymous user into your database and link all anonymous gifts to this person. When you count up all of the anonymous cash for the weekend, you can add one transaction for this total amount and select the individual Anonymous.

Known Gifts

There are a couple of options when processing gifts from known individuals:

  1. Manually create transactions for these gifts entering in all the transaction details.
  2. If your organization uses a giving envelope, you could also use Rock's check scanner software to scan in the envelopes. Then, you'd use the Match Transaction feature discussed below to process the remainder of the transaction information.

Credit Cards

You can add credit card transactions manually by going to the Contributions tab on a person's profile page. Either enter a one-time transaction by clicking the Add One-Time Gift button, or you can create a recurring scheduled transaction by clicking the New Scheduled Transaction button.


Checks can be scanned using Rock's check scanning software. More information about setting up and using this software can be found in the Scanning Checks chapter below. Once the checks are all scanned, they must be matched to individuals and their amounts entered into the correct accounts. We'll discuss that next in the Matching Transactions section below.

Matching Transactions

When you've used the check scanning software to add checks or scanned images of envelopes to a batch you must match them to individuals before you can close the batch. To start this process, open the batch you want to work on under Finance > Batches and then click the Match Transactions button.

This will launch a screen to walk you through each check (or envelope) and allow you to tie them to an individual and enter the amounts into the proper accounts.

Transaction Matching
1 Progress Indicator
2 Add Family
You may find that the transaction is for someone who is not currently in the system. Using this button will pop up a new window where you can add them.
3 Settings
Allows you to select which accounts you are entering amounts for.
4 Check Images
5 Individual
Rock can match a person to the account and routing number of their checking account. If a person already matches the check's account information, you can pick them from the list.
6 Assign To New
Assigns a new individual to the check’s account number.
7 Envelope #
Allows you to search for an individual by their giving envelope number.
8 Person Details
The screen will present the currently matched person's address and contact information. This is a great way to not only ensure that you have matched to the current individual but also that their contact information has not changed.
9 Account Split
Accounts are shown to allow you split the checks total across multiple accounts based on notes in the memo field of the check or outside of the envelope.
10 Navigation Buttons
Buttons at the bottom of the screen allow you to go to the next record or re-visit a previously completed record.

Saved Check Matching

Once a person is matched to a check via the check's MICR information their name will be displayed in the 'Individual' dropdown shown in item #5 above. You can remove someone from this list by removing the bank account from the Contributions tab of their Person Profile page.

Multiple People Matching At The Same Time

With large batches you might want multiple people to work on matching at the same time. Rock allows this by making sure that each person gets a different record to work on.

Giving Envelopes

Does your church use envelopes for giving? You can use Rock to generate envelope numbers, search for members by envelope number, and use envelope numbers to help with matching transactions. Let’s look at how to set up Rock to do this.

Enabling the Envelope Number Global Attribute

Envelope Number Global Attribute
Enable Envelope Number Global Attribute

Envelope numbers are a global attribute in Rock, which means switching them on in one place makes them available across the system. To turn the envelope numbers option on, go to Admin Tools > General Settings > Global Attributes. Select Enable Giving Envelope Number from the attributes list, and choose 'Yes' from the dropdown menu. Click Save. Rock is now set to display giving envelope options.

Assigning Envelope Numbers to Members

Envelope numbers are assigned in the Edit Person screen, accessed from the Person Profile. Simply go to a person’s profile and click the button in the bio block.

Envelope Number Field on Person Profile Screen
Person Profile Envelope Number

The envelope number field is located in the Advanced Settings section at the bottom of the Edit Person screen. You can enter a person’s existing envelope number into the Envelope # field, or you can allow Rock to assign a new envelope number by clicking the Generate Envelope # button. When finished, click Save. The envelope number is now associated with that person.

Envelope Number Alert
Person Profile Envelope Number Alert

If you enter a number that is already assigned to someone else, Rock will display an alert asking if you also want to proceed. There may be times when you’ll want two or more people to have the same number, such as when assigning numbers to multiple members of the same family. Click OK to continue.

Searching for Envelope Numbers

Once envelope numbers have been assigned to members, you can quickly view them using the Directory search function (People > Directory). To do this, you first need to enable envelope numbers in the Person Directory block settings.

Person Directory Block Settings
Directory Search Block Settings

Locate the Show Envelope Number field in the Person Directory block settings, and select 'Yes' from the dropdown menu. Click Save. Now envelope numbers will be included in the information returned for directory searches.

Directory Search with Envelope Number Displayed
Directory Search with Envelope Number Displayed

Keeping this functionality in one search screen, rather than accessing individual profile pages, can save you or your volunteers a lot of time.

Now that you have envelope numbers set up, let’s look at how they can be helpful when matching transactions.

Transaction Matching by Envelope Number

When matching transactions, you can search for members by their assigned envelope numbers. Simply enter the envelope number into the Envelope # field and click Find. The name and information of the individual associated with that number will be displayed.

Matching Transactions with Envelope Numbers
Transaction Matching with Envelope Numbers

If the number entered isn’t found, Rock will display an alert. If more than one person has been assigned that number, you’ll be prompted to choose which person you wish to associate with the transaction.

Multiple Envelope Numbers Alert Message
Multiple Envelope Numbers Alert

Scanning Checks

Rock provides special tools to help automate the scanning of large amounts of checks. Let's take a look at what's available.

Supported Operating Systems

Rock's check scanning software should work with anything greater than Windows 7. It will NOT work with Windows XP.

Supported Scanners

Rock supports three types of scanners with its scanning tools.

Scanners that Support the Ranger Interface

Rock has integrated with the Ranger Interface API toolset from Silver Bullet Technologies. Technically any check scanner that works with the Ranger API should work with Rock. That said, in the process of developing Rock and testing, we have exclusively used the Canon CR-series of check scanners (specifically the CR-L1). While other makes and models should also work, we haven't tested them. Ranger provides a list of supported scanners on their website.

Use the Latest Ranger Driver

In our testing, we've noticed that the latest Ranger drivers work better at reading the check's MICR information. Be sure to download the latest driver from your scanner manufacturer. For those using the Canon CR-L1 try this link.

MagTek MICRImage

Because of the large number of these legacy scanners available, we have also integrated and tested with the MagTek MICRImage check scanners. To use the MagTek MICRImage, please install the drivers from MICRImage. Once on the "software" page scroll down to the OCX title and download the MICRImage OCX - PN99510045 - v112.

Additionally, as part of the Magtek family, we support the Image Safe USB check scanner. Download and install the drivers for this scanner here: Image Safe.

Installing Image Safe drivers

When you reach the MagTek website to download the driver for the Image Safe scanner, the download contains several files. Once the download is complete unzip the download and follow the instructions on where the files are located. Once you reach the ExcellaSTXImageSafeInstall folder you'll choose the 'setup' application to install.

If purchasing a new scanner

If you're in the market for new scanners, we highly recommend using the Canon CR-series.

Rock Check Scanning Software

Rock's check scanning software allows you to quickly and easily add checks to transactions in Rock. Let's walk through the process of scanning checks using this software.

Installing the Rock Check Scanning Software

Installing the check scanning software is easy. It requires a Windows machine running Windows 7 or later to run. To install, follow these steps:

  1. First, install the drivers for the scanner you'll be using. If you're using the Canon CR-series, that will be the Ranger software that came with your scanner. In either case, these are simple installs.
  2. Download the setup application under Admin Tools > Power Tools > External Applications > Rock Check Scanner.
  3. Run the setup. The check scanning setup is a breeze with just three quick screens.

Using Rock Check Scanning Software

Once everything is installed, start by launching the Rock check scanning software and logging in. Users must be a member of one of the security groups below to log in using this software:

  • RSR - Finance Administration
  • RSR - Finance Worker
  • RSR - Rock Administration

If this is your first time logging in, you'll also be asked for the web address of your Rock server. This is the address that the scanning software will upload checks to.

Login Screen

Software Options

First off, we'll show you where the software settings are so you can configure them to meet your needs. To do this, select the icon located on the bottom right of the check scanner window. You can always come back to this page to make any adjustments at any time.

Scanner Settings
Scanner Settings
1 Scanner Information
This area displays information about the physical check scanner that is currently configured.
2 Rock URL
You’ll want to confirm this contains the correct Rock server address for your organization.
3 Scanner Interface
Select the type of interface that’s currently set up (Ranger or MagTek).
4 Scan Image Color Type
Select the color depth that should be used when scanning. Options will vary by scanner. The Ranger interface supports black/white, grayscale and color. Just understand that using an option other than black/white will significantly grow the size of your database.
5 Scanning Options
Select the options that best fit your scanning process.

  • Capture Amount on Scan: If enabled, the scanning process pauses after each check is scanned to allow the entry of the dollar amount on the check. Enabling this also enables the "Batch Options" and "Accounts for Capturing Batches" options.
  • Campus Filter: The list of available accounts (when Capture Amount on Scan is enabled) can be filtered by campus. Accounts that are not tied to any campus will always appear in the list.
  • Batch Options: Select whether the Control Amount and/or Item Count fields in the Batch Details should be required. These options are only available if Capture Amount on Scan is enabled.
6 MICR Read Sensitivity/Plurality
The Ranger driver allows you to adjust the sensitivity and/or plurality of the MICR reading. You probably won’t need to change these unless your check scanner is having problems reading checks properly. See the next section below for full details on these settings.
7 Accounts for Capturing Amounts
Used when entering the amount for the check to go to a specific account. The list of accounts is only available if Capture Amount on Scan is enabled.

Sensitivity and Plurality

For the most part you shouldn’t need to adjust these settings. However, if you’re running into problems reading checks, changing the Sensitivity and Plurality values might help.


To understand how sensitivity and plurality work, you need to know about scores. When the scanner reads a character, that character is assigned a score. The score is based on how confident the scanner is that it read the character correctly.

For instance, let’s say the number “3” is being read on the check. We know it’s the number “3” but the check scanner thinks it could also be an “8” because those numbers have similar shapes. The scanner will assign a score to both “3” and “8” based on how confident it is about which number is being read. In this example, we’ll say “3” is assigned a score of 240 and “8” is assigned a score of 130. These scores indicate the scanner is more confident about “3” than “8”.


The Sensitivity setting is like a cutoff, or threshold, for the scores described above. By default, the sensitivity is set to 128. So, if the score for a character is below 128, that character is rejected as incorrect. You can raise or lower the sensitivity to accept or reject different confidence scores. Any value between 1 and 255 can be chosen.

In the example described above, the numbers “3” and “8” were assigned scores of 240 and 130, respectively. Because the default sensitivity value is 128, and because both scores are above 128, both are potentially correct. If we increased the sensitivity to 138, the score for “8” would be too low and the scanner will select “3” as the correct character being read.


Let’s say the numbers “3” and “8” are assigned scores of 130 and 125, respectively. In this case, with a default Sensitivity setting of 128, the number “3” is favored because its score is higher than 128. But the scanner is almost equally confident about both numbers, so there’s a risk it could pick “3” when the true character is actually “8”.

To account for this scenario, the Plurality setting looks at the difference between scores. This lets you set how different the scores should be before deciding on the correct character. By default, the plurality value is set to 128. This means the difference between scores must be at least 128. In this example, the difference between scores of 130 and 125 is only 5, which falls below the plurality threshold. In that case, the scores aren’t different enough to know for sure which one is correct, and neither is chosen.

Working with Sensitivity and Plurality

Now let’s bring it all together. We’ll circle back to the original example, with the character “3” assigned a score of 240 and the character “8” assigned a score of 130. To start, we’ll assume default (blank) values of 128 for both Sensitivity and Plurality settings.

Keeping in mind what you now know about these settings, we can already tell that neither “3” nor “8” will be selected. Even though both scores meet the sensitivity threshold, the difference between them is only 110, which does not meet the plurality threshold of 128. The scores are too close together to be sure which one is correct. Lowering the Plurality setting to 100 would resolve this, and “3” would be returned as the correct character.

Both thresholds must be met for a character to be returned. If the Sensitivity setting is changed to 255, and the Plurality setting is changed to 100, then no character will be returned in this example. Even though the plurality threshold has been met, neither of the scores are high enough to meet the sensitivity threshold of 255.


When the scanner can’t determine a character, it will return the “@” symbol. If you’re seeing lots of “@” symbols in your scans, adjusting the Sensitivity and Plurality might help.

Finding the right settings can be a bit of a challenge because, unlike the examples we’ve discussed above, you won’t know what the scores are. The scores are assigned and evaluated behind the scenes. So, you might need to run a few tests with different settings to see what works best.

We recommend changing in increments of 10 as a general guideline. Given default values of 128, you might change the Sensitivity to 138 and the Plurality to 118. If that doesn’t work, you might try keeping the Sensitivity at 128 but lowering the Plurality to 118. When you make these changes, be sure to test with several different checks. The key is to find the right balance that gets you the most consistently accurate results.

Scanning Checks

When you're ready you'll be at the home page. Here you can start scanning checks to a current batch listed or create a new batch right from this window by pressing the icon next to the batches panel.

Now press the Scan button pictured below to start scanning and advance to the Scan Settings page.

Check Scanner Home Screen
Check Scanner Home Screen

The Scan Settings page (pictured below) lets you select which tender type you'll be scanning into Rock. In most cases you'll be scanning checks, but you can also select "Cash" if you want to scan the envelopes that the cash transaction came in.

Scan Settings
Scan Settings
1 Currency Type
Select the currency type you will be scanning. The available settings will change based on the currency type and the scanner driver that you select.
2 Single / Double-sided
Determines if Rock should scan one side or both sides of the selected currency.
3 Transaction Source Type
This setting allows you to set the transaction source for the scan. This is helpful for times when you'd like to differentiate bank checks that are from the bank's bill pay system from normal personal checks. You'll notice that not all transaction sources are displayed on this list. You'll only see those that are marked as 'Show In Check Scanner' under Admin Tools > General Settings > Defined Types > Transaction Source.
4 Enable Double Document Detection
The Ranger driver can communicate with the scanner to detect when two or more checks are scanned at once (e.g. because they’re stuck together). It does this by measuring the thickness of what’s being fed into the scanner, so if you're scanning items thicker than a single check (like envelopes) you'll want to ensure this is turned off. Some Ranger model check scanners have a physical button or switch to press to enable duplication detection such as the CR-120 and 150 models. Be sure to check your check scanner user manual for verification.
5 Enable Smart Scan
With smart scan turned on the scanner will read the contents of the MICR on the check to ensure that the same check is not scanned more than once. Also, this should be enabled if you want to be notified if check account information cannot be read correctly.

Extra Features:

The double-sided scanning and double document detection options are only available on scanners using the Ranger API. See the Supported Scanners section above for more info on scanners that support the Ranger API.

Now the check scanner will start scanning checks. If there is a problem reading one of the checks, it will immediately stop the scanning process and warn you of the error (upside down check, check facing backwards, etc.) From here, you can skip the bad scan and attempt a rescan, upload the scan as-is without the check account information, or stop the scanning process.

Capture Amount On Scan

When Capture Amount On Scan is enabled, you'll notice (pictured below) that the check scanning pauses for each check so you can add the amount. It also shows the Control Items and the Control Amounts at the top, which will be updated after each scan.

Check Scanning - Capture Enabled
Check Scanning - Capture Enabled

If Capture Amount On Scan is not enabled, the page pictured above will instead appear as pictured below. You’ll note below that the Control Items, Control Amounts and check amount fields are no longer visible.

Check Scanning - Capture Disabled
Check Scanning - Capture Disabled

After the scanner finishes with the batch of checks in its hopper, you can add more and scan again. When you’re done scanning, press the Close button. The main page (pictured below) will show the list of batches and the scanned items. From here, you can add and delete batches, view or delete individual transactions, or start scanning additional items.

Home Screen with Transaction
Home Screen with Transaction

When viewing transaction details, you can see the scanned date and time, the transaction date and time (determined by the batch date), and additional details of the transaction. You can also adjust the amount of the check and its disbursement for accounts.

Transaction Details - Capture Enabled
Transaction Details - Capture Enabled

The details page is also impacted by whether Capture Amount On Scan is enabled or not. It is enabled in the screenshot pictured above, so the check amount is available for edit. In the example pictured below, Capture Amount On Scan was not enabled, so there is no amount to edit, but the other details can still be viewed.

Transaction Details - Capture Disabled
Transaction Details - Capture Disabled

Dates Associated with Scanning

The Scanned Date/Time that you see in the Scanner Grid is the Date/Time that the scanned item was uploaded. The Transaction Date/Time of each scanned transaction is determined by the Batch Date at the time of the scan. Note that if the Batch Date was changed after some checks were already uploaded, the previously scanned checks would have the old Batch Date and the new scanned checks will have the new Batch Date.

Scheduled Transactions

Some transactions occur once and then they're done. Sometimes your guests will want to set up repeating payments that run on a selected schedule (weekly, monthly, etc.). Rock calls these Scheduled Transactions.

Administrating Scheduled Transactions

You can view all of the scheduled transactions in Rock under Finance > Scheduled Transactions.

Scheduled Transactions

From there you can choose a scheduled transaction to edit.

Adding A New Scheduled Transaction:

Scheduled transactions must be entered from the individual’s Person Profile page. They can also be added by your guests on your external website.

Scheduled Transaction Detail
Status of the schedule (active or inactive).
Scheduled transaction details.
History of changes and edits to the scheduled transaction.
4Change Account
Link to change account allocation. This option is available for open batches only. When clicked, Rock displays the current account allocation and allows you the option to add and delete allocations.
Button to cancel the scheduled transaction. (Note: Some financial gateways, such as Pay Flow Pro or NMI, allow you edit scheduled transactions. In such cases, an Edit button is displayed here as well.
Listing of transactions that have been initiated by the schedule.

Personal Profile

Scheduled transactions can also be viewed on the individual's Person Profile page under the Contributions tab.

See our Person and Family Field Guide for more information.

Scheduled Transaction Frequencies

The following options are available as frequency patterns for scheduled transactions. Each payment gateway will support only a subset of these options. Each gateway will also have some special rules for how they calculate the schedules. Notes on these rules can be found at the end of this document under the chapters for each gateway.

  • Weekly: Every 7 days starting on the start date.
  • Bi-Weekly: Every 2 weeks starting on the start date.
  • Twice A Month: Twice a month. Usually this is used with the start date of the first of the month. Payments will then come out on the 1st and 15th of the month.
  • Monthly: Once a month on that day of the month established by the start date.
  • Quarterly: Every three months on the same date as the first payment.
  • Twice A Year: Every six months on the same date as the first payment.
  • Yearly: Once a year on the same date as the first payment.

Downloading Transactions

There are two ways to configure this download. The first way is to setup a Download Payments job to run every night. This can be done under Admin Tools > System Settings > Jobs Administration. This job will run each night (or when you decide you want it to run) and create batches and transactions for new payments.

Don't Forget To Setup The Download Job

It's important to remember to set up the Download Payments job if you want the transactions to download automatically (highly recommended).

The download job has a few settings that you should review. These include:

  1. Batch Name Prefix: When the transactions are downloaded from the gateway, they're assigned to a batch. You can configure the names of these batches to all start with a certain prefix.
  2. Days Back: The number of previous days that the download job should use when querying the gateway for processed transactions. We recommend a value of seven. This allows for times that the job may not run every day. There is no risk in downloading the same transaction on multiple days as Rock keeps track of which transactions have already been added.
  3. Receipt Email: Each time a new transaction is downloaded for a person, Rock can send them a receipt of that transaction. Use this setting to specify the system communication that should be sent when new transactions are downloaded.
  4. Failed Payment Email: You can send a communication to specific recipients if a scheduled payment fails. Choose which system communication you want to send from the dropdown menu.
  5. Failed Payment Workflow: You can launch an optional workflow if a scheduled payment fails. Choose the workflow you want to run in this field.

You can also choose to manually download the new payments from the payment processor. You can do this under Finance > Download Payments. This does the same thing as the Rock job but requires you to manually run the download. This block also has settings that are similar to the job settings for setting the batch prefix and email receipt.

Setting a Payment Reversal Notification Workflow

The Scheduled Job Detail screen also includes an option to trigger a workflow when a scheduled transaction is declined (called a "reversal"). You can configure the workflow to perform any necessary follow-up task, such as sending an automated communication. Simply configure the workflow in your General Settings, then select it from the Failed Payment Workflow dropdown menu.

Downloading transactions from the gateway is actually a bit trickier than you might think because of certain edge-cases and advanced features. We'll cover some of these next.

Recent Scheduled Transaction Changes

Consider this example. Ted has a scheduled transaction set that takes $120 out of his account every week and puts it to the General Fund account. Early in the morning the payment gateway creates a new transaction for this amount. Ted arrives to work and changes his giving to $100 per week. Finally later in the day, the church's Download Schedule Transaction job runs and pulls that day's transactions down from the gateway. The gateway's transaction says it's for $120 but Rock's information only has $100 allocated. When this happens (certainly a rare edge-case) Rock will apply any extra amount to a default account. This default account is the first active account that does not have a parent account and where current date falls between the account's start/end dates.

Naming Batches for Online Giving

The way that Rock calculates the Batch Name is by combining a batch prefix and a batch suffix. The prefix is usually set by a block or job setting (the default value used by the Transaction Entry block, Scheduled Payment Download block, Get Scheduled Payments job etc. is Online Giving). The suffix depends on the currency type (Tender Type Defined Type). If it is not a credit card transaction then the currency type value is used (e.g. ACH). If it is a credit card transaction, then the Credit Card type value is used (e.g. Visa, MasterCard, etc). However, the Credit Card defined value also has a Batch Name Suffix that can be used to override this value. For example, if you want to combine Visa, MasterCard and Discover transactions into the same batch, you can set all three of these defined values Batch Name Suffix to the same value (e.g. VMD) and then transactions of these types will be combined into the same batch.

Expiring Credit Card Notification

By default a Send Credit Card Expiration Notices job is configured to run once a month. This can be found under Admin Tools > System Settings > Jobs Administration.

Expiring Credit Card Job Configuration

When run, this job sends an Expiring Credit Card Notice system communication (Admin Tools > Communications > System Communications) to the person whose credit card will expire the following month. If you wish to do additional processing for each expiring scheduled credit card transaction, the job can optionally be configured to launch a custom workflow. You can also choose to delete any saved accounts with credit cards that have expired after the provided number of days.

Online Giving

In this fast paced world, people are always looking for a way to save time. Online donations are a great way to provide flexible options to your attendees, while bringing consistency to your weekly giving. Let’s tour the online transaction options included in Rock.

These Tools Can Be Used For More Than Giving:

While the tools we'll discuss in this section were created mainly for online donations, they can be used for any type of online payment or transaction.

Types of Giving Transactions

As we’ve seen earlier there are two types of giving transactions:

  • One-Time Transactions: A single specific gift given on a single date.
  • Scheduled Transactions: A recurring transaction that follows a set schedule (weekly, monthly, etc.)

External Website Tools

Rock provides several pages for your website guests to use to set up and manage their online transactions. These pages can all be found under the Give Section.

Giving Homepage

Giving Homepage
Links to the various giving management pages.
If the guest is logged-in, a personalized view of their scheduled transactions will be shown with the option to give now.

Give Now Page

The give now page is a flexible page that walks a person through the process of giving in a wizard-like fashion.

Online Giving Flow
1 Entry Step
The entry page is used to get the giving details from the guest. More information on this step and its settings can be found below.
2 Confirmation Step
The next step in the process confirms what the guest has entered before saving and processing the transaction. The confirmation header and footer of this step can be customized from the block settings.
3 Final Step
The final step provides the guest with the ability to save their account information (credit card or check account/routing number) for future use. It will also encourage the visitor to create a login to use for subsequent visits. Like the confirmation step, the header and footer can be updated from the block settings.

The entry step is by far the most complex. Let’s look at it in more detail.

Give Now Page
1 Accounts
The guest will first be asked to select the dollar amount they would like to contribute to each account. The accounts that are listed are configured via a block setting.
2 Additional Accounts
You can also configure less-frequently used accounts to be added from a list.
3 Frequency
This setting determines if the gift will be one-time or be configured to process on a schedule of their choosing. See the section Scheduled Transactions for details on the scheduling patterns for each option. You can disable the creation of scheduled transactions using the block settings.
4 When
This determines when the gift will come out of their bank. When used with a scheduled transaction this will be the start date for the schedule.
5 Personal Information / Business Information
This is the name and contact information of the guest. If they're logged in, it will be auto-filled with their current information. If they change it here, this information will also be updated in the database. If they have given as a business, they can view the business name and information here as well by changing the Give As option to 'business'.
5a Give As
When Business Giving is enabled, both the individual and business names will appear as tabs which allow the user to view the information of each.
6 Payment Information
This contains the credit card or checking account information needed to process the transaction. The block settings define a payment gateway for both credit card and ACH (checking accounts). If you would like to disable either of these payment types, simply leave the gateway blank for the one you would like to exclude.

The giving entry block has a few other settings that you should know about. These include:

  1. Batch Name Prefix: When the transactions are downloaded from the gateway, they're assigned to a batch. You can configure the names of these batches to all start with a certain prefix.
  2. Source: For reporting, it’s good to know where a transaction came from. For instance, you might use this block on your main website or a web-based kiosk in your lobby. Knowing the source for every transaction will help you determine the success of each platform. New source options can be set up under Admin Tools > General Settings > Defined Types > Transaction Source.
  3. Address Type: You'll want the address information the guest entered to be for their home address in most cases, but you can change this if you wish.
  4. Layout Style: This setting determines if the layout should be:
    • Vertical: Sections are stacked vertically (default)
    • Fluid: Sections flow in a horizontal layout as they fit.
  5. Display Option For Selecting Additional Accounts Determines if the Additional Account option is shown.
  6. Impersonation This setting allows staff with proper security to enter in gifts for individuals in the database. This is helpful in cases where the block is used internally.
  7. Prompted For Phone Determines if the guest should be asked to provide their phone number on the entry screen (default is no).
  8. Prompted For Email Determines if the guest should be asked for their email address on the entry form (default is yes).
  9. Enable Business Giving This setting displays the option to give as a business. When selected, the user can toggle between their personal and business information on the Give Now and Giving History screens.
  10. Confirm Account Email Template When a guest decides to create an account after confirming the gift, you can send them an email confirming this action. This setting allows you to select the email template to use for this email.
  11. Receipt Email Template When a guest's gift has been processed, you can send them an email receipt. This setting allows you to select the template to use for this email. If this setting is left blank no receipt will be sent.

Transactions that occur from the Give Now page will be immediately processed through the payment gateway and added to a batch using the Batch Name Prefix block setting.

Giving History

This page shows all other previous transactions for the logged-in user. Note the Show Giving For tabs which allow you to toggle between individual and business giving history.

Giving History
1 Date Range
This allows the user to filter the transactions shown to a specific date range. The default range is the first day of the current year as the start date and the current day as the end date.
2 Accounts
Used to filter transactions based on the account. The list of accounts shown is configured on the block settings.
3 Summary
Shows transaction totals based on the filters provided.
4 Transaction List
Shows all the transactions based on the filters.

Manage Giving Profiles

This page allows the guest to managing any scheduled transactions they have created.

Manage Giving Profiles
1 Profiles
Listing of all configured scheduled transactions with the ability to edit or delete each one. This listing is created with a liquid template that allows you to modify the markup that's used to build the list.
2 Add Profile
Button that allows the guest to create a new scheduled transaction.

Moving To A New Payment Gateway

If your organization decides to move your online giving to a new payment gateway, this block has settings to help you transfer your scheduled transactions to the new gateway. See the Transferring Gateways section of the Payment Gateways chapter for details on how to handle this scenario.

Saved Payment Accounts

Your website guests have the option to save their credit card and bank accounts for later use. This screen allows them to manage these accounts. The options on this screen will vary depending on your gateway provider. At the very least though your guests will be able to delete these accounts from this page. Some providers may allow you to also edit the saved payment accounts.

Manage Giving Profiles

Batches For Online Transactions

Unlike processing on-site transactions, which are manually entered, the creation of online transactions in Rock is an automated process. The steps differ a bit depending on whether the transaction is a one-time transaction or a scheduled recurring transaction.

One-Time Transactions

When a one-time transaction is created online, it's immediately sent to the payment gateway and processed. If the gateway accepts the payment, a transaction is immediately created in Rock. The transaction is added to an Online Transaction batch. The transaction will be placed in an existing batch if one is available with the following criteria:

  • Is open
  • Has a matching prefix to the one defined on the transaction entry block
  • The current date and time falls in between the batch’s start and end date

Otherwise, a new batch will be created for the transaction with a start and end date of the current day.

Future One-Time Gifts:

If a one-time gift is configured to process on a day other than the current day, it will be processed like a scheduled transaction.

Schedule Recurring Transactions

Scheduled transactions work a bit differently than one-time gifts. These transactions must be downloaded at a later date from the payment gateway. See the Downloading Transactions section of the Payment Gateway chapter for details on how to download these transactions.


Accounts determine what a transaction is for. In our examples above, both the General Fund and the Building Fund are accounts. These accounts usually tie into your accounting system. Accounts are managed under Finance > Accounts.

Account List

This page shows a list of all the accounts defined in Rock.

Account List

Note the hierarchical navigation tree on the left side of the screen. Like with the Group Viewer, this structure allows you to quickly and easily organize and view your accounts. Click the button to filter by Active or All accounts.

Account List Filter Option

Account Details

From the list above you can add or update an account using the account details screen.

Account Details
1 Name:
The name that will be used when selecting an account.
2 Description:
This is a great place to document what the account will be used for and any details you'd like to keep about when and how it should be used.
3 Active:
Since accounts cannot be deleted if they are used by any transactions, you'll need to mark them Inactive once they should no longer be used.
4 Is Public:
This is where you designate if the account is public and should be viewable on the public website.
5 Parent Account:
Rock allows you to create account hierarchies to help manage situations when you need to configure numerous accounts.
6 Account Type:
This setting allows you to categorize your accounts to help with reporting. The setting has no impact on how accounts are used in Rock. The list of account types can be set under Admin Tools > General Settings > Defined Types > Account Types. You might consider using this setting to designate accounts that are used for donations vs. those you use for event registrations.
7 Public Name:
You might want to describe your account differently when it's shown on the public website. This field allows you to configure a public-friendly name for your account.
8 Campus:
If the account is specific to a campus, you can select the campus here. This is disabled if you have only one campus.
9 GL Code:
The reference code used in the General Ledger software.
10 Date Range:
The date range you provide here will help determine when the account is displayed on various screens in Rock. If the account is no longer valid, based on the date range, then it will not be displayed when picking from accounts.
11 Is Tax Deductible:
Helps determine if the transactions assigned to this account are considered tax deductible. This is used in reporting.
* Url:
Although unused in Rock's core features, this URL could be used to generate a link to a custom 'More Info' page.

Custom Account Attributes

To add custom account attribute, go to Admin Tools > System Settings > Entity Attributes Once there add a new attribute and set the Entity Type field to Financial Account and set the other settings as needed. Once you do this, the account's attribute value can be edited near the bottom of the Account Detail page.

Giving Analytics

The giving analytics block provides you with a powerful tool for analyzing and reporting your giving information. Let's look at how we can use this block to empower your organization.

Chart Mode

Chart mode allows us to get summary information on the transactions that meet our search criteria. While the main view is the chart we can also get the numbers behind the chart.

Giving Analytics Chart Mode
1 Date Range
The first setting is the date range of the transactions that we're interested in.
2 Total Amounts
Located in the Advanced Options, this is a numeric range of dollar amounts that should be used to filter the total gifts on. Note that this range is on the total amount of gifts per giving unit for the period / filters you've provided not a range of a specific gift.
3 Limit by Data View
Located in the Advanced Options, this allows you to limit who is considered for the report based on the data view provided.
4 Available Accounts
Located in the Advanced Options, these allow you to decide whether to include only active accounts and/or only tax-deductible accounts.
5 Currency Types
This allows you to filter gifts that were given by a certain currency type.
6 Transaction Source
You can also filter on a source for the transaction. This allows you to see what medium your donors give by.
7 Accounts
This setting allows you to filter by financial account.
8 Group By
The group by setting tells us the time series to use on the x-axis of the chart.
9 Graph By
This determines what series you would like to see on the graph.
10 Copy Link
The Copy Link button lets you share the currently displayed overview of giving with a colleague.
11 Show Data
This allows you to see the data behind the graph.

Details Mode

The details mode shows us the individuals behind the data. Note that the data is show by 'Giving Unit'. If an individual combines their giving with their family then the head of household will be listed instead of the individual matched to the transaction.

Giving Analytics Details Mode
1 Filter
An additional level of filtering is available when looking in details mode. You can choose to view transactions by:
  • All Givers: This displays information for all giving units matching the criteria on the left.
  • First Time Givers: This will only show information for giving units whose first gift is with-in the date range provided on the left.
  • Pattern: This allows us to provide a pattern like 'Has given at least three times in the select range and did not give between another date range.'
2 Return Type
This setting provides four different ways to view family members that have a contribution transaction matching the selected filter criteria. These settings are a great way of getting lists of people to send communications to.
  • Giver: This will show each of the giving leaders associated with the matching transactions and the amount given. This view is best for determining the total amount given for each person because multiple people are not shown for the same transactions. Because of this, it is the only view that displays a grand total amount at the bottom of the list.
  • Adults: This will show all the adults that have matching transactions or are combining their giving with a person who has matching transactions. It also displays the total amount given by the combined members with each adult listed.
  • Children: This will show all the children that have matching transactions or are combining their giving with a person who has matching transactions. It also displays the total amount given by the combined members with each child listed.
  • Family: This will show all family members who have matching transactions or are combining their giving with a person who has matching transactions. It also displays the total amount given by the combined members with each person listed.

For example, consider the Decker family. Ted and Cindy both have selected to combine their giving with the Decker Family, but Noah and Alex both give individually (they do not combine giving with any family). If Ted gave $300, Cindy gave $50, and Noah gave $5 during the selected time period, the views would show the following:

  • Giver: This will show Ted with $350 given and Noah with $5. This is because Ted and Cindy are the same "giving unit", and Noah is his own. Alex is also her own giving unit, but did not give anything during the selected period.
  • Adults: This will show Ted with $350 and Cindy with $350. This is because they are the adults in their family and their combined, total given for the family was $350.
  • Children: This will show Noah with $5. This is because Noah is a child in his family, he does not combine his giving with the family and his total given was $5. Alex is also a child in the family but because she did not give anything and because she does not combine her giving with anyone who did, she will not appear in the list.
  • Family: This will show Ted and Cindy each with $350, and Noah with $5. It shows $350 for Ted and Cindy because that is the combined total of their giving since they are configured to combine their giving. It shows $5 for Noah because he is not configured to combine his giving and his total was $5. It does not show Alex because she did not give anything and she is not configured to combine her giving with anyone.
3 Data
The grid displays the transactions by giving unit that meet the provided criteria.

Last Gift Ever

Quick note on the 'Last Gift Ever' column on the Giving Analytics block. If spacing weren't an issue this column would really be named 'Last Tax-Deductible Gift Ever to Any Account'. When using patterns to exclude people with certain giving trends this column can be a little confusing until you realize it is not filtered by any account.

It's important to keep in mind that Rock's Giving Analytics reporting is focused on reporting on people and ministry weeks, not reporting on dollars and transaction dates. For that reason, Rock groups contributions together according to a Sunday date. Rock's weeks, for the purpose of attendance and giving, run on a Monday to Sunday timeframe by default. This provides insight into giving by people during a specific week. However, this means the results won't line up entirely with a calculated total of transactions grouped by the transaction date. For instance, December 31 was on a Monday in 2018. Giving analytics for 2018 split by week would therefore show contributions from December 31, 2018 in the week of January 6, 2019.


Pledges predict the level of donations you can expect in a given timeframe. Some organizations use them to plan for their yearly budgets. Others use them to track what has been committed to a specific building or capital campaign. Either way, Rock can help you easily track these commitments.

Managing Pledges

Pledges are frequently given via paper commitment cards. When this occurs, someone within the organization will need to hand-enter the pledges into the system. This can be done under Finance > Pledges. From this screen you'll see a list of all pledges currently in the system. You can use the grid filters to help limit which pledges are shown.

Pledge List
1 Filter Options
Available pledge filters
Listing of pledges that match the filters provided

Ready for the Spotlight

The Pledge List block has several block settings to show/hide columns and filter settings. This makes it a powerful block for your external website.

From this pledge list page you can update or add new pledges. The figure below shows this screen with the various options available.

Pledge Detail
1 Person
This is the person who is making the pledge. For families you'll want to pick the head of house. As with many of Rock's financial tools, pledges can be viewed from a family perspective when linked to any adult in the family.
2 Account
The account that the pledge is for. Often times this will be a unique account for a capital campaign or building fund.
3 Total Amount
This is the dollar amount that will be given over the duration of the pledge.
4 Date Range
This defines the duration of the pledge.
5 Payment Schedule
This determines how often gifts (financial transactions) will be given to meet the pledge amount.


When possible it's a great idea for members to enter their own pledges online. This not only allows you to reduce the amount of data entry, it also allows them to create a recurring giving profile to match their pledge. The sample external website that comes with Rock already has a pledge entry screen configured for you to use. You can find this page under Give > Pledge.

Pledge - Self Entry

This pledge block on the external site has several block settings to make it is very flexible for you to use. These settings include:

  • Enable Smart Names: This feature will attempt to find a matching person record in Rock to link the pledge to. This match will occur if a record exists with an exact match on first name, last name and email address. There’s also some logic built in to handle cases when someone types in Ted and Cindy or Ted & Cindy in the first name field. When this happens only the value Ted will be used in the search. If an exact match does not occur a new person record will be created with the record status of pending, for future review by an Admin.
  • Account: If you provide a specific account as a block setting, the guest won’t have to pick one, and their pledge will automatically be assigned to this account.
  • New Connection Status: In the case where a new person record must be created this will be the connection status that will be assigned to the record.
  • Pledge Date Range: This setting allows you to assign a date range for the pledge. If you provide both a start and end date these values will be used, no dates will display and the guest will not have to worry about entering them.
  • Show Pledge Frequency: Determines if the Pledge Frequency field should be displayed. You may not want your guest to have to provide this information.
  • Require Pledge Frequency: There may be times when you would like to show the pledge frequency but not require someone to enter one. In other cases, you might want to require this item. With this setting you can have it any way you'd like.
  • Save Button Text: This setting allows you to customize the text of the Save button.
  • Note Message: The block allows you to provide a note to your guests to help explain the pledge in more detail.
  • Receipt Text: This is the message that will be displayed to your guest upon saving. This is a great place to celebrate their commitment. It comes out of the box configured to link them to set up a recurring donation to match the frequency they selected. If one was not selected, it will allow them to pick one. This field supports liquid so you can personalize it.
  • Confirmation Email Template: You can also select to send a template confirmation email after the save. This email template can use the same liquid merge objects from the Receipt Text field.
  • Enable Debug: When you enable this setting, you'll see all of the available merge fields along with their values. This is helpful when you go to create your Confirmation Email and Receipt Text. These fields will only display after saving a pledge, so you'll need to save a sample one, and then delete it.

More On Block Settings:

Be sure to read Designing and Building Websites Using Rock for more information on changing block settings.

Once a person enters their pledge on-line you can still view and manage it using the same pages as described in the Internal Entry section above.

Pledge Frequencies

In several of the screens above, we mention picking pledge frequencies for determining how often someone will be giving towards their pledge. Rock comes pre-configured with several frequency values, but you can add to or edit them under Admin Tools > General Settings > Defined Types > Recurring Transaction Frequency.

Pledge Analytics

Being able to track the status of pledges and report on pledge progress is critical for most capital campaigns. The pledge analytics block helps to answer these questions. Let's see what it's capable of.

Pledge Analytics
1 Account
The account that you would like to report on. This will filter both the pledges and giving.
2 Date Range
The date range that will be used to filter pledges. Any pledge that is active during any part of the date range will be used. All gifts in the account selected above will be included in the report regardless of date.
3 Pledge Amount
Limits the pledges that are shown based on the amount of the pledge.
4 Percent Complete
Limits the returned results based on the percentage that has been given towards the pledge.
5 Amount Given
Limits the returned results based on how much the person has given.
6 Show
Determines what should be shown in the result grid:
  • Only those with pledges: Only people where a pledge exists will be shown.
  • Only those with gifts: Will show anyone with a gift during the date range even if they don't have a pledge.
  • Those with gifts or pledges: If you have either a gift OR a pledge we're going to show you.
7 Result Grid
After clicking "update" the results are shown here.

Giving On The Person Profile

If you're interested in the giving information for a specific person, you can visit their Person Profile page. There is a tab that allows you to view their giving information. This tab is configured to only be accessible by people in the following groups:

  • RSR - Finance Administration
  • RSR - Finance Worker
  • RSR - Rock Administration
Contributions - Person Detail Page
1 Summary of Contributions
Summary of total contributions by year for the current user.
2 Pledge List
Filterable list of financial pledges for the current user.
3 Scheduled Transactions
Filterable list all of all recurring scheduled transactions.
4 Transaction List
Filterable list of transactions for the current user.
5 Bank Account List
Listing of bank accounts, from the matching transaction list, for the current user.

Family Giving

By default, giving transactions are summarized by family. This means that a husband and wife share the same giving total even if they split the duties of writing the checks.

Multiple Families

Since Rock allows people to be in multiple families, you can choose which family their giving applies to. This can be set from their Person Profile page by clicking the Edit Individual button, then Advanced Settings. The Combine Giving With allows you to pick a specific family.

Individual Giving

There are situations where even married couples will want their gifts split onto separate giving statements. If you leave the Combine Giving With field discussed above blank it will mark the individual as giving separate from the family.


While Rock is all about managing people, there are some scenarios when financial transactions need to be managed for entities like businesses. Don't worry. Rock still has you covered. Businesses can be easily managed under Finance > Businesses.

Managing business giving is also easy. Out of the box, Rock is set to allow business giving. When an individual gives as a business, both the individual and business information and giving history will appear in the Give Now and Giving History screens. If you don't want business giving available for your organization, simply disable this feature by selecting 'no' in the Enable Business Giving option in the Contributions block settings of the Give Now screen. For more information on Rock's business giving options, see the Online Giving section above.

Business List

From the business list you can add, update or delete businesses.

Business Details
1 Record Status
Like individuals, businesses have a record status that allows you to mark them as inactive. Businesses can't be deleted from the database because there are historical financial transactions tied to them.
2 Name
The name of the business.
3 Contact Information
Businesses allow you to store an address, phone number and an email address.
4 Campus
Like individuals, businesses can be assigned to a campus.

Business Contacts

While businesses will be the source of donations and gifts (financial transactions), there will most likely be an individual that links the business to your organization. Being able to manage these relationships is important.

Once a business is saved, you can add contacts to the business from the individuals stored within Rock. These relationships can be viewed on the Business Detail page and also on the Known Relationships section of the Person Profile page of the individual.

Business Details
Person Detail Page

Business Contributions

Just as you can view the giving information for a specific person, you can also view the giving information for a business. To do this, simply go to Finance > Businesses and select the business name from the Business List. Rock will display all of the information and contribution history for that business, including yearly contribution statements. Financial transactions can also be entered from the Business Detail screen. Options include either a one-time gift or a new scheduled transaction.

Contributions - Business Detail Page
1 Summary of Contributions
Summary of total contributions by year for the business.
2 Add Transaction
Options to either add a one-time gift or create a new scheduled transaction.
3 Available Contribution Statements
Links to available contribution statements by year.
4 Pledge List
Filterable list of financial pledges for the business.
5 Scheduled Transactions
Filterable list all of all recurring scheduled transactions.
6 Transaction List
Filterable list of transactions for the business.
7 Bank Account List
Listing of bank accounts, from the matching transaction list, for the business.

Scheduled Transactions for Businesses

Just as you can set up scheduled transactions for an individual, you can also set them up for a business. The process is the same, but rather than going to the contributions tab on a person's profile, you locate the business in the Businesses screen (Finances > Businesses). From the Business Detail screen you can either enter a one-time gift or set up a new scheduled transaction.

Converting a Person to a Business

While working with transactions, you may realize it would be best for Rock to consider a particular person a business or vice versa. Rock allows you to do this, though you'll rarely need to.

The process of converting a person to a business or a business to a person is simple. Access the Business Conversion screen by clicking the Convert Person/Business button at the top of the Business List screen, located at Finance > Businesses.

Business Conversion Screen

Select the person or business you want to convert, double check that the settings Rock will use to convert the person or business are correct, and click Save.

Rock won't convert a person with family members to a business because it would result in those family member records being lost. To convert a person with family members to a business, first move the person to their own family.

Merging Business Records

Just like you can merge person records, you can also merge business records. Typically this is only needed if a single business has more than one record in your system.

You can merge business records directly from Finance > Businesses by selecting the businesses you want to merge and clicking the icon. You can also use the Smart Search to look for businesses with similar names.

Select Businesses to Merge
Select Businesses to Merge

If you've ever merged person records before, the page below will look very familiar. The first thing you'll want to do on this screen is pick the master record near the top. This is the record that the others will be merged into. Then, look at each row and ensure that the correct value is selected. If a value isn’t correct on the master record you can chose to select the data from one of the other records. After you've selected the data to keep, just click Merge Records to complete the merge.

Merge Businesses
Merge Businesses

The address displayed at the top of the merge block is shown for reference only. After selecting the primary/master record, you'll still need to pick which address(es) to carry forward.

Security For Finance

The finance features in Rock have been secured to only give access to those who need it. The following security roles have been created with the permissions below.

Finance Security Roles

RSR - Finance Worker: The finance user role is allowed to view and edit basic finance information like batches and transactions. They are not allowed to make modifications to the configuration of the finance features. For instance, they can't add a new account or edit an existing account. Similarly, this role can view businesses but cannot add new businesses or edit existing ones. This role does not have access to any benevolence features.

RSR - Finance Administration: The finance administrator role is allowed to view and edit all finance information including configuration information like accounts.

Areas That Are Secured

The following areas of Rock have been secured to limit access to financial information. Only those in the finance roles will have access to the following:

  • Finance Admin Pages: All the pages under Finance on the main navigation.
  • Person Details Contribution Tab: The Contributions tab on the Person Profile page.
  • Rock Check Scanner: Log-in to use this application.
  • Data View Filters: Write data views that report on financial information. (Once the data views are created however, anyone who has permission to view the data view can run them. Be sure to secure the data views you create.)
  • Reports: Creating reports. (Once the reports are created though, they can be run by anyone with view access to the report.)

Additional Security Actions

The following can be secured separately from the permissions provided Finance Workers and Administrators:

  • Financial Batch Entity: Only those with security permission will be able to delete a batch.
  • Financial Transaction Entity: Only those with security permission will be able to initiate a refund.
  • Filter by Person on Financial Transaction List Block: Only those with security permission will be able to filter transactions on the Financial Transaction List block by person.


The benevolence feature allows you to track the assistance you provide to those in need. This tracking allows you to better understand who is being helped and how much help you are providing. Let’s see what's possible.

Request List

The benevolence features can be found under Finance > Benevolence. The first screen shows a list of benevolence requests that have been entered into the system. This list will quickly grow to be quite long so be sure to use the filters at the top to help you find the specific requests you're working on.

Benevolence List

Note that at the bottom of the screen you'll see summary totals for each category of assistance you have provided. These totals are for all of the transactions that match the provided filters.

Request Detail

The request detail shows the specifics of the request as well as the results of the request. Note that in many cases you will be selecting a person in the database that the request is for. Since some requestors may not be in the system, you can also simply enter in their name and contact information here. This keeps you from having to enter a new record in the database for them. It's up to you if you would like to have a record or not.

Benevolence Details
1 Case Worker
This is the person who will be working with the individual to determine need and what the response should be. This is helpful if there is a team of people working on these requests. The values in this dropdowns come form the group members of the 'RSR - Benevolence' security role. You can change this to use a different group in the settings of this block.
2 Request Status
This is the current status of the request. You can manage the options that are displayed in this dropdown under Admin Tools > Defined Types > Benevolence Request Status.
3 Person
The person record to tie the request to. Selecting a person here will automatically enter the contact information below and set the campus for the request if one is not already present. Note that campus fields are disabled if you have only one campus.
4 Contact Information
You can also chose to not tie the request to a record in the database and simply enter the person's name and contact information in instead.
5 Description of Request
It's to document what the person is seeking in terms of help.
6 Request Attributes
If you've added custom attributes to your benevolence request they would display here. For our example we've added two attributes. These won't be in your database. We'll cover how to add custom attributes to benevolence requests below.
7 Related Documents
Here you have the ability to attach documents to the request. You can add up to 6 documents. These documents are stored in the database. If you'd prefer to use a different storage medium be sure to update the file type for the 'Benevolence Request Document'.
8 Result Summary
This field allows the case worker to enter notes about what was given, including background information on the decision.
9 Provided Next Steps
Often times the results of a benevolence request will have associated next steps. For instance you may suggest they take a specific class. You can keep these notes in this field.
10 Result Type
This is a list of the actual assistance that was given. You can add (or remove) new result types under
Admin Tools > Defined Types > Benevolence Result Type.

Benevolence on the Person Profile

Those with access to view benevolence information will see a Benevolence tab on the Person Profile page. The requests shown here are summarized for the entire family. So, if Sarah Simmons makes a benevolence request, it will also show on Jim Simmon’s profile.

Benevolence List

Benevolence Security

The benevolence pages are secured to only allow those in the 'RSR - Benevolence' security group access to them. Be sure to add the appropriate people to this group to enable this feature.

Adding Custom Attributes

Adding custom attributes to benevolence requests is simple using the steps below.

  1. Head to the Entity Attributes page under Administration > System Settings > Entity Attributes.
  2. Click the add button to add a new attribute.
  3. The first thing you'll want to do is set the 'Entity Type' field to 'Benevolence Request'. You can leave the qualifier fields blank as they are not needed.
  4. Complete the attribute setup as you would any attribute. Note though that the 'Show in Grid' will display the attribute on the benevolence request list block and allow you to filter on it.

Defined Types For Financial Features

There are several defined types used by the various financial features of Rock. Below we'll talk about each of them and tell you why they're important. See our Rock Admin Hero Guide for more information on defined types.

Account Type

This groups or categorizes Accounts by their usage. It’s provided for you specifically to help with reporting and is not used by Rock for any specific purpose.

Credit Card Type

This defined type determines which credit card types your organization will accept. Each card type also has several configuration options. These include:

  • Regular Expression Pattern: This pattern helps Rock determine if a given card number matches this type of credit card. The default values should not be altered.
  • Batch Name Suffix: Many times accounting teams want online transactions to be placed in batches specific to the credit card types when they are downloaded from the payment gateways. The suffix is what helps group the cards into batches. If all the cards have the same suffix, they will all share a batch (default setting). If you'd like all the Visa transactions to be in their own batch, then you'd change the suffix to something like Visa.

Recurring Transaction Frequency

This defined type determines which frequency types you want to offer your guests. These options must be supported by your payment gateway to work, so don't add new ones and wonder why they don't show up.

Refund Reasons

This defined value is not currently used. It will be used in the future for event registration purposes.

Currency Type

Determines the method (Cash, Check, Credit Card, etc.) a person used to make a financial transaction. Currency Type is used to help describe the payment source for a transaction and is also used in determining how batches are created.

Non-Cash Asset Types

This defined type only applies to the Non-Cash Asset Currency Type. Rock ships with values for Property, Stocks and Bonds, Vehicles and Other. You can add your own values for other types of non-cash assets.

Transaction Source

This value helps determine where the transaction took place. This is helpful in reporting. Many of the transaction entry blocks allow you to pick this value, so by all means add additional items that make sense to your organization. For instance, if you run multiple websites with their own giving pages, you may want to make a new source type for each site. This will help you determine which is most effective in generating donations.

Transaction Type

The Transaction Type helps describe the purpose of each transaction to Rock. For instance, all transactions of type 'Contribution' tell Rock that these are contributions and should be shown on Contribution Statements. You should not create new types that replace the ones that come out of the box. You can, however, rename the existing ones. For instance, you could rename 'Contributions' to 'Offerings' if you prefer.

Payment Gateways

When we start getting into the concepts of how financial transactions work in our modern economy things can get confusing pretty quickly. Don't worry though, we not only want you to understand how to use Rock, we also want to help you to understand the concepts of what's going on behind the scenes. Let’s help to demystify the concept of payment gateways.

We're all familiar with the concept of checking out at the store. The clerk rings up our purchases at the register and once a total amount has been determined, we swipe our card through the credit card terminal and we're done. Using this analogy Rock would play the role of the register and the payment gateway is the digital equivalent of the credit card terminal. Like the register, Rock helps determine what is being purchased/donated and comes up with a total amount. Rock then takes the guest’s account information (either their credit card or checking account information) and sends it through the terminal (aka payment gateway).

Gateway Analogy

At that point the transaction has started its journey through the financial system. In many ways you're done with it, but let's track its journey and note some places that you'll need to initially configure.

Gateway Overview
1Rock Website / Payment Gateway
Guest completes their transaction on your Rock website. Rock then sends their account information to the payment gateway that you have configured.
2Payment Processor
Next, payment gateway passes the transaction on to the payment processor. The processor gets the 'opportunity' to facilitate the rest of the transaction.
3Credit Card Company
The payment process then facilitates the transaction with the guest's credit card company.
4Merchant Account
Once the transaction is approved the funds are transferred to your Internet merchant account. You'll need to work with your bank to establish this account. This is as easy as calling your bank and asking them for help creating an Internet Merchant Account that is compatible with the payment gateway you've selected with Rock.
5Your Bank
The Internet merchant account then transfers the funds to your bank account via regularly scheduled transfers.

Learn More

You're probably thinking this is all too much information. Understanding how this works though can save even a small organization tens of thousands of dollars. One large organization recently started saving over $200K per YEAR by understanding how this process works and ensuring they received the best rates.

We highly recommend reading this Credit Card Processing 101 PDF from NMI. They've made the process easy to understand with a visual walk-thru.

Available Payment Gateways

Currently Rock supports the following payment gateways:

  • NMI
  • Payflow Pro

See our Rock Shop for additional options.

You might be wondering which one you should select? Here are some factors to consider:

  • Do you already have a gateway? If you already use one of the gateways above then it makes the most sense to keep using it.
  • PCI: PCI is a credit card process standard to ensure the security of credit cards. Compliance to PCI is a very time consuming process. The NMI gateway drastically reduces your PCI compliance requirements by ensuring that a visitor's credit card information never touches your server.
  • Fees: Of course fees are a huge consideration when looking at gateways. You'll want to consider the fees and rates of each before selecting a gateway.
  • Location:
  • Are you located outside the United States? For countries outside the continental US, please contact Carolyn Irwin directly at

While Rock has a built-in gateway with NMI and MyWell as well as internal tools for your use, we realize that every church has unique needs. We've also worked with several giving vendors (see our Sponsors page) that offer integrations with Rock and a variety of tools and information that may be customized to your situation. If you elect to use one of our Rock sponsors for your giving solution, their tools may replace the Rock financial tools, or they may be used in conjunction with them. Because each giving vendor offers different packages, you'll want to discuss your needs with all of them to determine the best fit if Rock's out-of-the-box giving tools are not what you're looking for.

The Importance of Getting It Right

It's important to make a strategic decision when selecting a gateway. As you start building a base of scheduled gifts it will be hard to transition them to a new gateway in the future. Their card data is stored in the gateway and most gateways will not give you your cardholder data back if you choose to move. See the Transferring Gateways section below if you find yourself in this situation.

Configuring a Gateway

Payment gateways can be configured under Admin Tools > System Settings > Financial Gateways. There you will notice that there are actually two options: Payflow Pro and a Test Gateway. We created the Test Gateway as a way to allow Rock to come pre-configured in a way that allows an organization to sample Rock's tools without having to configure an actual payment gateway. Below is a screenshot of the various settings for the Payflow Pro gateway.

Test Gateway

Just because we call it a Test Gateway, don’t be fooled by the name. It is a "test" gateway in name only. If you change the Gateway Type and provide real configuration, the Test Gateway will attempt to function like any other live gateway. To avoid potential issues, we recommend against changing any of the Test Gateway configuration. When you’re ready to set up your real-life gateway, start from scratch with a new entry.

Payment Gateway Settings
1 Name
The name of the gateway
2 Description
Description of the gateway. Useful if you plan to use multiple gateways of the same type.
3 Active
Set the status of the gateway.
4 Gateway Type
The type of gateway to use.
5 Batch Schedule
You can choose to have Rock create batches either daily or weekly on a specified day.
6 Batch Time Offset
By default online payments will be grouped into batches with a start time 12:00:00 AM. However if the payment gateway groups transactions into batches based on a different time, this offset can specified so that Rock will use the same time when creating batches for online transactions.
7 Login Information
The various login criteria needed to work with the gateway.
8 Mode
Determines whether this gateway is set to live or test mode. Only available for Pay Flow Pro.

Other Configuration Steps

Once you're done setting up your gateway, you'll need to set it as the active gateway on the giving pages.

Transferring Gateways

As mentioned earlier, transitioning to a new payment gateway is difficult due to the way the payment gateway providers control the credit card details. Once you set up your new payment gateway, you have two things to consider.

  1. You need to prevent people from setting up new giving transaction using the old gateway.
  2. You want users with scheduled transactions tied to the old gateway to transfer to the new gateway.

The first item is easily accomplished by changing the block setting on the Give Now page to use the new gateway. The second item is a bit trickier.

There are some block setting options on the Manage Giving Profiles page that will assist your users with transferring their scheduled transactions to the new gateway. Consider adjusting these settings from the Scheduled Transaction List Liquid block:

  • Gateway Filter: Setting a particular gateway here will cause only those scheduled transactions using this gateway to show up in the output list.
  • Transfer-To Gateway: When set, the Edit button becomes a Transfer button if the scheduled transaction's gateway does not match the transfer-to gateway. When users press the Transfer button, they will be taken to the Give Now page with many details from their existing transaction copied onto the form. Once the new transaction is completed, their old scheduled transaction is automatically deleted.
  • Transfer Button Text: This setting lets you control the text that appears on the transfer button.

NMI Gateway

The NMI gateway has several unique features that make it a great fit for many organizations. The first feature to consider is that it significantly reduces your PCI compliance requirements. With the NMI gateway a visitor's credit card never touches your Rock server. This allows you to complete a much simpler compliance survey.

While you can setup a NMI gateway on your own we highly recommend that you talk with MyWell Ministry to take advantage of their credit card processing program for churches. This program provides credit card processing AT COST (yes, truly this is at their cost, they make nothing). This program has saved organizations tens and even hundreds of thousands of dollars a year. Also if you decide to go with MyWell and would like to change in the future they will give you all of your saved credit card numbers in a PCI compliant encrypted file.

You can sign up for an NMI gateway account through MyWell using the button below.

(They also note that if it works better for your church, you can sign up using the above link and tell them that you'd rather have them be the processor for the PayFlowPro gateway.)

Configuring the NMI Gateway

There are a couple of unique settings for the NMI gateway. Let's look them over and discuss their meaning.

NMI Settings
1 Account Information
Once your account is complete MyWell will provide the details for these three boxes.
2 Prompt for Name On Card
This determines if the payment screens should prompt for a name on the card.
3 Prompt for Billing Address
Finally, provides the billing address for credit cards, if prompted.


The Prompt for Name On Card, Prompt for Bank Account Name, and Prompt for Billing Address options are provided due to the fact that NMI may or may not require this information from your users. By default, NMI does not require the Name on Card and Billing Address fields, but if you have enabled address verification in the NMI security settings, you will need to prompt the user for their billing address. If you do not enable this prompt, the user will get an error returned by the processor indicating that required information is missing.

Duplicate Transactions

By default, NMI rejects duplicate transactions within a 1200 second window. That means that any transaction executed with the same amount and card number inside of the same 20 minute window as an earlier transaction will be rejected. That can be problematic for some situations since you could legitimately have the same credit card used to make multiple contributions for the same amount or make multiple event registrations for the same event. To work around this issue, you will need to ask Transnational to reduce the window time for checking duplicate transactions (we recommend at least a 2 minute window).

Account Setup

When setting up a new account with Transnational/NMI, they will disable the requirement to have a CVV. To do this they will need to know that your account is for Rock RMS. If for some reason this setting is set you will get error messages in your NMI console for scheduled transactions that read 'Error: A card security code has never been passed for this account.' Be sure to pay close attention to your NMI console as you roll out your giving. Actually, this is a good suggestion for rolling out any payment gateway.

Unique Scheduling Notes

NMI supports One Time, Weekly, Biweekly, and Monthly schedules. Notice there is no support for "twice a month". Givers who want a twice a month schedule can set up two separate monthly schedules. For example, one on the 1st of the month and one on the 15th of the month.

Transaction Downloads

Whenever the transaction download job runs and queries transactions from NMI, it will download all of the transactions that were added or updated during a certain time period and that are associated with a scheduled transaction. This includes transactions that may not have "settled" yet, or transactions that failed.

The transaction download job handles these transactions differently. For each transaction, it will first look for any existing transactions in Rock with the same “transaction code” and totals their amount. It considers this the “Existing Rock Amount”. Then it considers the status of the transaction that was just downloaded to calculate a “Processed Amount”. If the transaction downloaded is a failure (i.e. declined), the processed amount is 0.00. If it’s not a failure, the processed amount is the total amount of the transaction. If the “Existing Rock Amount” and the “Processed Amount” are different, a new transaction will be added to Rock with an amount equal to the difference between these two values. If this amount is negative, the transaction is created as a reversal.

Setting a Payment Reversal Notification Workflow

The Get Scheduled Payments Job Detail screen, located in Admin Tool > System Settings > Jobs Administration, includes an option to trigger a workflow when a scheduled transaction is declined. You can configure the workflow to perform any necessary follow-up task, such as sending an automated email. Simply configure the workflow in your General Settings, then select it from the Failed Payment Workflow dropdown menu.

Other Notes

Below are a few other notes to consider when using the NMI gateway.

  • Saved accounts are supported for repeating schedules.
  • Reactivating a scheduled transaction is supported.
  • Updating a scheduled transaction is supported, except the credit card cannot be changed.
  • Querying for the status of a scheduled transaction (i.e. active or not) is supported.

Payflow Pro Gateway

Below are details about the Payflow Pro gateway with information on getting started and details that are unique to it.


You can set up a new account at the address:

A couple of things to keep in mind:

  • Although the Payflow Pro service is run by PayPal, this is not a traditional PayPal account. Payflow Pro is a service that PayPal purchased from Verisign many years ago.
  • Be sure to sign-up for the Payflow Pro not the Payflow Link account.

At the time of writing this manual, the costs for a Payflow Pro account were:

  • Setup: $99
  • Monthly: $25
  • Gateway Fee: $.10 per transaction
  • Recurring Billing: $10 per month

Unique Scheduling Notes

While most of the schedules like weekly, monthly, etc. are pretty obvious, there are a couple of notes you should consider about Payflow Pro's scheduling.

Once A Month

On a rare occasion, someone might say that they want their payment to be on the last day of the month. Since the number of days in the month varies this may seem impossible. With Payflow Pro however if you choose the start date as the 31st of the month, the payment will always occur on the last day of the month.

Twice a Month

This basically states that you want two transactions a month. Many people will select this with a start date of the first of the month. When they do, the transactions will come out of the account on the 1st and 15th.

When the guest selects a starting date between the 1st and 15th, it's pretty simple to determine their payment schedule. It will always be the day of the month of their start date for the first payment and 15 days later for the second.

When the guest selects a starting date later than the 15th of the month, then the pattern changes a bit. One payment will come out on the numerical day of the starting date (e.g. the 25th of the month). The second payment date will be fifteen days after this date.

Configuring Reference Transactions

By default PayPal does not allow reference transactions. However, when a user selects to save their credit card information as a saved account in Rock, the next time they use that account, Rock processes it as a reference transaction. To support that functionality, you need to adjust your PayPal settings. You can find the setting to allow reference transactions under Account Administration > Manage Security > Transaction Settings.

Setting Up Reference Transactions

Configuring Email Confirmations

Payflow Pro can be configured to send email confirmations when each scheduled transaction occurs. This email is set inside the Paypal Manager under "Service Settings > Recurring Billing > Customer Email".

Setting Up Email Receipts

Contribution Statements

When it's time to generate contribution statements, we've created some tools to make the process simpler. Since you may need to be able to both email and mail printed statements, the best file format will be a PDF, and we have just the tool for the job. Let's walk through the process of generating PDF statements with our statement generator software.

Installing the Statement Generator Software

Installing the statement generator software is easy. It does require a Windows machine running Windows 7 or better to run. To install, follow the steps below:

  1. Download the setup application under Admin Tools > Power Tools > External Applications > Rock Statement Generator.
  2. Run the setup. The statement generator setup is a breeze with just three quick screens.

Using the Statement Generator Software

Once you have it set up, it's pretty simple to operate the statement generator software.

Start by launching it and logging in. Users must be a member of one of the groups below to log in with this software:

  • RSR - Finance Administration
  • RSR - Finance Worker
  • RSR - Rock Administration

First Time Use

Please note that if this is your first time logging in, you'll also be asked for the web address of your Rock server in addition to the Username and Password. Be sure to use HTTPS and not HTTP.

Login Screen

If you need to change the Rock URL, you can do so from the Statement Generator screen pictured below by clicking the Tools button in the upper-left corner and selecting Options.

To generate statements, click the Start button.

Home Screen

Step 1: The Who Needs a Statement screen lets you select whether you want to generate statements for All individuals with transactions and/or pledges, filtered by a dataview, or for a specific individual.

There are several options to consider when selecting All individuals with transactions and/or pledges.

  • Exclude inactive individuals: Select this option if you don't want to generate statements for people with an inactive status.
  • Include Businesses: This option, which is selected by default, allows you to generate statements for businesses.

Adding Children to Families and Giving Groups

If your Rock system has a custom job or workflow to move children to new families, don't forget that it will also need to set the child's person record's giving group to the new family (or null to indicate giving individual). If this step isn't done, the statement will go to the address of both the old and new family with the transactions still combined.

The Move Adult Children portion of the Data Automation job that ships with Rock will take care of this automatically.

If you select Single individual, you'll be prompted with a search box where you can type in a person's name. If more than one person is listed in the grid, click on the person you want to generate the statement for. Press Next to go to the next step.

Who Needs a Statement

Step 2: Select the template you want to use for the statement output. Rock ships with a default template, which you can customize with your own logo, wording, etc. You can also create your own. The Statement Generator templates are located in Finance > Contribution Statements > Contribution Templates.

Statement Layout

Step 3: The Statement Date Range screen is where you specify the date range of the statements you want to generate. The generator defaults to the current year-to-date.

Date Range

Step 4: The Individual Save Settings screen is where you can optionally choose to save statements to the person's profile under the Documents tab. You can control things like the name of the document, and which members of the family (technically, the Giving Group) should have the documented added.

Individual Save Settings

Step 5: The Report Settings screen allows you to choose the location where you want to save the statements, designate a base Filename Prefix to use when saving, and determine how the statements will be sorted. You can also choose how the statements are broken up into chapters by entering the number of statements you want to include per chapter in the Max Statements in Chapter field. These settings and others can be updated by clicking the icon, described below.

Report Settings

You can access the settings described below by clicking the icon shown above. How you configure these settings determines how the PDF statements will be created.

You might want more than one report. Often it can be useful to have one for mailing, sorted by zip code, and one for internal or auditing purposes, perhaps sorted by Last Name. You can create as many reports as you need, each with its own settings and sort order.

Edit Report Settings
1 Primary Sort
This is the highest level of sort order for the statements. For instance, if Zip Code is selected then the PDFs that are generated will be sorted in order of people's zip code, which is ideal for mailing statements. Sort options include:
  • Postal Code
  • Last Name
  • Page Count
2 Secondary Sort
This is the sort order that's used after the Primary Sort. This lets you order the statements by Zip Code (Primary Sort) and then by Last Name (Secondary Sort).
3 Destination Folder
This is where the generated PDF statements will be saved. If you are creating multiple reports then you can save each of them to a different location.
4 Filename Prefix
All of the files that are generated will have a name that starts with the value you enter here. Especially when you have multiple reports, this can help you identify which files belong to which report.
5 Split Files on Primary Sort Value
If you have this enabled then you'll get a new PDF file every time the Primary Sort value changes. For instance, if you have a Primary Sort of Zip Code then you'll get separate PDF files for each zip code, which is helpful for mailing.
6 Max Statements in Chapter
This is the maximum number of statements that should be included within a single PDF file. The Split Files on Primary Sort Value setting respects this setting. For instance, if you split files on zip code while setting Max Statements to 100, and if you have more than 100 statements in the same zip code, you'll get more than one file.
7 Prevent Splitting
This setting will keep the Primary Sort values from being split across PDF files. When this is enabled, it could mean that more statements are in a file than the Max Statements in Chapter setting allows.
8 Minimum Contribution Amount
This is the minimum dollar amount a statement must have in order for the statement to be generated. For instance, you can choose to print statements only for those who have given $10.00 or more. This can help save on mailing costs by reducing the volume of statements generated. You might set this to a lower value for reports you'll only be using internally.
9 Include International Addresses
Determines if individuals with international addresses should have statements generated. Addresses with countries that are the same as the organization’s address (Global Attribute) or addresses with blank countries will be considered local. You might not mail statements internationally, but you may want to include these for your own internal purposes.
10 Do Not Include Incomplete Addresses
If this is enabled then statements will only be generated if the associated address has at least an address line and a zip code. You'll want this enabled if you're generating statements to be mailed.
11 Opted Out
If an individual has opted out then a statement will not be generated for the family if this option is enabled. Like the setting above, you'll probably want this enabled for statements that you're mailing but you might not need it if you're generating a report for internal purposes.

The statement generator will start to process the statements after you press Generate Statements. When the process is complete, the generator will display a summary with the number of statements generated and related details.

Process Complete

Display Scaling

If you notice the statement generator results are the wrong size (e.g. the font is very small) it could be related to your display's scale setting. The recommended setting is 100%. For Windows computers the Scale and Layout can be adjusted under Settings > Display.

Speeding up Generation

The Statement Generator typically runs quickly, but larger organizations may notice long processing times. Below are some tips to help reduce the time it takes for the process to finish.

  • Fast Disk: The hard drive on the computer where the Statement generator is installed can have an impact on how long the process takes. We recommend an SSD (M2s) for the computer that's running the application.
  • Page Count Pre-Determination: In Step 5 of the process described above you have an option to Enable Page Count Pre-Determination. The generation process will take longer if this is enabled.
  • Multiple Processors: Having multiple processors will significantly reduce the generation time. The Statement Generator will utilize all of them.
  • Logo: The file size of the image used for your logo has an impact on the size of the PDF files that are generated. A smaller image file, and a logo with a Base64 (inline) source will help speed up the process.
  • Broken Links: Broken links in the template will cause performance problems. For instance, if the logo can't be loaded due to a broken link, PDF generation can take up to four times longer.

Online Contribution Statements

Your website visitors can get access to their contributions online from the Giving History page. Statements links will be available for years in which they gave. The Transaction Report block settings allow you to pick which accounts to consider (by default all tax-deductible are used). The output is all customizable using Lava so feel free to change it.

Contribution Statement List

The resulting contribution statement is shown below. This is produced using the Contribution Statement Generator block.

Legacy Configuration

The Contribution Statement Generator block uses the Contribution Templates described in Step 2 above to generate statements. This block is intended to replace the 'Contribution Statement Lava' blocks found on both the internal and external sites in prior versions of Rock, but it will not replace that block if you've customized the settings.

Contribution Statement Sample

Giving Outside Pledge Date Range

Contributions that occur outside of a Pledge’s date range won't count toward the Amount Given or Pledge Progress on the Contribution Statement. This could happen if someone is able to give sooner than they had planned. If the gift should count toward the Pledge on the Contribution Statement, you could adjust the Pledge’s date range to include the date of the gift.

Contribution Statements on the Person Profile Page

You can view the same contribution statement above on the Person Profile page. You'll find a listing of contribution statements on the 'Contributions' tab.

Contribution Statement List

Contribution Statement Templates

New Statement Templates

As of Rock v12.5 the Contribution Statement Lava block has been replaced with a new a Contribution Statement Generator block, which uses the templates described in this section. The block is only replaced if you had not previously modified the original Lava template that shipped with Rock. These statement templates will also be used by the Contribution Statement Generator external application.

Rock ships with a default template that’s used by the Statement Generator to create statements. This template is also used by the web versions of the statements, like those accessed from the Person Profile page. The settings on the template drive what goes into the statement and how it looks. You can create a template of your own under Finance > Financial Settings > Contribution Templates to customize the statement to your needs. For instance, you’ll probably want to change the logo at a minimum.

Contribution Statement Template
Contribution Statement Template
1 Name and Description
Each template you create should have a clear name and a description that indicates how it will be used. When you’re using the Statement Generator, only the Name of the template will be visible.
2 Accounts
You can restrict which accounts get pulled into the statements by either selecting All Tax Deductible Account or by providing a custom selection of which Accounts to show. This ensures you’re including or excluding the data you want.
3 Currency Types for Cash Gifts
Here you’ll select which types of currency count as cash gifts. The default configuration is typically all you’ll need, but if you’ve added other currency types that should count as cash gifts you can select them here.
4 Currency Types for Non-Cash Gifts
Select the types of currency that represent non-cash gifts, like vehicles or property. By default these are grouped together under the Non-Cash Asset currency type. Non-cash gifts appear separately from cash gifts on the contribution statement.
5 Filter Settings
These settings let you filter out refunded transactions or transactions that were backed out on the same day they were applied. In most cases you’ll want to exclude these types of transactions from statements that get sent out to people, but you may want to see them for internal purposes.
6 Transaction Types
By default, only contributions will be shown, but you can also include payments for events.
7 Accounts for Pledges
Pledges are not shown on the contribution statement by default. If you want to show pledge information on the statement, select the accounts for pledges here.
8 Filter Settings
These filter settings only apply to pledges. You can set whether or not gifts to child accounts of the selected accounts should count toward the pledge, and whether or not non-cash gifts should be included.
9 Report Template
If you’re creating your own template then you’ll most likely want to start by copying the default template that ships with Rock before making any changes. This is an advanced setting that lets you control exactly how the statement looks and what kind of information it displays.
10 Footer Template
This is another advanced setting that lets you control the footer information of the contribution statement. By default it includes the Salutation (e.g. “Ted & Cindy Decker”) and the page number.
11 Logo
You’ll want to replace the default logo with your own. The logo size should be 240 x 80 pixels.
12 PDF Settings
These settings let you control the margins and page size of the PDF documents that will be generated. You typically won’t need to change these.

Advanced Transaction Entry Block Settings

This section may get a bit technical. Not that you can’t handle technical; we just want to give you a heads up that we’re going to be talking about advanced settings and uses. It isn’t rocket science, but it might be a little challenging.

The Transaction Entry block is one of the most useful and versatile blocks available in Rock. You can set it up on any page of your site and use it for any number of purposes: online giving, on-site giving, scheduled transactions, fundraising…even event registration if you want (though the Event Registration function is probably a better option). Now, thanks to the generosity and creativity of the Rock community, the Transaction Entry block has a ton of options, giving you even greater flexibility.

There are two tabs in the Transaction Entry block: Basic Settings and Advanced Settings. Let’s take a look at the options available on both.

Basic Settings Tab

The Basic Settings tab is where you’ll likely do most configuring. Some of the options on this tab relate to options in the Advanced Settings tab, though, so be sure to check out those as well. In the meantime, here are the options available on the Basic Settings tab.

Account Header Template

This Lava-enabled field allows you to dynamically label the Account Amount inputs with whatever name you want. The default setting uses the Account Public Name, or {{ Account.PublicName }}. In most cases, this is probably what you’ll want to use, but there may be times when a different label is better suited. For example, if you use the Transaction Entry block for fundraising, you may want to use a simple text label, such as Donation Amount, instead.

Scheduled Transactions

This dropdown provides the option of setting up scheduled transactions. When using the Transaction Entry block for regular giving, you’ll probably want to leave this set to “Allow”. This lets your regular givers set up automated giving. There may be instances when scheduled transactions don’t make sense, though, such as when used for a limited-time fundraiser. In such cases, set this field to “Don’t Allow”.

Connection Status and Record Status

Every transaction must be associated with a Person, even if the giver is anonymous (i.e., not logged in). When an anonymous person gives, Rock automatically creates a Person record behind the scenes. The Connection Status and Record Status options set here determine the connection status and record status of that new record. The default Connection Status is “Web Prospect”. The default Record Status is “Pending”.

Payment Comment

This Lava-enabled field allows you to create a comment to include with the transaction when sent to the payment gateway. It will also be stored as the Summary in Rock’s copy of the transaction. Like any Lava-enabled field, you have a lot of options when it comes to what you can include in the comment. It may be as simple as “Online Contribution” or “Fundraiser”, but you can create a more elaborate comment using Lava merge fields. See the help menu on the Payment Comment field for more Lava tips. Keep in mind, though, some payment gateways may limit the amount of text that can be included in the comment.

Enable Comment Entry

This option allows the giver to enter additional text to include in the payment comment, which is then sent to the payment gateway and stored in Rock as the summary of the transaction.

Enable Business Giving

When enabled, this option allows the person to give as a business. If the person is logged in and has a business associated with their profile, the business name will be listed. They can either select that business or create a new business record and associate it with their profile.

Enable Anonymous Giving

This option allows the giver to give “anonymously”. Because every transaction must be associated with a person, it won’t truly be an anonymous transaction. Finance administrators will be able to see the person’s name and address, and the transaction will be included with the person’s giving statement. But this option does allow the option of hiding the person’s name and address in certain situations, such as fundraising, when a giver may wish to remain anonymous to the recipient and the public.

Advanced Settings Tab

Now let’s take a look at the options available in the Advanced Settings tab.

Allow Account Options in URL

This option allows you to bypass the Accounts settings (in the Basic Settings tab) and present accounts according to parameters listed in a URL. You may find this option handy when the guest arrives at a giving page from a different page on your website, or when they’re sent to a giving page by a third party. Valid URL parameters are:

  • Comma-delimited lists of AccountIds (e.g., 1, 2, 3, etc.)
  • Comma-delimited lists of AccountGlCodes (e.g., 40100, 40110, etc.)
  • Default amount to give for each account (e.g., 35.00, 50.00, etc.)
  • Whether or not the giving amount is editable (i.e., true or false)

Here's how the parameters appear when included in URLs:

Only Public Accounts

This options works hand-in-hand with the Allow Accounts in URL option. This field lets you decide if only public accounts should be displayed via URL. If the Allow Accounts in URL is active, this option will ensure that only public accounts are presented to the guest, even if non-public account ids are specified in the URL. This acts as a safety measure to help minimize the chance of a private account being displayed in the URL.

Invalid Account Message

If the Allow Accounts in URL option is enabled, you can use this field to customize an error alert message (in text or HTML) to be displayed if an invalid AccountId or GlAccount is passed in the URL. This message may be useful if you want the giver to know the reason some of the accounts specified in the URL aren’t shown.

Account Campus Context

This option allows you a lot of flexibility when it comes to displaying accounts according to campuses. Depending on the option you select, you can limit which accounts are presented based on the person’s campus.

  • If “Only Accounts with Current Campus Context” is selected, only the account associated with that campus are displayed.
  • If “Accounts with No Campus and Current Campus Context” is selected, and “Allow Accounts in URL” is not configured, the Accounts setting (on the Basic Settings tab) determines which accounts will be displayed, then limits them by campus.
  • If “No Account Campus Context Filter Applied” is selected, accounts will not be filtered by campus.
Transaction Type

In most cases, the transaction type you’ll use is “Contribution”. There may be times, though, when you’ll want to use the Transaction Entry block for another purpose. You can create additional transaction types for each purpose in the Transaction Type Defined Type Detail screen (Admin Tools > General Settings > Defined Types > Defined Type Detail). Those additional transaction types are then listed in this field and available for use in the Transaction Entry block.


This field allows you to set the Page parameter that will be used to set the EntityId value for the Transaction Detail Record. This parameter works with the Transaction Entity Type. See Transaction Entity Type below to learn more.

Transaction Entity Type

In Rock, you can associate transactions with entities, including entities from plug-ins. This allows you to track transactions by entity type. The Transaction Entity Type field lets you to associate an entity based on the Transaction Entity type and Entity Id Param settings. In order for this to work, both must be configured, and the EntityIdParam must be included in the URL as a parameter. For example, when using the Transaction Entity Type for a specific fundraising participant, you would do the following:

  • Set the Transaction Entity Type to “Group Member”.
  • Set the EntityIdParam to “GroupMemberId”.
  • Include both the Transaction Entity Type and EntityIdParam in the URL as a parameter.

For example:


In this case, when the transaction is saved, the FinancialTransaction.EntityId is set to “10” and the FinancialTransaction.EntityType is set to “Group Member”. As a result, the transactions associated with the entity type can be tracked on a fundraising progress page.

Transaction Header

This Lava-enabled field allows you to display content prior to the Amount entry field. This will be the first thing the guest sees when they visit the transaction page. While you can leave this field blank, you could also use this space to present the guest with specific information. In fact, using Lava here, you can do some really cool things. For example, in a fundraising page, you can use Lava in this field to show how much money has been raised so far, and how much is left to raise. (Remember, like any Lava block, a Lava developer can use the ‘Lava’ | Debug command to view all of the available merge fields.)

Additional Transaction Entry Block Functionality

There are a few other tips and tricks you might be interested related to transactions and the Transaction Entry block.


You can set a limit on the amount people can contribute by using the AccountLimit parameter in the URL. For example:


In this case, guests will not be able to contribute more than $150.00. This may come in handy for fundraisers, where you to set a maximum contribution amount.


You can transfer a scheduled transaction to a different transaction as its basis using the “Transfer” and “ScheduleTransactionId” parameters in your URL. This may be useful if you want to give people the option to specify a different amount or payment method than they regularly use for an existing scheduled transaction.


You can specify attributes and their values in the URL in order to apply them to the Transaction Record. This requires you first set up the FinancialTransactionEntity attributes. When using the attributes and values in the URL, use the “Attribute_” format. For example, if a transaction has the attributes “FavoriteColor” and “LikesMovies”, the URL would be formatted:

Set Schedule Frequency in URL

You can set two different scheduled giving options in the URL using the Frequency parameter or the Frequency Start Date.

Below is a URL example with the following format: Frequency=DefinedValueId^UserEditable (where DefinedValueId is the value of the frequency of the recurring transaction and UserEditable is whether or not the user can change the value).


Here is a URL example with StartDate={Date} format.