# Features — honest matrix for buyers
**Date:** 2026-08-25 (Phase 3.5 buyer pack)
Canonical sale tiers for MetaSoul ERP. Marketing copy must follow this matrix.
**Purpose:** Control what may appear on the Codester item page, screenshots, and README.
**Rule:** Item description may only claim **Core**, **Lite**, or **Demo Mode** (with label). Never claim **Do not advertise** as a finished product feature.
### Tier definitions
| Tier | Meaning | Allowed in item description? |
|------|---------|------------------------------|
| **Core** | Substantial workflow buyers can use in production with normal setup | Yes — as a featured capability |
| **Lite** | Real UI/CRUD exists but depth is partial vs enterprise expectation | Yes — must say “lite” or “simplified” |
| **Demo Mode** | UI works; backend is simulated / stub / no live third-party | Yes — only with **Demo Mode** callout |
| **Do not advertise** | Too incomplete, misleading, or high rejection risk if sold as a feature | **No** — hide from marketing; may remain in app |
**Sources:** Audit findings, `docs/MARKETING.md`, `README.md`, `config/module-registry.php`, simulated-integration notes.
**Confidence:** Phase 0 draft from code/docs audit — re-verify with QA smoke in Phase 4 and adjust tiers if needed.
---
## Platform surfaces
| Surface | Tier | Notes for sale copy |
|---------|------|---------------------|
| Public website shell | Core | Home, CMS pages, shop chrome |
| Website / CMS custom head & footer code | Core (privileged) | Unescaped HTML/JS for trusted admins only; non-admins cannot save these fields. Buyers must not grant website edit to untrusted users. |
| Customer portal (`/my`) | Core | Orders, tickets, bookings, courses (scope per seed) |
| Business workspace (`/app`) | Core | Multi-app launcher; **after** Phase 1.2 ACL |
| Filament admin (`/admin`) | Core | Staff ERP CRUD |
| Offline sync / PWA outbox | Lite | Present; document limits; not full offline ERP claim |
| REST / public API product | Do not advertise | No dedicated `routes/api.php` product API |
| Reverb realtime | Lite | Dependency exists; document as optional; env incomplete until Phase 2.1 |
---
## Sales & commercial
| Module | Tier | Sale guidance |
|--------|------|---------------|
| CRM | Core | Pipeline / leads — verify in Phase 4 |
| Sales (quotes → orders) | Core | Commercial flow exists |
| Invoices (from sales) | Lite | README already says invoices lite |
| Subscriptions | Lite | UI/lifecycle present; confirm depth in QA |
| Point of Sale | Lite | UI + kitchen; Stripe Terminal Core when keyed |
| Kitchen Display / Restaurant | Lite | Tied to POS |
| Rental | Lite | Contracts/schedules UI |
| Leasing | Lite | Same family as rental |
| Properties | Lite | Agency listings/visits UI |
| Licenses | Lite | Reseller tooling UI |
| Hotel | Lite | Schedule/rooms/housekeeping (seeded demo) |
| Marketplace connectors (Amazon/Lazada/Shopee/TikTok) | Core | Requires platform API keys; simulated without keys |
---
## Website & digital presence
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Website / CMS | Core | Pages, menus, editor surfaces |
| eCommerce (shop/cart/wishlist/checkout) | Core | Public shop; Stripe/PayPal verified (Phase 1.3) |
| eLearning / LMS | Lite | Courses/progress; Employees → eLearning lists linked enrollments |
| Appointments | Core | Booking + Stripe/PayPal up-front pay when providers published |
| Live Chat | Lite | HTTP polling widget; chatbot welcome/script + channel URL rules; Reverb optional |
| Events | Lite | Publish/register; some messaging simulated |
| Recruitment (public jobs) | Core | Careers → HR pipeline |
| Helpdesk (public forms) | Core | Ticket intake |
| Contact forms | Core | Rate-limited public forms |
---
## Services & delivery
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Project | Core | Projects/tasks |
| Timesheets | Lite | Time capture |
| Helpdesk (staff) | Core | Teams/tickets |
| Planning | Lite | Scheduling UI |
| Field Service | Lite | Interventions UI |
| Frontdesk | Lite | Visitors/check-in |
| Meeting Rooms | Lite | Room booking |
| Community | Lite | Members/donations style flows |
---
## Accounting & finance
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Invoicing | Lite | Must say lite |
| Accounting | Lite | Journals/ledgers surfaces; **not** full enterprise accountant suite. Multi-company uses `company_id` scopes (null company rows are not shared across companies). |
| Bank sync / OAuth institutions | Core | Plaid when `PLAID_*` set; stub without keys |
| Accounting OCR / bill upload | Core | OpenAI OCR when `OCR_DRIVER=openai`; heuristic otherwise |
| Equity / Cap table | Lite | Securities UI |
| Stripe checkout | Core | Verified + webhooks (Phase 1.3) |
| PayPal checkout | Core | Return URL capture + optional signed webhook (`/webhooks/paypal`) |
| Other PSP catalog (Adyen, Mollie, …) | Do not advertise | Stubs only — hide or “unavailable” |
| Demo / offline payment provider | Demo Mode | OK if labeled |
| Peppol e-invoicing | Core | Storecove when keyed; local demo transport otherwise |
---
## Supply chain & operations
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Inventory | Core | Warehouses/stock |
| Barcode | Lite | Scanner-oriented UI |
| Purchase | Lite | POs / vendors; **Receive** creates and validates inventory receipt pickings (stock updates). Still Lite vs full enterprise purchasing. |
| Manufacturing (MRP) | Lite | MO / BoM surfaces |
| Shop Floor | Lite | Operator display |
| Quality | Lite | QC checks |
| Maintenance | Lite | Equipment requests |
| Repairs | Lite | Repair orders |
| PLM | Lite | Lifecycle UI |
| POS payment terminals / IoT print | Core | Stripe Terminal + network IoT when configured; simulated otherwise |
---
## Marketing & growth
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Email Marketing | Lite | Campaign UI; mail-server depth limited |
| SMS Marketing | Core | Twilio when `SMS_DRIVER=twilio`; simulated otherwise |
| Marketing Automation | Lite | Journey UI |
| Social Marketing | Core | Live publishers when OAuth configured; simulated otherwise. Web Push = Core when `SOCIAL_WEBPUSH_VAPID_*` set |
| Surveys | Lite | Forms/responses |
| Marketing Cards | Lite | Shareable cards |
| WhatsApp | Core | Meta Cloud API when `WHATSAPP_DRIVER=meta`; simulated otherwise |
| Events (marketing use) | Lite | Same as Events above |
---
## Human resources
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Employees | Core | Directory/records |
| Recruitment | Core | Jobs/applicants |
| Attendances | Lite | Kiosk-oriented |
| Time Off | Lite | Leave/allocations |
| Expenses | Lite | Submit/approve |
| Appraisals | Lite | Reviews/templates |
| Payroll | Lite | Payslips — say lite |
| Referrals | Lite | Referral programs |
| Fleet | Lite | Vehicles |
| Lunch | Lite | Workplace lunch |
| Live Monitoring | Lite | **Admin-only**; **off by default**; env + Settings policy accept; privacy banner + [LIVE_MONITORING.md](LIVE_MONITORING.md); keep `LIVE_MONITORING_ENABLED=false` on public demo |
---
## Productivity & collaboration
| Module | Tier | Sale guidance |
|--------|------|---------------|
| Discuss | Lite | Chat/channels |
| Calendar | Core | Meetings + Google one-way push when Client ID/Secret set (OAuth for live API; mirror IDs without token). Outlook credentials stored — Graph sync not available |
| To-do | Core | Personal tasks |
| Documents | Lite | Storage/workflows |
| Knowledge | Lite | Knowledge base |
| Sign | Core | Designer + Twilio SMS OTP when SMS live; itsme® local confirm = **Demo Mode** only |
| Approvals | Lite | Request/approve flows |
| Contacts | Core | Address book / partners |
| Dashboards | Lite | Overview boards |
| Whiteboard | Lite | Diagrams/notes |
| AI | Core | OpenAI/Gemini when keys configured; tool-call loop supported |
| Data Cleaning | Lite | Dedup/recycle UI |
| Phone / VoIP | Core | Twilio Voice / SIP when configured; simulated otherwise |
| Databases (app) | Lite | Internal app surface — careful wording |
| Studio | Lite | Custom fields, views, models/apps, automations, webhooks, PDF reports, approval rules (admin-only hub) |
| Delivery Carriers | Lite | Fixed price + based-on-rules rates (countries/zip/weight/tags). Named carrier brands have no live API |
| Obox | Lite | Custom MetaSoul extension — optional to mention |
| Apps Manager & Settings | Core | Activate apps / configure |
---
## Industry packs
| Claim | Tier | Sale guidance |
|-------|------|---------------|
| Hospitality (Hotel + Kitchen) | Lite | Feature Hotel/POS kitchen, not “full PMS” |
| Retail (POS + eCommerce) | Lite | OK as vertical packaging language |
| Construction & industry packs | Do not advertise | Catalog stubs in Apps → Industries (labeled in UI); not deep vertical products |
| ESG | Lite | Reporting surfaces |
| IoT | Core | Network driver when `IOT_DRIVER=network`; simulated otherwise |
---
## Cross-cutting claims (marketing language)
| Claim in MARKETING.md | Tier decision |
|----------------------|---------------|
| “Role-aware access” | **Lite / accurate only** — portal vs workspace roles (Phase 1.2); do not claim full enterprise ACL |
| “Stripe-ready payments” | **Core** for Stripe/PayPal after Phase 1.3 verify + webhooks; Demo provider = Demo Mode |
| “All-in-one operating system” | Soften — “multi-app Laravel business suite” |
| “Seeded demo data out of the box” | **Lite** — default seed ≠ FullDemo; see `documentation/SEEDING.md` |
| “Familiar multi-app workspace” | Prefer “multi-app workspace” on Codester |
---
## Recommended Codester “main features” shortlist (Core + clear Lite)
Use on the item page (adjust after Phase 1–4):
1. Multi-app business workspace + Filament admin
2. Website CMS + eCommerce shop/cart/checkout
3. CRM + Sales quotations/orders
4. Customer portal
5. Helpdesk + public ticket forms
6. Inventory
7. Employees + Recruitment (careers)
8. Contacts / partners
9. Invoicing **(lite)** + Stripe/PayPal **(after Phase 1.3)**
10. Appointments, Events, eLearning **(lite)**
11. Apps manager & settings
**Secondary / labeled:** Hotel, POS, Manufacturing, Marketing apps, HR suite — as **Lite** or **Demo Mode** per table.
---
## Change log
| Date | Change |
|------|--------|
| 2026-08-25 | Phase 0 initial matrix from audit + marketing + module registry |
| 2026-08-25 | Phase 1.5: MARKETING/README/ITEM_DESCRIPTION aligned; Stripe/PayPal Core; role claim softened; Demo Mode badges |