A comprehensive Professional Services Automation platform designed for Managed Service Providers (MSPs). This open-source solution helps MSPs streamline operations, manage client relationships, track time and billing, and improve service delivery.
Watch our 10-minute getting started guide to quickly understand the system's core features and setup process.
- Asset Management: Track and manage client assets, maintenance schedules, and relationships
- Billing & Invoicing: Flexible billing cycles, international tax support, and automated invoicing
- Client Management: Comprehensive client profiles and relationship tracking
- Document Management: Centralized document repository with version control
- Project Management: Project tracking, task management, and resource allocation
- Support Ticketing: Incident tracking and resolution management
- Time Management: Time tracking, timesheet approval, and utilization reporting
- Reporting & Analytics: Customizable reports and business intelligence
- Security: Role-based access control (RBAC) and attribute-based access control (ABAC)
- International Tax Support: Handle complex tax scenarios across jurisdictions
- Composite taxes
- Threshold-based tax rates
- Tax holidays
- Reverse charge mechanisms
- Flexible Billing Cycles: Customizable per company
- Weekly, bi-weekly, monthly, quarterly options
- Proration support
- Approval-based time entry billing
- Unapproved time entry rollover
- Frontend: Next.js application
- Backend: Node.js server
- Database: PostgreSQL with row-level security
- Real-time Collaboration: Hocuspocus integration
- Authentication: NextAuth.js
- UI Components: Radix-based component library
- Docker Compose v2
- Node.js
- PostgreSQL
- Create and initialize the database:
node setup/create_database.js
npx knex --knexfile knexfile.cjs migrate:latest --env development
npx knex seed:run --knexfile knexfile.cjs --env development
- Start the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
- Access the application at http://localhost:3000
Use our Makefile for easy deployment:
# Production mode
make sebastian-docker-run
# Development mode
make sebastian-docker-dev
# Run Hocuspocus (real-time collaboration)
make hocuspocus-docker-run
# Run server only
make server-docker-run
sebastian/
├── docker-compose.yaml
├── helm/ # Kubernetes configurations
├── hocuspocus/ # Real-time collaboration server
└── server/
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js pages
│ ├── components/ # React components
│ │ ├── ui/ # Shared UI components
│ │ └── features/# Feature-specific components
│ ├── lib/ # Core business logic
│ └── types/ # TypeScript definitions
└── migrations/ # Database migrations
We use Vitest for testing. Run the test suite:
npm run test
# Run specific tests
npm run test -- path/to/test/file.test.ts
- Architecture Overview
- Getting Started Guide
- Billing System
- International Tax Support
- Asset Management
- Time Entry Guide
This project uses multiple licenses:
- Documentation (
docs/
): Creative Commons Attribution 4.0 International License (CC BY 4.0) - Enterprise Edition (
ee/
): Seeee/LICENSE
- All other content: GNU Affero General Public License Version 3 (AGPL-3.0)
See LICENSE.md for details.
We welcome contributions! Please see our Contributing Guide for details on how to get started.
Copyright (c) 2024 Nine Minds LLC