Features
Here is what ships today. Every bullet is live in production, not on a roadmap.
Service catalog
Your pricing, structured. Each service has a unit (per workstation, per server, per user, flat) and a base price. Typical entries: RMM agent, EDR seat, backup seat, Microsoft 365 support package, on-site hours. You maintain it once and every quote pulls from it.
Package templates
Reusable bundles of catalog items. Build a “Basic SMB”, “Managed Pro”, “Compliance+” template once and re-apply them per customer. When you attach a package to a project, we auto-compute line quantities from the project’s workstation, server, and user counts — no calculator needed.
IT Assessment workflow
The structured on-site IT audit. Eight fixed categories: Sicherheit, Updates, Backup, Netzwerk, Compliance, Hardware, Berechtigungen, Sonstiges. 43 finding templates ship out of the box — patch status, firewall config, backup verification, MFA coverage, local admin sprawl, and so on. Each finding carries severity, notes, optional photos, and — critically — a mapping to a catalog service. That mapping is what turns an audit into a quote in one click.
Guided IT Assessment wizard
A one-screen-per-decision wizard for new audits: customer → project → infrastructure counts → category-by-category questions → review. Drives 30 default questions across all 7 categories with deterministic finding generation when an answer maps to a known risk. Side trips (“create new customer”, “edit project counts”) drop you back where you came from when you save.
Quote-from-IT Assessment in one click
Two paths from a finished audit to a draft quote. The catalog path uses the finding-to-service mapping you set up while editing findings. The AI-effort path takes the AI’s hour estimates from accepted kanban tasks and turns each into an ad-hoc line item priced at your hourly rate (which now persists per workspace under /settings/finance, so you don’t retype it every time).
Immutable quotes — but editable when accepted
When a customer accepts a quote, the signed PDF is frozen forever (audit trail). The live record + dashboard MRR can still be edited later, with a clearly-marked “Edited after acceptance” banner on the detail page. The signed PDF the customer holds in their inbox is never touched. Common case: customer accepts a monthly-recurring quote at €X, three months later you renegotiate the price down — you adjust the live record and the MRR follows, while the original signed offer remains the audit reference.
Customer ↔ operator quote thread
Each quote carries a two-way message thread. Operator messages get emailed to the customer with a share link; the customer’s reply lands as an unread bubble on the operator’s quote detail. Unread badges drive an in-list indicator + an optional Web Push notification. New: an AI reply drafter (”✨ Draft reply”) that reads the recent thread and pre-fills the textarea with a polite, on-tone response — operator always reviews and posts manually, no auto-send.
Status updates + milestones
Twitter-style progress feed per project, plus a linear milestone tracker the customer sees as a progress bar in the portal. Operators can post a hectic field note (“lenovo arrives 15th”) and the AI structurer rewrites it into a customer-facing post with the right category auto-picked. New: AI milestone generator — describe the project goal in 1–2 sentences and the AI proposes 3–7 ordered milestones with rough ETAs you review before bulk-inserting.
AI service-report drafter
After a site visit, dump three buckets of bullet notes (what was done / observations / recommendations) plus the hours logged, and the AI returns a polished { title, body } Markdown report. Operator reviews + saves as draft + sends to the customer through the existing flow. Per-tenant AI provider — bring your own Anthropic key, OpenAI key, or point at a self-hosted Ollama / LM Studio / vLLM endpoint.
Public IT Assessment landing page (lead-gen)
Spin up a branded /check/{your-slug} landing page. Prospects do a 10-question simplified IT Assessment themselves, see their score, and land in your /leads pipeline. Email-PIN gate prevents spam, GDPR + AVV consent is captured on submit, and the landing renders in your workspace language with your brand color. Embed it as an iframe (/check/{slug}/embed) on your own marketing site — full multi-step flow, frame-ancestors-friendly, no iframe-buster surprises.
Multiple Public IT Assessment URLs per workspace · Pro
Free gets 1 public URL per workspace. Pro removes the cap entirely — run one tailored landing page per audience: /check/your-msp-medical for healthcare prospects with only the 12 healthcare-relevant questions, /check/your-msp-retail for retail with PCI focus, /check/your-msp-legal for law firms with eDiscovery and client-data questions. Per slug: its own per-locale intro, its own audience label (“Tailored for healthcare”), and an optional filtered question set you curate from your 30-question catalog via a checkbox picker. Incoming leads are attributed per slug — the lead inbox can filter by campaign. Each URL gets its own iframe snippet, so on your industry-specific landing page “For Healthcare” you embed only the healthcare variant, and on your retail page you embed the other one.
Lead source attribution
The public IT Assessment captures first-touch attribution automatically. UTM params (utm_source, utm_medium, utm_campaign, utm_content, utm_term), referrer host, and the full landing URL are stored on each new lead — no setup beyond appending ?utm_source=… to the iframe URL or marketing link. First touch wins, so re-visits don’t overwrite the original channel.
Cross-tenant benchmark on the result page
After a public lead finishes their IT Assessment, they see how their score compares to similar companies — by industry + size when there’s enough data, by industry alone, or against the global pool. The single documented exception to strict tenant isolation: aggregate, anonymous, with a hard minimum sample size before any number is shown.
Industry-aware question routing
The public IT Assessment prompts for industry + company size before the questions. Industries map to localised labels in DE/EN/ES (Anwaltskanzlei, Gesundheitswesen, etc.) and feed both the benchmark grouping and future industry-specific question sets.
Dashboard MRR analytics
Sprint 4 dashboard surface. Total MRR, open pipeline, win-rate, and 12-month ARR forecast as KPI cards with hover tooltips. A 12-month MRR history chart with hover-on-month detail (existing vs. new, delta vs. previous month). Conversion funnel from “Lead” through “Engaged → IT Assessment run → Quote sent → Quote accepted” with stage-to-stage drop-off in the tooltip. Top-5 customers by MRR. Hidden until the workspace has at least one quote so a fresh signup isn’t greeted by zeros.
Manual MRR override per customer
Some customers don’t fit the quote-derived model — long-running retainers, hand-shake deals, special arrangements. The customer detail page lets an operator set a manual monthly revenue + a note explaining why, which feeds straight into dashboard MRR with a small ”●” badge so the source is always visible. Also editable later.
Web Push notifications
Browser-native push for new customer messages on quotes. /settings/notifications lets each user opt in per-event (currently: customer-message-received). Service worker delivers even when the tab is closed; click-through opens the relevant quote. VAPID keys are workspace-scoped — no third-party push gateway.
Agreement templates
A workspace-level library of contract templates (NDA, AVV, master service agreement, etc.) in DE/EN/ES. The bundled defaults are editable, and operators can add new ones. Each template renders into a customer-specific PDF when needed for signature.
Branded PDF exports
Rendered with WeasyPrint, A4, print-ready. Your logo, your accent color, your footer, your language. The same template produces EN, DE, and ES output — the quote you send a Spanish customer is not a Google-Translate of the German one.
Customer-facing share links
Postal-code-gated, time-limited URL that lets a customer view a quote or IT Assessment in the browser without an MSPercury account. “Copy + email” button drops the link into a pre-filled mail draft as MSP X (via MSPercury), so the customer sees your name, not ours.
Internal customer notes thread
A pinned-and-paginated note thread per customer for the operator team. Champion changes, renewal dates, deal-blockers — all dated, all edit-history’d, never visible to the customer.
Quote post-accept audit columns
When a quote is edited after the customer has accepted it, we stamp lastEditedAtPostAccept + lastEditedByUserId on the row and surface a banner on the detail page. The PDF audit trail isn’t touched.
Team-ready
Invite colleagues on the Team plan — a multi-user workspace with shared customers, quotes and IT Assessments (the Solo plan is single-operator). TOTP 2FA, passkeys / WebAuthn (Face ID, Touch ID, Windows Hello, hardware keys), trusted-device cookies, recent-activity feed, and per-user session list all live under /settings/security. Workspace admins can require 2FA for every member with a lock-out guard so they don’t lock themselves out flipping the switch.
Multi-lingual
UI, docs, and generated quote PDFs in English, German, and Spanish. The IT Assessment finding library ships pre-translated in all three. Customer-facing surfaces (PDFs, emails, share links, public IT Assessment) prefer the customer’s preferredLanguage over the operator’s UI cookie — your Spanish customer reads Spanish, even when you’re operating the workspace in German.
GDPR and DPA
EU-hosted on Hetzner Cloud Germany. No third-country transfer, no US sub-processors in the hot path. A DPA (AVV) template sits at /legal/dpa — request a signed copy and we return it within a working day. Self-service account deletion (Art. 17), personal-data export (Art. 15), and cookie notice ship today.
What isn’t in this list yet
Stripe checkout, customer-facing signed-accept portal with audit trail, native Android wrapper, bulk CSV import for customers (planned Q3 2026), per-tenant DB snapshot/restore. See the roadmap for target quarters.