Volunteer Management
Manage volunteer events, programs, expense reimbursement, waivers, check-in, shifts, and compliance tracking from the Volunteering group in Muin.
Muin’s Volunteer Management module coordinates your volunteer workforce from recruitment through recognition. It covers event creation and sign-up, program management with hour tracking, expense reimbursement with approval workflows, waiver collection with e-signature, mobile check-in via QR and NFC, shift scheduling, and IRS compliance for volunteer expense reporting.
Where everything lives
Every screen in this doc sits under one sidebar group: Nonprofit > Volunteering. Its entries are Overview, Volunteer Events, Volunteer Programs, Waivers, Applications, Hours, Reimbursements, Waiver Compliance, Volunteer Impact and Hour Heroes.
Four of those screens now have a dedicated guide of their own, and they go deeper than this page:
- Volunteers overview and the coordinator briefing
- Logging and approving hours
- Waivers, compliance and disclosures
- Volunteer expenses and payout preferences
- Volunteer impact reporting
The words Muin uses
| Concept | The term you will see |
|---|---|
| Committing to a volunteer event | Sign up |
| Arriving and recording attendance | Check in |
| A volunteer event | Event |
| A time slot inside an event | Shift |
| Recording time served | Log hours |
| A signed agreement to participate | Waiver |
| The one-time form to become a volunteer | Volunteer application |
“RSVP” means attendance at a non-volunteer event, and “Join” means a waitlist or a series. Neither is a synonym for signing up.
Volunteer Events
What are Volunteer Events?
Volunteer Events are scheduled opportunities for volunteers to contribute their time. Each event belongs to a program, has a date and location, supports capacity limits, and tracks sign-ups and attendance.
How to Create a Volunteer Event
- Go to Nonprofit > Volunteering > Volunteer Events
- Click Create Event
- Fill in the event details:
- Name (e.g., “Community Cleanup Day”)
- Program (link to a volunteer program)
- Event Date, Start Time, and End Time
- Location and Address
- Maximum Volunteers (capacity limit)
- Registration Deadline
- Waiver Required (toggle if volunteers must sign a waiver)
- Description with instructions for volunteers
- Save the event as a draft
Event Lifecycle
| Status | Description |
|---|---|
| Draft | Event created, not yet open for registration |
| Published | Open for volunteer registration |
| Cancelled | Event cancelled; registrations voided |
| Completed | Event finished; hours can be logged |
To manage the lifecycle:
- Click Publish to open registration
- Click Cancel if the event cannot proceed
- Click Complete after the event ends to finalize attendance records
If some dates of a volunteer event are still drafts, the event page warns, for example “2 of 8 dates are not published”, and says nobody can sign up for them. Choose Publish every date to publish them all. Publishing a series publishes every date, including dates already created.
Volunteer signups, hours and expenses also appear on the volunteer’s Timeline tab under People. A public signup from someone who was not signed in is marked (unauthenticated).
Shifts and Roles
A volunteer event is a grid of shifts (when) and roles (what the person does). Each shift and role pair has its own number of spots and its own waitlist. For example, a Saturday pantry might run Morning and Afternoon shifts, each with Packers and Drivers.
Both are optional. An event with no shifts and no roles has one set of spots for the whole event, and volunteers see no pickers when they sign up. Removing an event’s only shift turns it back into that one set of spots: everyone in it stays signed up and their check-ins are kept. On a recurring series, removing a shift from the series removes it from every upcoming date.
- Open the event’s manage page and go to its staffing grid
- Add shifts with a start time, end time and label
- Add roles to each shift and set the number of spots for each one
- Optionally set a minimum for a shift and role. If fewer people are signed up 48 hours before the shift starts, you get an alert
- Spots are counted per shift and role. When one is full, new volunteers join its waitlist
When an event has shifts, volunteers must pick one. There is no “Any shift” choice. When a shift has more than one role, they pick a role too. A person can hold more than one shift on the same day as long as the times do not overlap.
Volunteer Roles
Roles come from one list for your organization, kept in Settings > Nonprofit > Volunteer roles. Each role has a name, a description, an optional minimum age and optional required certifications.
- Age is checked against the date of the shift. If Drivers must be 21, a volunteer who turns 21 the week before the shift can sign up as a Driver.
- A required certification must be valid and unexpired on the shift date.
- A volunteer who does not qualify is told why and which roles they can pick instead.
Group Holds
You can hold spots in one shift and role for a named group, such as a youth group or a company team, until a release date. Held spots count as taken, and members of that group can use them. When the release date passes (or you release the hold early), any unused spots go to that role’s waitlist first, then to the public. A hold must release before the shift starts.
Waitlist Offers
When a spot opens (someone cancels, you add spots, or a group hold is released), Muin offers it to the next person on that shift’s waitlist instead of signing them up automatically.
- The volunteer gets an email and an in-app notice saying a spot is theirs if they accept by a deadline. They accept or decline from their volunteer portal.
- The deadline is the waitlist offer window set in Settings > Nonprofit > Volunteers (24 hours by default), but every offer closes 2 hours before the shift starts.
- If a spot opens less than 2 hours before the shift, no offer is made. You get an alert instead, so you can call someone.
- If the offer runs out, the volunteer stays on the waitlist and moves to the back of the queue. The spot is offered to the next person.
- If the volunteer declines, they leave the waitlist and the spot goes to the next person.
- If a volunteer holds two offers for shifts that overlap, accepting one declines the other.
- If the next person signed up a group too big for the open spots, their place is kept, the spot goes to the next person who fits, and you are told.
- When a shift ends, its waitlist and any open offers are closed. Nobody is emailed.
Staffing Alerts
Coordinators get an in-app alert when:
- A shift with a minimum is still short within 48 hours of its start
- A spot opens less than 2 hours before a shift, too late to offer
- A waitlisted volunteer accepts an offer and takes a spot
- The next person on a waitlist is a group too big for the open spots
Sign-up Statuses
Volunteers, coordinators and emails use the same words for where someone stands: Signed up, Waitlisted #N, Offer: accept by (a date and time), Offer expired, Declined, Cancelled, Cancelled (late), Checked in, Checked out and No-show.
Mobile Check-In
On event day, check in volunteers using one of three methods:
QR Code Check-In:
- Open the event check-in screen
- Scan the volunteer’s registration QR code (available from their confirmation)
- The system validates the registration and records check-in time
NFC Card Check-In:
- Tap the volunteer’s NFC card
- The card resolves to the volunteer and their registration on this event
- Check-in is recorded instantly
Manual Check-In:
- Select the registration from the list
- Click Check In
Attendance Statistics
View real-time attendance for any event:
- Total registered volunteers
- Number checked in
- Check-in percentage
- Per-slot breakdown (if time slots are configured)
Registration QR Codes
Generate a QR code for any registration:
- Open the event and navigate to the registrations list
- Click the QR icon next to a registration
- Download or display the QR code PNG
- Volunteers can present this code on their phone or printed
Volunteer Programs
What are Volunteer Programs?
Volunteer Programs are ongoing initiatives that group related events and track cumulative volunteer engagement. Each program has target hours, target volunteer count, a coordinator, and aggregate statistics.
How to Create a Volunteer Program
- Go to Nonprofit > Volunteering > Volunteer Programs
- Click Create Program
- Enter the program details:
- Name and Code (e.g., “Meals on Wheels”, “MOW-2026”)
- Description of the program’s purpose
- Coordinator (assign a staff member)
- Target Hours for the year
- Target Volunteers to recruit
- Save the program
Program Statistics
Each program tracks:
- Total events held
- Total volunteers who participated
- Total hours contributed
- Progress toward target hours and volunteer count
- Active vs. completed events
Managing Programs
- Edit program details, targets, or coordinator at any time
- Delete (soft delete) to archive a program that has ended
- Filter by status (active, completed, cancelled) to manage your portfolio
Volunteer Expenses
What are Volunteer Expenses?
When volunteers incur out-of-pocket costs (mileage, supplies, meals, etc.) while serving, they can submit expense reports for reimbursement. Muin manages the full lifecycle from submission through approval to payment, with built-in IRS compliance guardrails.
How to Submit an Expense
Volunteers file their own, from the member portal. A volunteer or parent signs in at the
organization’s portal (/go/{your-org}/me), opens Money back, and:
- Taps New request (or starts from the event they signed up for, which links the request to it automatically)
- Takes a photo of the receipt on their phone, which pre-fills the store, total and date
- Checks what was read off the photo, corrects anything wrong, and sends it
Mileage needs no receipt, only the miles.
Staff file their own the same way from My expenses on the web or the Expenses module in the Muin Go mobile app, against a class, program or event.
Coordinators and finance staff review everything sent on Nonprofit > Volunteering > Reimbursements, where they can approve, ask the person a question, decline with a reason, or record the payment they sent.
Approval Workflow
| Status | Description |
|---|---|
| Draft | Expense created, not yet submitted |
| Submitted | Awaiting reviewer action |
| Pending Approval | Escalated to higher approver |
| Approved | Approved for reimbursement (optionally with adjusted amount) |
| Rejected | Not approved (reason required) |
| Cancelled | Withdrawn by submitter |
| Paid | Reimbursement processed |
Reviewers can:
- Approve with the full or an adjusted amount and notes
- Reject with a required reason
- Request Info to ask the volunteer for additional documentation
- Escalate to a higher authority for large or unusual expenses
- Waive Receipt if the receipt is unavailable but the expense is legitimate
Who Approves What
Approvals are configurable per organization in Settings > Approvals, and the same setting governs every kind of request, not just reimbursements. Three questions decide it: who approves, whether an owner or admin may approve something they sent themselves (with a note that stays on the record), and the amount above which a second signature is required.
A small organization can choose Just me: nothing is queued for a second person, and the owner approves their own reimbursement by writing down why. Larger organizations can set an amount below which requests are approved automatically and recorded, one approver above it, and two above a second amount. Until the questions are answered, nothing is approved automatically and nobody approves their own request.
Batch Reimbursement
Process several approved expenses in one run. The batch panel sits at the bottom of the Analytics tab on Nonprofit > Volunteering > Reimbursements:
- Give the batch a purpose
- Create it. Muin collects the approved, unpaid expenses that are not already in a batch
- Pay them outside Muin and record the payment on each expense
What the board shows you
The reimbursements board has four tabs: Dashboard, Pending Review, Budgets and Analytics: and one strip of tiles above them that stays on every tab. Each tile deep-links into the filtered list, and the Pending Review tab adds three filter chips: Awaiting me, Awaiting payment and Unreceipted.
Two links in the header take you to the settings that govern it: Approvals (who may approve what) and Expense settings (categories, mileage rate, receipt rules).
AI-Powered Features
Duplicate detection: before an expense is sent, Muin checks for a likely duplicate on amount, merchant, date and volunteer. If it finds one, the filer sees the matching expense rather than a silent second claim.
Receipt reading: a photo of the receipt pre-fills merchant, total and date, and suggests a category. The filer confirms or corrects it.
Insights: an insight strip on the Dashboard and Analytics tabs surfaces anomalies and trends. It renders nothing when there is nothing worth saying.
Analytics Dashboard
The Analytics tab provides:
- Total expenses by status, category and time period
- Breakdowns by event, program and individual volunteer
- Monthly trend charts
- Budget utilization percentages
Compliance exports
Three compliance extracts are available through the Muin API rather than as screens: the overdue
list for the IRS 60-day accountable-plan deadline, the Form 990 functional allocation by fiscal
year, and a per-volunteer tax-year summary. Your accountant or your integration can pull them from
/api/v1/nonprofit/volunteer/expenses/compliance/overdue, /compliance/990-allocation and
/export/tax-summary. See API authentication for how to call them.
Volunteer Waivers
What are Volunteer Waivers?
Waivers are liability release forms that volunteers sign before participating in events. Muin manages waiver templates, collects e-signatures, and tracks compliance for every registration.
Setting Up Waiver Templates
- Go to Nonprofit > Volunteering > Waivers
- Click New template
- Fill in Template name, Disclosure body and Version, and attach a Waiver document (optional) if you have the signed PDF your lawyer wrote
- Click Create
- Pick the one every event should use by default in the Tenant default selector at the top
The Event Templates tab on the same screen is where you attach a specific waiver to a specific event instead of using the tenant default.
Full walkthrough, including what archiving a template does to signatures already collected: Volunteer waivers, compliance and disclosures.
Collecting Signatures
When a volunteer registers for an event that requires a waiver:
- The system creates a signature request linked to the registration
- The volunteer is presented with the waiver text
- They sign electronically (with signature data, IP address, and user agent recorded)
- If a minor, a guardian also signs
- The signed waiver is stored with the registration
Viewing Waiver Status
For any registration, view all associated waivers:
- Waiver template name
- Signature status (pending, signed)
- Signed date and signer details
- Guardian signature (if applicable)
Tips & Best Practices
- Require waivers for physical activities: Set the waiver-required flag on events involving physical labor, outdoor work, or potential risk
- Use shifts and roles for larger events: Set spots and a minimum for each shift and role so you see early which ones are short
- Set registration deadlines: Close registration a day or two before the event to finalize headcounts and assignments
- Encourage QR check-in: It is faster than manual lookup and reduces check-in lines
- Submit expenses within 60 days: The IRS accountable plan requires timely submission; Muin flags overdue expenses automatically
- Review duplicate alerts: The duplicate detection saves money by catching accidental double-submissions
- Export 990 data before filing: Pull the functional allocation report as part of your annual tax preparation
Common Issues
| Problem | Solution |
|---|---|
| Volunteer cannot register for an event | Check if the event is Published and the registration deadline has not passed. If the shift and role they picked is full, they can join its waitlist. |
| Volunteer is refused a role | The role has a minimum age or a required certification they do not meet on the shift date. The message names the reason; they can pick another role. |
| A spot opened but nobody was offered it | It opened less than 2 hours before the shift, so no offer was made and you were alerted. Contact someone on the waitlist directly. |
| QR check-in shows “Registration not found” | The QR may encode an incorrect or expired registration ID. Regenerate the QR code from the registration detail. |
| Expense stuck in Submitted status | A reviewer needs to take action. Open Volunteering > Reimbursements > Pending Review and use the Awaiting me chip. |
| Batch reimbursement not including all approved expenses | Only approved expenses that have not been previously included in a batch are eligible. Check the expense status and batch history. |
| Waiver not appearing for sign-up | Verify the waiver template is not archived and is either the tenant default or attached to the event on Volunteering > Waivers > Event Templates. |
| Voice parse returning wrong category | Voice parsing is AI-assisted and may need manual correction. Adjust the category before saving. |
| Analytics dashboard showing zero data | Ensure the fiscal year or date range filter matches the period when expenses were submitted. |
Related Features
- Fundraising – Events that include both fundraising and volunteer components
- Distributions – Volunteers who staff distribution events
- Facility Management – Book venues for volunteer events
- Case Management – Volunteers who provide case management services
- Aid requests from intake to decision – The assistance side of the same community work
Need Help?
If you have questions about volunteer management, contact your organization administrator or reach out to Muin support. For questions about IRS compliance for volunteer expenses, consult your organization’s accountant or tax advisor.