Billing
Matchpal uses a grant-based billing system where students purchase packages of hours or sessions, which are then consumed as they work with providers.
Understanding the Billing Model
Packages
Packages are the products students purchase, typically through an external shop (WooCommerce). Each package provides:
- A specific number of hours or sessions
- Service type coverage (tutoring, advising, or both)
- Validity period (if applicable)
Grants
When a package is purchased, it creates a grant on the student's account:
- Balance - Available hours/sessions
- Used - Hours consumed through sessions
- Held - Hours reserved for active relationships
- Remaining - Balance minus used and held
Usage Flow
- Student purchases package → Grant created
- Student matched with provider → Hours held
- Sessions completed → Hours consumed from hold
- Relationship completed → Unused hold released
Viewing Student Balances
From Student Profile
- Open student profile
- Navigate to "Grants" or "Billing" tab
- See all grants and current balances
- View usage history
From Dashboard
The admin dashboard shows:
- Total grants across platform
- Usage trends
- Low balance alerts
- Recent transactions
Grant Management
Assigning a Grant
To manually add a grant:
- Open student profile
- Click "Add Grant"
- Select package type
- Enter quantity (hours/sessions)
- Add reference (order number, note)
- Save grant
Adjusting a Grant
To modify existing grant:
- Open student profile
- Find the grant to adjust
- Click "Edit" or "Adjust"
- Increase or decrease balance
- Add reason for adjustment
- Save changes
Decreasing a grant below used + held amount is not allowed. Release holds first if needed.
Transferring Grant Hours
If a student needs hours moved between service types:
- Open student profile
- Decrease one grant type
- Increase the other type
- Document the transfer reason
Package Configuration
Packages are typically configured in the external shop, but Matchpal needs to know:
Package Mapping
- Which shop products map to which service types
- How many hours each package provides
- Any special conditions or limits
Package Types
Common package configurations:
| Package | Hours | Service |
|---|---|---|
| Tutoring Basic | 5 | Tutoring only |
| Tutoring Standard | 10 | Tutoring only |
| Advising Package | 3 | Advising only |
| Combo Package | 8 | Both services |
Usage Tracking
Session-Based Usage
Each completed session deducts from grant:
- Duration recorded
- Hours subtracted from relationship allocation
- Relationship allocation subtracted from grant hold
- Total used increases
Revision-Based Usage
For advising revisions:
- Each revision may have fixed hour value
- Or tracked by actual review time
- Deducted similar to sessions
Real-Time Balance
Student's available balance calculated as:
Available = Total Grant - Used - Held
Where "Held" includes all active relationship allocations.
Grant Holds
When a relationship is created, hours are held:
Creating Holds
- Relationship created with hour allocation
- Those hours become "held"
- Available balance decreases
- Ensures hours exist for the provider
Releasing Holds
Holds are released when:
- Relationship completed (unused returned)
- Relationship cancelled
- Relationship declined by provider
- Admin manually releases
Hold Visibility
Students see holds in their balance breakdown:
- "Reserved for [Provider Name]: X hours"
- Helps explain why available differs from total
Handling Special Cases
Insufficient Balance
If student needs services but has no grant:
- Verify with student about purchasing more
- If immediate need, admin can add grant manually
- Note reason for manual addition
- Follow up on payment outside platform
Expired Grants
If grants have expiration dates:
- System tracks validity periods
- Expired grants no longer available
- Admin can extend if policy allows
- Communicate with student about renewals
Refunds
If student needs refund:
- Verify unused hours
- Adjust grant balance down
- Process refund through shop
- Document in student profile
Package Upgrades
If student wants to add more hours:
- Process new purchase through shop
- New grant automatically created
- Or admin manually adds grant
- Existing relationships can continue
Reporting
Usage Reports
Generate reports showing:
- Hours purchased vs. consumed
- Usage by service type
- Usage by time period
- Grant utilization rates
Financial Reports
Track financial aspects:
- Total packages sold
- Revenue by package type
- Outstanding grant balances
- Consumption velocity
Exporting Data
- Navigate to billing/reports section
- Select report type
- Choose date range
- Export to CSV or Excel
Integration with WooCommerce
Matchpal integrates with WooCommerce for purchases:
Automatic Grant Creation
- Student purchases package in shop
- Webhook notifies Matchpal
- Grant automatically created
- Student ready to match
Order Fulfillment
- Successful orders create grants
- Failed orders logged for review
- See Order Errors for troubleshooting
See Integrations for setup details.
Related Documentation
- Grants & Packages - Conceptual overview
- Managing Relationships - How grants are allocated
- Sessions - How sessions consume grants
- Integrations - WooCommerce setup
- Order Errors - Troubleshooting fulfillment