Modules

Module overview

Edit page
The foundation, optional business, and integration packages shipped with Nuxt Customer Portal.

Customer Portal uses layer for a Nuxt package boundary and module for a cohesive product area shown in a shell. A layer can contribute one or more modules.

Start with the agency workflow

Use the platform preset with the business packages that match your workflow. Timesheets and Invoices support service agencies; Products, Planning, and Invoice Products add a storefront, appointment booking, payments, delivery, and sales invoices. Clients can access shared time, purchases, appointments, and issued invoices according to their permissions.

Each business package is optional. You can use Invoices without Timesheets, use Timesheets without invoicing, or extend the portal with your own modules.

Foundation packages

PackageResponsibility
coreHeadless session, tenancy, authorization, database, registry, and server contracts
uiNeutral components, surfaces, dashboards, menus, and fallback layouts
authenticationLogin, registration, verification, and password recovery
organizationsPROVIDER profile, members, and organization settings
clientsCLIENT profiles, contacts, archival, and module activation
presetCommon platform composition
kitConfiguration and provider migration tooling

Understand the platform boundaries

Optional business and integration packages

The optional packages extend the shared Clients contract without coupling their feature implementations. Integration packages connect independently installable business packages while keeping their schemas and workflows separate.

PackageResponsibility
timesheetsTime entry, projects, rates, approvals, and reporting
invoicesStandalone sales and received invoice workflows
invoice-timesheetsIntegration between approved billable time and invoice creation
productsStore configuration, catalog, checkout, purchases, and digital files
planningAvailability, appointment booking, calendars, meetings, and policies
invoice-productsIntegration between completed product orders and invoices or refunds

Timesheets

Timesheets contributes time entry, timers, projects, rates, internal and client approvals, and reporting. It contains no invoice routes, APIs, permissions, navigation, or tables.

Explore Timesheets

Invoices

Invoices contributes standalone sales and received invoices, PDF generation, attachments, email delivery, reminders, payments, client access, and invoice history. It can be installed without Timesheets.

Explore Invoices

Invoice–Timesheets integration

Invoice Timesheets is the optional bridge between the independent packages. It adds Create from timesheets for approved, billable entries and owns the cross-package validation and reopen protection.

Explore the integration

Products and Store

Products contributes product and category administration, a configurable storefront, sandbox or Stripe checkout, purchase history, and protected digital delivery. It supports digital products and services independently of appointment scheduling.

Explore Products

Planning and Appointments

Planning adds provider availability, customer booking, reservation holds, appointment management, Google Calendar synchronization, Zoom meetings, retries, and refund-aware rescheduling policies to service products.

Explore Planning

Invoice–Products integration

Invoice Products turns paid store orders into immutable sales invoices and records refunds as linked credit notes. Install it only when both Products and Invoices are present.

Explore the integration

Example extension: Service Requests

service-requests is an optional example extension for module developers. It is separate from the recommended agency setup. It demonstrates tenant-scoped APIs, typed policies, navigation, dashboard widgets, translations, tests, and a provider-owned PostgreSQL schema.

Explore service requests

When building a module, start with Service Requests for a compact example. Study Timesheets for multiple module and surface contributions, complex approvals, and cross-organization access. Study Invoices and Invoice Timesheets for standalone feature composition and an integration that remains outside both source packages.