Channels
Core Concept
Everything in the system is controlled by:
Roles (what you can do)
Channels / Channel Groups (what data you can see)
Portals (how you access it)
Channel Structure
Channels
Each record (clients, contracts, drivers, quotes) belongs to a Channel.
Key Channel Fields
What It Does
Controls access to data
Drives branding (logos, invoices, emails)
Determines reporting scope
Channel Groups
Used to group multiple channels together.
Fields
Behaviour
Group Channel Manager can access ALL channels in group
Used for broader access control (multi-channel organisations)
Role System
Channel Manager
Single-channel operational admin.
Can access:
Contracts, quotes, vehicles, drivers
Clients (within channel)
Finance, billing, payments, insurance
Events, reports
Restriction: Only their assigned Channel
Channel Accounts
Finance-heavy role.
Can access:
Contracts (financial views)
Billing, payments, receivables
Finance, insurance, leasing
Reprints (invoices)
Reporting
Restriction: Channel only
Channel Packager
Salary packaging role.
Can access:
Employees / packaging data
FBT calculations & reports
Claims and transactions
Contracts (limited view)
Packaging items (if enabled)
Restriction: Channel only
Group Channel Manager
Multi-channel version of Channel Manager.
Can access:
All channels in a Channel Group
Clients, drivers, quotes, contracts across group
Reporting across group
Franchise Role (Merchant Portal only)
This is NOT internal system access. Used in Merchant Portal for external users.
Can:
Create approval estimates
Edit approvals
Finalise completed work
Restriction: No system browsing (must enter registration manually)
Portal System Structure
Internal System
Used by staff roles:
Channel Manager
Accounts
Packager
Group Channel Manager
Driver / Employee Portal
Used for end users:
View salary packaging
Submit claims
View contracts
Change password
Reset password
Merchant Portal (Franchise)
External workshop / supplier system.
Functions:
Raise approvals
Edit estimates
Finalise job costs
Contracts
A contract is only accessible if:
Conditions
Active (no suspend date)
"Allow External Approvals" = YES
Optional: service profile requirement enabled
Additional Restriction (Optional)
Must be linked to active card (if enabled)
Approval System
Step 1: Raise Approval
Franchise user enters:
Registration number (no search allowed)
Job estimate lines
System validates:
Contract rules
VMRS codes
Approval limits
Step 2: Validation Outcomes
Approval may:
Auto-approve (within limits)
Go to manual approval (Maintenance Controller)
Be rejected
Step 3: Finalise Approval
After work completion:
Enter final costs
System locks record
Updates totals
VMRS System
VMRS codes control what work can be selected.
Requirements
gb_control externalroleaccess_flag = yes
approvaljobtype_id must exist
Optional: approvalitemjobtypeid
Special Case
UNEXP VMRS code must exist (fallback category)
Capped Price Services
Defined at VMRS Group level.
Behaviour
Fixed price service
Finalisation locks all cost fields
Total is pre-filled from approval estimate
Approval Validation Rules
Auto-Approval Conditions
Approval may auto-approve if:
Within client approval limit
Within contract vehicle limit
All required fields completed
No duplicates (service / VMRS)
Valid supplier posting class
Finalisation Rules
When finalising an approval:
Must pass controller limit checks (if previously reviewed)
Labour tolerance rules
GST tolerance rules
All values must be positive
Reference number required
GST Handling
GST determined by contract "Class"
If missing class: GST assumed YES
GST tolerance is NOT checked in portal
Only enforced in backend processing
Authentication
2 Factor Authentication
Optional or mandatory per role
Controlled via system flags
Can force enrolment on login
Can be reset by internal admins
Password / Login System
Reset Password Flow
Tables involved:
gb_controls (feature flags)
gb_users (user records)
gb_eventlog (logging)
gb_user_access_log (audit trail)
gb_templates (email templates)
Behaviour
Email contains one-time token
Token stored in gbtokens
Token expires after session timeout (default 2 days)