Getting Started

Introduction

Edit page
Start with client access, timesheets, and invoicing, then extend your Nuxt customer portal with your own modules.

A customer portal you can make your own.

Nuxt Customer Portal is an open-source, extensible customer portal built with Nuxt. Start with client access, timesheets, approvals, and invoicing, then add modules for the way your business works.

We built it for our small software agency and use its timesheets and invoicing ourselves. Those workflows give you a working starting point; the module architecture lets you build beyond them.

What you can do today

Your teamYour clients
Record time against projects and activities; submit weeks for approvalView shared supplier time when access is enabled
Review time internally and request client reviewApprove or dispute the time assigned to them for review
Create free-form invoices or invoice approved billable timeView issued invoices, download PDFs and attachments, and see recorded payment status when access is enabled

Each client has its own organization and invited members. You control which modules are enabled and what is shared. A client record alone does not grant access to all time or invoices. Read client access for the permissions and setup.

Timesheets and Invoices are independent modules. Add the optional Invoice Timesheets bridge when you want to turn approved time into invoice lines.

Choose your starting point

Run your own portal

Create a Nuxt application, install the agency workflow, and sign in as its owner.

Try the first workflow

Set up a client, record and approve time, create an invoice, and check the client's experience.

Build your own module

Add a business capability using the portal's shared authentication, organizations, and extension contracts.

Evaluate with hosted setup

Request a dedicated evaluation. Requests are reviewed before an instance is provisioned.

You can also explore the public demo. To configure the included apps/saas-portal application instead of building a host, see customization.

Extend the portal around your business

A module can own its pages, API, translations, tests, and database schema. It registers navigation, dashboard widgets, and permissions with the shared portal. Keep your module local to your application, or package it as a reusable Nuxt layer.

The host application owns your branding and presentation. The platform supplies authentication, organizations, client management, and a neutral UI, so each new module can concentrate on its business workflow.

Architecture overview explains how these pieces fit together. Create a feature layer walks through an extension; Service Requests is an optional, compact example to study. It is not required for the agency workflow.

Before you adopt it

The source is available under the MIT License. The current release series is 0.4.x. Before 1.0, minor releases can include documented breaking changes; patch releases preserve compatibility. Our agency uses the timesheet and invoicing workflow, but you should evaluate your own requirements and review the compatibility and release guidance.

Running your own portal requires a Nuxt application, PostgreSQL, and responsibility for deployment and backups. Configure email delivery before testing invitations, email verification, or invoice delivery. The application includes English and Dutch translations.

If you get stuck while trying it, a specific setup question or documentation correction is useful feedback. See community and support; you do not need to contribute code to help.