Skip to content
Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryVVolunteer Hours
SalesBeginner

Volunteer Hours

A Volunteer Hours record in Salesforce captures a single block of time that one volunteer contributed (or committed) to a nonprofit organization.

§ 01

Definition

A Volunteer Hours record in Salesforce captures a single block of time that one volunteer contributed (or committed) to a nonprofit organization. It records who volunteered, what they did, when, and for how long. In the older Volunteers for Salesforce (V4S) managed package, this data lives on the custom Volunteer_Hours__c object. In Nonprofit Cloud Volunteer Management, it lives on the standard VolunteerHours object.

Each record links the volunteer to a specific piece of work and a stretch of time. It carries an hours figure, a date range, and a status that says whether the time is still a future commitment or already done. Nonprofits use these records to plan staffing, recognize repeat volunteers, and report contributed value to funders.

§ 02

How Volunteer Hours fit the nonprofit volunteer model

Two products, two homes for the same idea

There are two Salesforce products that track volunteer time, and the Volunteer Hours record looks slightly different in each. Volunteers for Salesforce (V4S) is an older managed package, open source and BSD-licensed, that many nonprofits installed on top of the Nonprofit Success Pack. It stores time on a custom object named Volunteer_Hours__c, with fields like Hours Worked, Status, Start Date, End Date, and Number of Volunteers. Nonprofit Cloud is the newer platform, and its Volunteer Management feature ships a standard VolunteerHours object instead, sitting inside a broader data model with Volunteer Projects, Jobs, and Shifts. The two are not the same schema, so a report or flow built for one will not run unchanged on the other. When you read documentation or follow a tutorial, check which product it targets first. V4S content usually references the custom suffix (the two underscores and a c), while Nonprofit Cloud content references plain object names like VolunteerHours and VolunteerJob with no suffix. Knowing which one your org runs saves a lot of confusion during setup and reporting.

Jobs, shifts, and the hours that hang off them

A Volunteer Hours record rarely stands alone. It usually points to a Volunteer Job and a Volunteer Shift, and each level answers a different question. A Volunteer Job describes an ongoing need, such as sorting food bank donations or sitting with hospice patients. A Volunteer Shift is one scheduled instance of that job, like Saturday March 14 from 9am to 1pm with room for ten people. The Volunteer Hours record is the individual link: this person signed up for that shift, and here is how long they ended up working. Reporting at the job level shows you which programs are short on help. Reporting at the shift level shows turnout for a specific event. Reporting at the hours level shows how engaged each volunteer is over time. In Nonprofit Cloud the same idea runs through Volunteer Projects and Job Positions with Shifts, and assignments connect a person to a shift. The shape of the names changes between products, but the layered structure stays the same: a need, a scheduled instance, and the actual time logged against it.

Status drives planning, not just history

The Status field is what lets one object handle both the future and the past. Early in the lifecycle, a record might be Web Sign Up, created automatically when someone registers through a public volunteer page. A coordinator may move it to Confirmed once the slot is locked in. After the shift happens, it becomes Completed, or it lands on Cancelled or No-Show if the person did not turn up. That progression means you can count Confirmed records to forecast how many hands you will have next weekend, then count Completed records to measure what actually happened. Many teams run a nightly automation that ages out stale records: any Confirmed shift whose date has passed gets flipped to Completed when a coordinator marked attendance, or to No-Show when nobody did. Without that cleanup, old commitments sit in a limbo state and pollute both your forecasts and your engagement numbers. Treat the status values as a small workflow, not just a label, and decide up front who is responsible for moving records through it.

Hours Worked and group entries

The Hours Worked field holds a decimal, so you can capture fractional time like 2.5 hours rather than rounding to whole numbers. That precision matters when you aggregate thousands of records into a quarterly total. The Number of Volunteers field handles a different situation: sometimes one record stands in for a group commitment, such as a corporate team of fifteen people who all worked the same four-hour shift. Rather than create fifteen separate records, a coordinator can log one record with Number of Volunteers set to fifteen, and reporting math can multiply hours by headcount to get total contributed time. Be deliberate about which approach your org uses, because mixing the two breaks your counts. If you sometimes log individuals and sometimes log groups on the same object without a clear rule, a report that sums Hours Worked will undercount the group entries, and a report that multiplies by Number of Volunteers will overcount the individual ones. Pick one convention per program and document it so every coordinator records time the same way.

Turning hours into in-kind value

Volunteer time has a dollar value, and funders increasingly want to see it. A common practice is to assign a per-hour rate to volunteer work and report the total contributed value next to cash gifts in audited financials and grant applications. The Independent Sector publishes an annual national estimate for the value of volunteer time, with a general rate and higher rates for skilled professional work like legal or medical help. If your Salesforce reporting aggregates Volunteer Hours by quarter, by program, and by volunteer type, that in-kind valuation becomes a routine rollup instead of a year-end scramble through spreadsheets. The trick is to capture enough detail on each record to support the math. You need clean Hours Worked values, an accurate Status so you only count Completed time, and ideally a way to flag skilled versus general work so different rates apply. Build those fields and reports once, and every grant report afterward pulls from the same source. Funders trust numbers that come straight from your system of record more than figures someone assembled by hand the night before a deadline.

Stewardship: your hours data is a donor pipeline

The volunteers who show up most often are also some of your best prospects for deeper involvement. The top slice of contributors by Hours Worked tends to include future board members, monthly donors, and the people who bring friends along. Your Volunteer Hours records already tell you who those people are, ranked by real behavior rather than guesswork. A simple report that sums Completed hours per volunteer over the last year surfaces the cohort worth a personal thank-you, an invitation to a leadership conversation, or a tailored giving ask. Because the same Salesforce org usually holds both volunteer and donation data, you can connect the two and see who gives time, who gives money, and who does both. That overlap is where stewardship gets efficient. The engagement is already there, so the only missing step is asking. Set up a recurring view of your highest-hour volunteers, route it to whoever owns relationships, and treat the list as a warm pipeline. It costs almost nothing to build and tends to outperform cold outreach, because you are talking to people who have already chosen to spend their Saturdays with you.

§ 03

How to log a Volunteer Hours record

Most Volunteer Hours records are created automatically when someone signs up through a public page, but coordinators often log them by hand for walk-ins, phone sign-ups, or group events. These steps describe logging one record manually. Field names below follow the V4S Volunteer_Hours__c object; Nonprofit Cloud uses the standard VolunteerHours object with similar fields.

  1. Open the volunteer's record

    Find the Contact (or Person Account in Nonprofit Cloud) for the volunteer. Their related lists hold their hours history, so creating from there links the record to the right person automatically.

  2. Create a new Volunteer Hours record

    From the related list, add a new Volunteer Hours entry. Connect it to the relevant Volunteer Job, and to a specific Volunteer Shift if the work was scheduled rather than ad hoc.

  3. Enter the time and dates

    Set Hours Worked to the decimal amount actually contributed, and fill in the Start Date (and End Date if the work spanned more than one day). Use Number of Volunteers if this single record represents a group.

  4. Set the status and save

    Choose the Status that matches reality: Completed for finished work, Confirmed for a locked-in future slot. Save, then confirm the record appears under the volunteer and on any shift rollups.

Contact (or Person Account)required

The volunteer who contributed the time. Links the record to the person so their total hours roll up correctly.

Hours Workedrequired

Decimal value for the time contributed, such as 3.5. Drives every aggregate report and in-kind valuation.

Statusrequired

Where the record sits in its lifecycle: Web Sign Up, Confirmed, Completed, Cancelled, or No-Show. Controls whether the time counts as forecast or actual.

Start Daterequired

The date the volunteer worked. Required for time-based reporting and for ageing out stale commitments.

Gotchas
  • Decide one convention per program for individual versus group entries; mixing them on the same object silently breaks hour totals.
  • V4S and Nonprofit Cloud use different objects (Volunteer_Hours__c versus the standard VolunteerHours), so reports and flows do not port between them unchanged.
  • Leaving overdue Confirmed records unflipped pollutes both forecasts and engagement numbers; schedule a nightly update to Completed or No-Show.
§

Trust & references

Sources

Cross-checked against the following references.

Official documentation

Straight from the source - Salesforce's reference material on Volunteer Hours.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Discussion

Loading…

Loading discussion…