Skip to content

Product Roadmap

Long-term direction of the platform: evolution from a CRM into a complete SaaS ERP. Modules should be implemented in the order below unless business priorities require otherwise.

Architecture Policy

The platform foundation (authentication, tenancy, RBAC, billing, marketplace, settings, audit logging, and module licensing) is frozen. New functionality must be implemented as modules using the Module Architecture convention and the Module Development Standard. Architectural changes should only be made for critical security issues, production defects, or platform-wide improvements.

See architecture/platform-freeze.md.


Phase 1 — CRM (Completed / In Progress)

The CRM is the foundation of the platform and is the first functional area delivered.

Completed

Module / capabilityStatus
Leads✅ Completed (Sprint 2 UX + inbound Custom Webhook + Meta Lead Ads ingest)
Tasks✅ Completed (Sprint 2 UX: board, KPIs, waiting status, due-date permission, comments/history)
In-app notifications + Reverb✅ Completed (payload v1, NotificationBatch digests, Reverb/Echo, modular registry, browser toasts; poll fallback only)
Tenant dashboard widgets✅ Completed (module/permission/assignee scoped; includes Calendar upcoming when entitled)
Communication Templates✅ Completed (plain-text templates, placeholder registry, WhatsApp wa.me from Leads; migrate-only production registration)
Calendar✅ Completed (Week/Day time grids + DnD, Month/Agenda, view_all oversight, upcoming widget)
Lead Source Driver Architecture✅ Implemented (standard; Custom Webhook + Meta drivers shipped)
Meta Lead Ads Integration✅ Shipped (Meta App Setup · Meta Lead Ads)

Planned

Module / capabilityStatus
ContactsPlanned (unlocks full lead convert)
CompaniesPlanned
MeetingsImplemented
ActivitiesPlanned
WhatsApp Cloud IntegrationPlanned (docs blueprint only — Cloud API beyond wa.me)

Calendar (shipped)

  • Personal events; Week (default) / Day / Month / Agenda
  • Drag-and-drop reschedule on Week/Day; workspace timezone-aware UI
  • Upcoming events dashboard widget
  • Org-wide view via calendar.view_all (no calendar assignment)

Meetings (shipped)

  • Meetings scheduling with host + invitees (internal and external email guests)
  • Workspace Zoom and Google Meet OAuth connections
  • One reminder before start (in-app, web push, email) for creator, host, and invitees
  • Projects onto Calendar via CalendarEventService::upsertFromSource

Dependency: Meetings → Calendar (required). See Module Dependencies and Meetings.

Goal: Provide a complete customer relationship management experience with lead tracking, task management, customer records, scheduling, meetings, and activity history.


Phase 2 — Sales

Once CRM is complete, extend it into a full sales workflow.

ModuleStatus
OpportunitiesPlanned
Sales PipelinePlanned
QuotationsPlanned
ContractsPlanned

Goal: Manage the entire sales lifecycle from opportunity creation through quotation, negotiation, and contract execution.


Phase 3 — Billing

Build a comprehensive billing and invoicing solution that integrates with the existing Marketplace and subscription platform.

ModuleStatus
InvoicesPlanned
EstimatesPlanned
Credit NotesPlanned
PaymentsPlanned

Goal: Provide complete customer billing, payment tracking, and financial document management.

Note: Platform billing (module subscriptions, consolidated billing, gateway abstraction) already exists under Central. Phase 3 modules are tenant product billing (customer-facing invoices/payments), not a redesign of the Marketplace billing engine.


Phase 4 — Purchasing

Introduce purchasing and vendor management.

ModuleStatus
VendorsPlanned
Purchase OrdersPlanned
ExpensesPlanned

Goal: Manage supplier relationships, procurement workflows, and operational expenses.


Phase 5 — Inventory

Implement inventory and warehouse management.

ModuleStatus
ProductsPlanned
CategoriesPlanned
WarehousesPlanned
Stock ManagementPlanned
Stock TransfersPlanned

Goal: Provide inventory control, stock tracking, warehouse operations, and product management.


Phase 6 — Finance

Expand into accounting and financial reporting.

ModuleStatus
AccountsPlanned
JournalsPlanned
General LedgerPlanned
Financial ReportsPlanned

Goal: Provide the financial backbone required for a complete ERP solution.


Phase 7 — Human Resources

Implement workforce management.

ModuleStatus
EmployeesPlanned
AttendancePlanned
Leave ManagementPlanned
PayrollPlanned

Goal: Provide employee management, attendance tracking, leave workflows, and payroll processing.


Future Expansion

The platform architecture supports additional modules without requiring architectural refactoring. Candidates include:

  • Assets
  • Projects
  • Help Desk
  • Knowledge Base
  • Documents
  • Manufacturing
  • Quality Assurance
  • Recruitment
  • Customer Portal
  • Vendor Portal
  • Business Intelligence & Analytics
  • Workflow Automation
  • Marketing Automation
  • Email Campaigns
  • SMS & WhatsApp provider integrations (Cloud API / Twilio) — templates + wa.me MVP already shipped; Cloud API blueprint: WhatsApp Cloud Integration
  • API & Webhooks
  • AI Integration (Planning) — optional integrations with Leads, Tasks, CRM, and other domain modules
  • Multi-Branch Management
  • Multi-Currency Accounting
  • POS (Point of Sale)
  • E-Commerce Integrations

AI

CapabilityStatus
AI Integration (Planning)Planned

AI is documented as a future cross-cutting capability. Integrations with Leads, Tasks, CRM, and similar modules should be optional. See Module Dependencies.

These modules will follow the same Module Architecture and Module Development Standard established by Leads and Tasks.


Multi-Provider Email Delivery

Platform-wide capability (Central + Tenant). Today outgoing mail is SMTP-centric (Central defaults with optional tenant SMTP override). The roadmap evolves that into a provider-agnostic delivery architecture so SMTP is one driver among many — not the core design.

This is a platform infrastructure improvement (settings, mail transport, logging, ops), not a Marketplace-licensed business module. Implementation must extend the existing settings hierarchy and runtime config overlay; it must not redesign the frozen foundation.

Status labelMeaning
ShippedImplemented in the platform
FutureFollow-on reliability, observability, and provider-specific features
EnterpriseAdvanced multi-provider routing and ops for large deployments

Email transport abstraction (Shipped)

EmailManager resolves an EmailDriverInterface implementation from the active configuration. Application code (notifications, mailables, invites, password resets, digests) continues to send through Laravel Mail — the manager applies the active provider at runtime.

CapabilityStatus
EmailManager + EmailDriverInterfaceShipped
SMTP driverShipped
Postmark API driverShipped
Mailgun API driverShipped
Amazon SES driverFuture
Resend driverFuture
SendGrid driverFuture
Brevo driverFuture
SparkPost driverFuture
MailerSend driverFuture

New providers must be addable by registering a driver — without scattering provider-specific logic through Controllers, Notifications, or settings UIs.

Central email provider (Shipped)

Central administrators select the default outgoing email provider for the platform (and for tenants that inherit Central mail).

CapabilityStatus
Provider selection: SMTP, Postmark API, Mailgun APIShipped
Secure credential storage (encrypted secrets at rest)Shipped
From identity (name / address) retained alongside provider configShipped
Additional providers via the same Central settings surfaceFuture

Tenant email provider (Shipped)

Every tenant has two configuration modes:

  1. Use Central / System Email Provider — inherit platform delivery (default).
  2. Use Custom Email Provider — tenant-owned white-label delivery.

When using a custom provider, the tenant may configure SMTP, Postmark API, or Mailgun API (same initial driver set as Central). Credentials remain tenant-scoped, encrypted, and never returned in clear text from admin APIs.

CapabilityStatus
Inherit Central / System providerShipped
Custom tenant provider (SMTP / Postmark / Mailgun)Shipped
Encrypted tenant secrets + runtime resolutionShipped

Email logs (Shipped)

Comprehensive, isolated email logs for Central and for each Tenant.

Typical fields:

  • Subject, Recipient, CC, BCC
  • Provider, Driver, Message ID
  • Status, Sent Timestamp, Failure Reason
  • Queue Job ID
  • Notification / Mailable type

Filtering:

FilterScope
Status, Provider, Date, UserCentral and Tenant
TenantCentral only
CapabilityStatus
Central email log store + UI filtersShipped
Tenant email log store + UI filters (tenant-isolated)Shipped

Queue & retry (Partial / Future)

CapabilityStatus
Queued email delivery (emails queue + runtime re-apply)Shipped
Retry policies + exponential backoff (email.queue.*)Shipped (basic)
Dead-letter handlingFuture
Manual resend from logsShipped
Priority queuesFuture

Provider capabilities (Future)

Optional driver capabilities — not required of every provider. Drivers advertise what they support; the platform enables features only when the active driver implements them.

CapabilityStatus
Delivery eventsShipped (webhook-driven)
Bounce detectionShipped (webhook-driven)
Spam complaintsShipped (webhook-driven)
Open trackingShipped (selectable webhook event)
Click trackingShipped (selectable webhook event)
Webhook processingShipped
Suppression listsFuture

Email analytics (Future)

Dashboards for Central and Tenant (each scoped to its own mail traffic):

  • Total Sent, Failed, Delivery Rate, Bounce Rate
  • Queue Size, Provider Usage
  • Daily Volume, Monthly Volume
CapabilityStatus
Central email analytics dashboardFuture
Tenant email analytics dashboardFuture

Test email (Shipped)

Send Test Email validates provider configuration before (or immediately after) saving credentials. Report:

  • Authentication failures
  • SMTP / API connectivity
  • DNS / configuration issues (where applicable)
  • Success / failure response
  • Response time
CapabilityStatus
Send Test Email for Central provider configShipped
Send Test Email for Tenant custom / system provider configShipped

Enterprise enhancements (Enterprise)

CapabilityStatus
Multiple providers per tenantEnterprise
Automatic provider failoverEnterprise
Provider priorityEnterprise
Cost-aware routingEnterprise
Regional routingEnterprise
Per-notification provider selectionEnterprise
Per-domain provider selectionEnterprise
Rate limitingEnterprise
Provider health monitoringEnterprise

Goal: Production-grade, extensible email delivery for Central and Tenant applications — provider-agnostic at the core, with SMTP as one interchangeable driver, white-label tenant providers, durable logs, and a clear path to reliability, analytics, and enterprise routing without redesigning the platform.


Development Principles

Every module must:

  • Follow the established Module Architecture and platform freeze
  • Be self-contained, own its resources, and declare dependencies when required
  • Remain compatible with independent module licensing and Marketplace activation
  • Enforce RBAC permissions
  • Maintain tenant isolation
  • Integrate with the shared settings framework where applicable
  • Generate audit and activity logs where applicable
  • Include automated testing (Pest and Playwright)
  • Pass manual browser QA
  • Update the Developer Guide, User Guide, API documentation, database documentation, testing documentation, and CHANGELOG before being considered complete — see Documentation Governance (same-PR rule)

Full checklist: Module Development Standard.


Long-Term Vision

Evolve the platform into a modular, enterprise-grade SaaS ERP where organizations subscribe only to the modules they require. Each module integrates with the shared platform foundation while remaining independently licensable, maintainable, and scalable.

Official documentation for the SaleOS SaaS Platform.