PlattformIn Developmentv0.0.1

KC@FlessingLabs

Self-hosted customer center for hosting, software and licenses – customers, contracts, invoices, tickets and licenses in one interface.

About this Project

KC@FlessingLabs is a self-hosted customer center for hosting providers, agencies and software vendors. Customers, products, orders, contracts, invoices, support tickets and software licenses come together in one interface – including automatic provisioning in KeyHelp and the FlessingLabs licensing system.

Instead of maintaining customer data, hosting panel, license management, invoicing and support inbox separately, KC@FlessingLabs connects everything in one system: a customer orders, the contract is created with an immutable price snapshot, the hosting account or license is provisioned automatically, the invoice goes out – and questions arrive as tickets via web, email or Discord. Built as a modular monolith in TypeScript with a focus on tenant isolation, traceable audit trails and resilience.

Order a license

Loading plans …

Architecture

Modular Monolith in TypeScript

Domain modules (customers, contracts, invoices, tickets, licenses …) register their own routes and permissions and only talk to each other through a small core and jobs.

  • Fastify API with Zod validation
  • Next.js interface
  • New capabilities as additional modules

Worker with Persistent Job Queue

Provisioning, emails, Discord and syncs run as jobs in the database – with lease, heartbeat and controlled retries.

  • No duplicate creation on restarts
  • Destructive actions never retried automatically
  • Discord bot and IMAP polling in the same process

Connector Contract

Every provider implements the same contract with normalized resources and error codes. Provider data never leaves the connector.

  • KeyHelp REST API
  • FlessingLabs licensing system
  • Extensible for further panels

MariaDB as Primary Database

Versioned SQL migrations, audit table protected against changes by triggers, backups as encrypted archives.

  • Migrations on update
  • Hash-chained audit log
  • Weekly restore test

Umfang & Zahlen

0Fachmodule
0Dienste: API, Worker, Web
0Kunden kostenlos im Testmodus
0%selbst gehostet

Core Features

Customers, Products & Contracts

From customer account to automatic contract renewal – with fixed prices and clear terms.

  • Private and business customers with their own portal
  • Versioned products with tiered prices by term
  • Orders with approval and immutable price snapshot
  • Contracts with minimum term, cancellation and automatic renewal
  • Reminder before the end of term with keep/cancel link
  • Import of existing customers from KeyHelp

Automatic Hosting & License Provisioning

Connectors create hosting accounts and software licenses at the provider – idempotent and traceable.

  • KeyHelp: accounts, domains, mailboxes, databases, FTP and panel login
  • Licensing system: issue licenses, trials and add-ons, release devices
  • Suspend, unsuspend, extend and revoke right from the customer center
  • Customers see their license keys and release their own devices
  • Persistent job queue with retries and review mode

Invoicing & Accounting

Clean invoicing under German law – immutable once issued.

  • Draft → issue → paid/cancelled with PDF generation
  • Net and gross prices, discounts, multiple tax rates
  • Overview of due invoices
  • DATEV export (licensed)

Support & Discord

Tickets from web, email and Discord in one place.

  • Tickets per customer with internal notes and attachments
  • Email inbox: customer emails become tickets automatically (licensed)
  • Discord bot: one channel per ticket, visible only to support and the customer (licensed)
  • Replies in the Discord channel go straight into the ticket

Security & Operations

Built for continuous operation with sensitive customer data.

  • Login with password and TOTP 2FA, mandatory for staff
  • Strict tenant isolation and role-based permissions
  • Hash-chained audit log – later changes become visible
  • Credentials stored encrypted, keys only revealed on demand
  • Daily encrypted backups with automatic restore test

Challenges & Solutions

Problem

Provisioning that neither duplicates nor drops anything during outages

Solution

Every creation runs as a persistent job. It is only retried when it is certain the request never reached the provider; unclear cases go into review mode instead of being retried blindly.

Problem

License checks that also work offline

Solution

Responses from the licensing system are RSA-signed and verified locally. If the license server is down, the last verified state stays valid for one more week – an expired date is never extended.

Problem

Discord tickets without data leaks

Solution

Instead of public announcements, every ticket gets its own channel that only the support roles and the customer's linked members can see. A reconciliation creates missing channels and removes closed ones.

Technologies

TypeScriptNode.jsFastifyNext.jsReactMariaDBdiscord.js

Vision

KC@FlessingLabs aims to give small hosting providers and software developers what otherwise only large billing systems offer – self-hosted, traceable and without depending on third-party cloud services. It runs free of charge in trial mode with one staff account and two customers; the full feature set with Discord bot, email inbox, DATEV export and external backups requires a license from FlessingLabs.

Changelog

  1. 0.0.1

    First preview release for trying it out: license management, Discord ticket channels, trial mode without license, installation guide.

Questions or interest?

Join our Discord community and talk to us directly.

Go to Discord