Complete QA Documentation, Permission Framework, and Feature Matrix for WCW CRM v1.0
Last Updated: April 8, 2026
System: WCW Frontend (PBAC Migration Ready)
Total Roles: 4 | Total Modules: 17 | Total Features: 80+
| Role ID | Role Name | Access Level | Type | Description |
|---|---|---|---|---|
| 1 | Admin | Super | Administrative | Full system access, all features, user/permission management |
| 2 | Sales Rep | Standard | Operational | Field sales operations, own customer/activity data, read-only reports |
| 3 | Inside Rep | Standard | Operational | Office-based sales, customer management, order processing |
| 4 | Manager | Super | Administrative | Team oversight, approval workflows, region management, reporting |
Super Access Roles: Admin, Manager
Standard Roles: Sales Rep, Inside Rep
Status: π‘ In Development
Implemented Permissions: β Partial
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | None (public) | β Working | Works for all roles |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | session.manage | π΄ Not Implemented | Token validation needed |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | None | π Partial | Token cleared but no backend revocation |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | permission.manage | π΄ Not Implemented | Framework ready | | Manager | β Yes | permission.manage | π΄ Not Implemented | Limited scope | | Sales Rep | β No | - | β No Access | | | Inside Rep | β No | - | β No Access | |
Checklist:
Edge Cases:
Status: π’ Working
Implemented Permissions: β Partial
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | dashboard.view | β Working | Global view | | Manager | β Yes | dashboard.view | β Working | Team filtered | | Sales Rep | β Yes | dashboard.view | β Working | Region filtered | | Inside Rep | β Yes | dashboard.view | β Working | Region filtered |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | dashboard.filter | β Working | All options | | Manager | β Yes | dashboard.filter | β Working | Team filtered | | Sales Rep | β Yes | dashboard.filter | π Partial | Own region only | | Inside Rep | β Yes | dashboard.filter | π Partial | Own office only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | dashboard.refresh | β Working | Auto + Manual |
Checklist:
Edge Cases:
Status: π’ Working
Implemented Permissions: β Yes (Partial)
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | customer.view | β Working | All customers | | Manager | β Yes | customer.view | β Working | Team customers | | Sales Rep | β Yes | customer.view | β Working | Own customers | | Inside Rep | β Yes | customer.view | β Working | Own customers |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | customer.create | β Working | | | Manager | β Yes | customer.create | β Working | Assign to team | | Sales Rep | β Yes | customer.create | β Working | Own only | | Inside Rep | β Yes | customer.create | β Working | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | customer.view | β Working | Any customer | | Manager | β Yes | customer.view | β Working | Team customers | | Sales Rep | β Yes | customer.view | π Partial | Own only | | Inside Rep | β Yes | customer.view | π Partial | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | customer.edit | β Working | Any field | | Manager | β Yes | customer.edit | β Working | Team customers | | Sales Rep | β Yes | customer.edit | π Partial | Own only | | Inside Rep | β Yes | customer.edit | π Partial | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | customer.delete | β Working | | | Manager | β Yes | customer.delete | π Partial | Team only | | Sales Rep | β No | customer.delete | β No Access | | | Inside Rep | β No | customer.delete | β No Access | |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | customer.search | β Working | Scoped to access |
Checklist:
Edge Cases:
Status: π’ Working
Implemented Permissions: β Yes
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | contact.view | β Working | All contacts | | Manager | β Yes | contact.view | β Working | Team contacts | | Sales Rep | β Yes | contact.view | β Working | Own customer contacts | | Inside Rep | β Yes | contact.view | β Working | Own customer contacts |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | contact.create | β Working | | | Manager | β Yes | contact.create | β Working | Team customers only | | Sales Rep | β Yes | contact.create | β Working | Own customer only | | Inside Rep | β Yes | contact.create | β Working | Own customer only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | contact.edit | β Working | | | Manager | β Yes | contact.edit | β Working | Team contacts | | Sales Rep | β Yes | contact.edit | β Working | Own customer contacts | | Inside Rep | β Yes | contact.edit | β Working | Own customer contacts |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | contact.delete | β Working | | | Manager | β Yes | contact.delete | π Partial | Team contacts | | Sales Rep | β No | contact.delete | β No Access | | | Inside Rep | β No | contact.delete | β No Access | |
Checklist:
Edge Cases:
Status: π‘ Partial
Implemented Permissions: β Yes
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | opportunity.view | β Working | All opps | | Manager | β Yes | opportunity.view | β Working | Team opps | | Sales Rep | β Yes | opportunity.view | β Working | Own opps | | Inside Rep | β Yes | opportunity.view | β Working | Own opps |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | opportunity.create | β Working | | | Manager | β Yes | opportunity.create | β Working | Assign to team | | Sales Rep | β Yes | opportunity.create | β Working | Own only | | Inside Rep | β Yes | opportunity.create | β Working | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | opportunity.edit | β Working | | | Manager | β Yes | opportunity.edit | β Working | Team opps | | Sales Rep | β Yes | opportunity.edit | β Working | Own only | | Inside Rep | β Yes | opportunity.edit | β Working | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | opportunity.delete | β Working | | | Manager | β Yes | opportunity.delete | π Partial | Team only | | Sales Rep | β No | opportunity.delete | β No Access | | | Inside Rep | β No | opportunity.delete | β No Access | |
Checklist:
Edge Cases:
Status: π‘ Partial
Implemented Permissions: β Partial (non-admin only)
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | task.view | π Restricted | Cannot view (by policy) | | Manager | β Yes | task.view | β Working | Team + own | | Sales Rep | β Yes | task.view | β Working | Own only | | Inside Rep | β Yes | task.view | β Working | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | task.create | π Restricted | | | Manager | β Yes | task.create | β Working | Assign to team | | Sales Rep | β Yes | task.create | β Working | Own only | | Inside Rep | β Yes | task.create | β Working | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | task.edit | π Restricted | | | Manager | β Yes | task.edit | β Working | Team + own | | Sales Rep | β Yes | task.edit | β Working | Own only | | Inside Rep | β Yes | task.edit | β Working | Own only |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | task.delete | π Restricted | | | Manager | β Yes | task.delete | π Partial | Team only | | Sales Rep | β No | task.delete | β No Access | | | Inside Rep | β No | task.delete | β No Access | |
Checklist:
Edge Cases:
Status: π’ Mostly Working
Implemented Permissions: β Yes
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | commitment.view | β Working | All | | Manager | β Yes | commitment.view | β Working | Team | | Sales Rep | β Yes | commitment.view | β Working | Own | | Inside Rep | β Yes | commitment.view | β Working | Own |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | commitment.create | β Working | | | Manager | β Yes | commitment.create | β Working | Assign to team | | Sales Rep | β Yes | commitment.create | β Working | Own | | Inside Rep | β Yes | commitment.create | β Working | Own |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | commitment.complete | β Working | | | Manager | β Yes | commitment.complete | β Working | Team | | Sales Rep | β Yes | commitment.complete | β Working | Own | | Inside Rep | β Yes | commitment.complete | β Working | Own |
Checklist:
Edge Cases:
Status: π Issue - Mock Data
Implemented Permissions: β Partial
PBAC Ready: β Yes
Known Issue: Uses hardcoded September 2025 data
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | calendar.view | π Partial | All data | | Manager | β Yes | calendar.view | π Partial | Team data | | Sales Rep | β Yes | calendar.view | π Partial | Own data | | Inside Rep | β Yes | calendar.view | π Partial | Own data |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | calendar.create | π Partial | | | Manager | β Yes | calendar.create | π Partial | | | Sales Rep | β Yes | calendar.create | π Partial | | | Inside Rep | β Yes | calendar.create | π Partial | |
Checklist:
Edge Cases:
Status: π‘ Partial
Implemented Permissions: β Yes (non-admin)
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | schedule.view | π Restricted | | | Manager | β Yes | schedule.view | β Working | Team schedules | | Sales Rep | β Yes | schedule.view | β Working | Own schedule | | Inside Rep | β Yes | schedule.view | β Working | Own schedule |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | schedule.create | π Restricted | | | Manager | β Yes | schedule.create | β Working | Assign to team | | Sales Rep | β Yes | schedule.create | β Working | Own | | Inside Rep | β Yes | schedule.create | β Working | Own |
Checklist:
Edge Cases:
Status: π’ Mostly Working
Implemented Permissions: β Yes
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | target.view | β Working | All targets | | Manager | β Yes | target.view | β Working | Team targets | | Sales Rep | β Yes | target.view | β Working | Own targets | | Inside Rep | β Yes | target.view | β Working | Own targets |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | target.create | β Working | | | Manager | β Yes | target.create | β Working | Assign to team | | Sales Rep | β No | target.create | β No Access | | | Inside Rep | β No | target.create | β No Access | |
Checklist:
Edge Cases:
Status: π’ Working
Implemented Permissions: β Yes
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | alert.view | π Restricted | | | Manager | β Yes | alert.view | β Working | Team alerts | | Sales Rep | β Yes | alert.view | β Working | Own alerts | | Inside Rep | β Yes | alert.view | β Working | Own alerts |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β No | alert.manage | π Restricted | | | Manager | β Yes | alert.manage | β Working | | | Sales Rep | β Yes | alert.manage | β Working | | | Inside Rep | β Yes | alert.manage | β Working | |
Checklist:
Edge Cases:
Status: π Partial
Implemented Permissions: β Partial
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | setting.view | β Working | All | | Manager | β Yes | setting.view | π Partial | Limited set | | Sales Rep | β No | setting.view | β No Access | | | Inside Rep | β No | setting.view | β No Access | |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | setting.edit | β Working | All settings | | Manager | β Yes | setting.edit | π Partial | Team settings | | Sales Rep | β No | setting.edit | β No Access | | | Inside Rep | β No | setting.edit | β No Access | |
Checklist:
Edge Cases:
Status: π Partial
Implemented Permissions: β Partial
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | region.view | β Working | All | | Manager | β Yes | region.view | π Partial | Own regions | | Sales Rep | β Yes | region.view | π Partial | Own region | | Inside Rep | β Yes | region.view | π Partial | Own region |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | region.manage | β Working | | | Manager | β Yes | region.manage | π Partial | Own regions | | Sales Rep | β No | region.manage | β No Access | | | Inside Rep | β No | region.manage | β No Access | |
Checklist:
Edge Cases:
Status: π Partial
Implemented Permissions: β Partial
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | group.view | β Working | All | | Manager | β Yes | group.view | π Partial | Team groups | | Sales Rep | β No | group.view | β No Access | | | Inside Rep | β No | group.view | β No Access | |
Checklist:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | group.create | β Working | | | Manager | β Yes | group.create | π Partial | Team members | | Sales Rep | β No | group.create | β No Access | | | Inside Rep | β No | group.create | β No Access | |
Checklist:
Edge Cases:
Status: π Partial
Implemented Permissions: β Yes (Partial)
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | user.view | β Working | All users | | Manager | β Yes | user.view | π Partial | Team users | | Sales Rep | β No | user.view | β No Access | | | Inside Rep | β No | user.view | β No Access | |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | user.create | β Working | | | Manager | β No | user.create | β No Access | | | Sales Rep | β No | user.create | β No Access | | | Inside Rep | β No | user.create | β No Access | |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | user.edit | β Working | All fields | | Manager | β Yes | user.edit | π Partial | Limited fields | | Sales Rep | β No | user.edit | β No Access | | | Inside Rep | β No | user.edit | β No Access | |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | user.delete | β Working | | | Manager | β No | user.delete | β No Access | | | Sales Rep | β No | user.delete | β No Access | | | Inside Rep | β No | user.delete | β No Access | |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | permission.manage | π΄ Not Implemented | | | Manager | β Yes | permission.manage | π΄ Not Implemented | Limited | | Sales Rep | β No | permission.manage | β No Access | | | Inside Rep | β No | permission.manage | β No Access | |
Checklist:
Edge Cases:
Status: π Issue - Verification Disabled
Implemented Permissions: β Partial
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | subscription.view | π Partial | All | | Manager | β Yes | subscription.view | π Partial | Own | | Sales Rep | β Yes | subscription.view | π Partial | Own | | Inside Rep | β Yes | subscription.view | π Partial | Own |
Checklist:
Known Issues:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | subscription.manage | π΄ Not Full | | | Manager | β No | subscription.manage | β No Access | | | Sales Rep | β No | subscription.manage | β No Access | | | Inside Rep | β No | subscription.manage | β No Access | |
Checklist:
Status: π’ Working
Implemented Permissions: β Yes
PBAC Ready: β Yes
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | Admin | β Yes | nav.view | β Working | All items | | Manager | β Yes | nav.view | β Working | Most items | | Sales Rep | β Yes | nav.view | β Working | Filtered | | Inside Rep | β Yes | nav.view | β Working | Filtered |
Checklist:
Edge Cases:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | ui.view | β Working | |
Checklist:
| Role | Can Execute | Permissions | Status | Notes | |ββ|ββββ-|ββββ-|βββ|ββ-| | All | β Yes | ui.responsive | β Working | Desktop, tablet, mobile |
Checklist:
Edge Cases:
| Module | Status | Working | Partial | Not Impl | PBAC Ready | Notes |
|---|---|---|---|---|---|---|
| Auth | π‘ | β | β | π΄ | Yes | Session mgmt needs work |
| Dashboard | π’ | β | β | Β | Yes | Fully functional |
| Customers | π’ | β | β | Β | Yes | All CRUD working |
| Contacts | π’ | β | β | Β | Yes | All CRUD working |
| Opportunities | π‘ | β | β | Β | Yes | Mostly working |
| Tasks | π‘ | β | β | Β | Yes | admin restricted |
| Commitments | π’ | β | β | Β | Yes | Fully functional |
| Calendar | π΄ | Β | π‘ | π΄ | Yes | Mock data issue |
| Schedule | π‘ | β | β | Β | Yes | admin restricted |
| Targets | π’ | β | β | Β | Yes | Mostly functional |
| Daily Alerts | π’ | β | β | Β | Yes | Fully functional |
| Global Settings | π | β | β | Β | Yes | Limited scope |
| Regions | π | β | β | Β | Yes | Partial implementation |
| Groups | π | β | β | Β | Yes | Partial implementation |
| User Management | π | β | π‘ | π΄ | Yes | PBAC framework ready |
| Subscription | π | Β | π‘ | π΄ | Yes | Verification disabled |
| Layout | π’ | β | β | Β | Yes | Fully functional |
Legend:
Document Status: Ready for QA
Last Updated: April 8, 2026
Next Review: After PBAC migration (Target: April 15, 2026)