Skip to main content

Tracking Volunteer Hours - Our Method


I've been in and around different leagues for more than 30 years. Regardless of the sport, the leagues I've participated in all have a common thread: they all track volunteer hours.

Let's face it - tracking volunteer hours is not easy because it is so dependent upon manual effort by a board member or board support volunteers.

However, I want to share with you the processes I've discovered that greatly reduces the time required to track volunteer hours, and of course, leverages SportsEngine functionality.

Volunteer Policy

The policy is the foundation for setting expectations and collecting volunteer fees.

The most important part of your policy is that you have the policy in writing and published on your website. Publishing the policy eliminates interpretation and the back-and-forth that interpretation allows.

The policy we have published for Benicia Little League contains information about our volunteer fee, what happens if you miss your hours (both the following season registration and a missed hours assessment fee), and the option for opting out of the volunteer responsibility.

In addition we've added a claiming period to our policy which clearly states that the reconciliation of volunteer hours is the responsibility of the family. More on the claiming period further on.

What I have found is that a published policy makes my job (as webmaster and registrar) much easier because I can always refer our members to the policy.

Volunteer Fee Types - A Different Take

There are many ways of gathering volunteer fees so I will cover a few examples and a new method that dramatically reduces workload for tracking and collecting.

Banking Volunteer Fees
Many of the leagues I've been a part of would take in volunteer fees at the beginning of the season and return those fees to the family who reached their volunteer goal at the end of the season.

From a financial perspective this puts a lot of responsibility and workload on the treasurer as he or she must gather the fees, keep them in a specific account and then track the refund payments (not to mention write the check) at the end of the season.

Not only are the fees tied up for the whole season, the fees are held until at least the next season to cover the inevitable missed volunteer hours situations.

A variation on the banking volunteer fee policy is to hold the fee until the family no longer has players participating. At that time the family is refunded (typically with a check) the original fee.

It's a similar policy, but the funds must be held untouched in a bank account for multiple years.

Without exception, these are the least favorite process for treasurers and accountants supporting the league.

Holding Checks
I've also been a part of league that - rather than collecting fees - would take checks and not cash them.

While this is great in theory, it creates problems for the parents who have to juggle the fee in their checkbooks. It also creates problems when fees are forfeited due to lack of volunteer credits.

If for some reason a check does not clear, a manual process kicks in to contact the family and track the receipt of payment.

Personally, I don't advocate this process because it is filled with unforeseen issues.

A Different Take - Annual Non-Refundable Fee
About six years ago I discovered another method for collecting volunteer fees that I call the Annual Non-Refundable Fee.

The idea is simple and, as a bonus, it works very well with the functions SportsEngine provides!

Here is how it works:

1. The fee we collect is non-refundable. We have the fee set up that way so that anything we gather can be used for expenses during the current season. Being non-refundable  eliminates holding the funds and of course the refund process at the end of the year.

2. To those families who have met their volunteer requirement, we provide a volunteer fee waiver code. They then may use that code to eliminate their volunteer fee when registering.

It's simple right? We eliminate the hassle of holding fees and refunds by making the fee non-refundable, and reward the families who meet their commitment with a waiver code that eliminates the fee during the following season registration (we have no volunteer requirement in our final division – age 15/16).

The treasurer and accountant are a happy because they no longer have to hold fund, issue refunds, or worse - hold un-cashed checks.

Registration setup is simpler because the annual non-refundable fee is a standard part of registration.

Below I outline how you can set up discount codes, track hours, etc.

Registration and Discount Codes

If you've read my other article on extending registrations, you will see some of these extension ideas at work with the volunteer fee process.

Lets work backward from the new registration where volunteer fee waiver codes will be applied.

Creating Waiver Discount Codes
If you were not aware, all monetary (collecting fees) registrations have the ability to add discount codes.

Once the registration has been created, you choose the Discounts tab to view any codes you already have.

You may add codes easily by choosing Add Discount Code, and begin the setup.

There are two types of codes you can use (Multi Use and Single Use). I strongly suggest using the Single Use code type for 2 reasons:

  • Multi Use allows anyone to share the code

  • Someone will share the code, and you cannot trace it.

We found out the hard way, and have used Single Use codes ever since.

After choosing Single Use, simply specify the number of codes to generate (based on the number of volunteers who met the commitment), and the other fields.

Don't worry about the number of codes. SportsEngine registrations allows you to extend the number of discount codes at any time. You are covered for those situations where volunteer waivers are granted after the fact.

Tie the discount to your Volunteer Fee (remember the annual non-refundable fee).

Tip: I always use Percentage Discount for these discounts because the fee may change. If you use 100 percent you'll be safeguarding against any change to the fee - especially when making copies of previous registrations.

Distributing Volunteer Fee Waiver Codes

With the annual volunteer fee in place, and discount codes created to waive the fees, it's time to distribute the codes.

So, how do we do that? With a registration of course!

After reconciliation - leveraging Dibs and some consolidation - we have a list (Excel or similar spread sheet) of families who have qualified for a volunteer fee waiver.

Our list contains:

  • First Name (Player)

  • Last Name (Player)

  • Email Address (Parent who registered)

  • Total Hours

To this list we add a column for the code called Waiver Code.

You'll copy/paste the discount codes you created for your season registration into the waiver code column and save the spread sheet as a .csv file.

Note: CSV file is short for comma separated values and is what SportsEngine allows you to use for importing.

Now you have everything in place to create a new registration for your volunteers and their waiver codes.

Use Import to Create the Waiver Code Registration
If you don't have the ability to setup your own registrations, you can contact the SportsEngine registration team and request that a registration be created using the .csv file.

Either way, the registration will be created using import, and you will want to be sure that the Send 'Join Organization' email? option is checked.

If you are not familiar or have not used the import method for creating registrations, please check with your SportsEngine registration team. They will explain how it all works.

The neat thing is that the import function will automatically send an invitation to the parents' email with a link to claim the registration.

Once there they can copy the wavier code and use that in the discount code field to waive the volunteer fee.

Tip: You cannot stipulate the content of the automated invitation email. To address this I will send out two communications:

  1. An email (using past registration) alerting the volunteers that an invitation is coming.

  2. A follow up email (using the volunteer waiver code registration) with instructions on how to claim, and use their code.

It does not eliminate all questions but helps quite a bit.

Dibs and Tracking Hours

If you've read this far you may be thinking that this process is great, but how do you figure out who receives a discount code?

As it turns out - it is not that difficult if you have a little skill with spreadsheets or have an application to help you.

Lets start with Dibs.

Set up Dibs For Season
The first thing you'll need to do is setup a Dibs session to track volunteer hours. For our league we use a combination of Dibs items and Dibs credits to track the hours.

  • Dibs Items - for canteen/snack shack and events.

  • Dibs Credit - for league staff, team staff, other league volunteers.

The benefit of putting everything into Dibs is that all of your hours are in one place, and you can easily export all of the information into a single .csv export.

In addition, Dibs supports the reconciliation process - more on this later - as users have visibility into their hours and progress toward the goal.

Volunteer Reconciliation

With Dibs as the base, there is one thing that has to be done manually, and that is reconciliation.

Because Dibs allows users to self-assign the profile for who will receive credit - the Athlete option - the volunteer can have credit posted to a number of accounts.

In addition - we give Dibs Credits to individuals for Team Staff, League Support and other volunteer activities that are not Dibs Items.

As a result, we've developed a method to consolidate hours across multiple profiles so that we can distribute our waiver codes.

I've attached an example spread sheet that you can use for your own consolidation. All of the calculations are pre-built so you'll merely have to copy/paste information into it, and bingo - you have consolidated volunteer hours!

How it works:
1. Export a report from your Player Registration. You will include:

  • Player First, and Last Name

  • Guardian 1 First, Last, and Email

  • Guardian 2 First, Last, and Email

You may also include other fields, but be certain that you have these as they are what the spreadsheet utilizes for consolidation.

2. Go to your Dibs instance and create an export. The export will include all the necessary columns.

3. Copy/paste the information from your player registration into the columns on the first tab.

4. Copy/paste the information from your Dibs export into the columns on the Dibs Info tab.

The first tab has four columns that will match player name, guardian 1 name, and guardian 2 name and pull in any hours for each. The Total Hours column sums the three, while the Short Hours column indicates how many hours are short.

Now you can sort (by Short Hours), and create a list of volunteers - by player name - who will receive a volunteer waiver code. This list will be the .csv file that you use for importing into the Volunteer Waiver Code registration that sends invites and provides the codes.

Tip: Unfortunately the Dibs export does not provide email address in the export. As a result you'll need to spend some time cross validating names between the two tabs. Typically the number of folks who are short hours is small, so I simply check to see if the parents have shortened first names or different spellings that prevent the lookup from finding their name.

We're depending upon non-validated fields (guardian names) from the registration so there will be some manual effort, but it's worth it.

Final Thoughts

If you made it this far, I hope I've given you some ideas for streamlining the process and work for volunteer fees and volunteer tracking.

Of course it's not perfect, but I've been able to reduce my work by about 80 percent (well over 100 hours a season) by changing the fee policy and putting processes in place to oversee the volunteer process.

I hope that you'll be able to utilize some or all of these ideas to make your own volunteer process run as smoothly as ours does.

Reconciliation Responsibility On The Families
I've left this for last because this is an option rather than a process. What I have worked hard to do is place the responsibility for reconciliation of hours on the families.

Dibs makes it possible to view their hours and progress toward the goal, and our board has a policy in place that backs up where the responsibility resides.

We provide a reconciliation period - typically from May 1 to July 15 - where issues can be raised before volunteer assessment fees are invoiced.

The policy and process does not eliminate all the issues, but it does greatly reduce them. Moving the responsibility onto the family has allowed us to enforce our volunteer policy trough missed volunteer assessment fees which we were never able to collect before.

Learn more about SportsEngine's volunteer management software.

Tags in this article

Tips & Tricks Registrar Coach Carl