🗂 Übersicht & Login
Was ist Tablegray CRM und wie startet man?
Tablegray CRM ist ein internes Verwaltungssystem für Datenschutz- und IT-Projekte. Es deckt die gesamte Kette ab: von der Lead-Erfassung über Angebote, Projekte und Zeiterfassung bis hin zu Rechnungen und Domainverwaltung.
Login
Die Anmeldung erfolgt per Benutzername und Passwort unter /. Nach dem Login wird ein Token im Browser gespeichert (localStorage). Alle API-Aufrufe laufen über diesen Token.
Zwei Benutzerrollen
| Rolle | Kann |
|---|---|
admin | Alles — inklusive Benutzerverwaltung, Abrechnungssetup, Admin-Bereich |
user | Leads, Projekte, Zeit — je nach zugewiesenen Modulen |
Module
Jeder Benutzer bekommt Module zugewiesen, die bestimmen welche Bereiche er sieht:
datenschutz_once— Datenschutz, einmalige Projektedatenschutz_recurring— Datenschutz, Dauermandateit_once— IT, einmalige Projekteit_recurring— IT, laufende Betreuung
Admins haben automatisch alle Module.
📊 Dashboard
Tagesübersicht: Pipeline, Forecast und offene Aufgaben.
Pipeline-KPIs
Oben zeigt das Dashboard die wichtigsten Kennzahlen des aktuellen Monats: Anzahl aktiver Leads, Forecast-Summe (Leads mit Wahrscheinlichkeit × Wert), erreichtes Monatsziel in Prozent und Conversion-Rate.
Follow-ups
Leads mit einem Wiedervorlagedatum in den nächsten Tagen erscheinen in der Follow-up-Liste. Das Datum wird direkt am Lead gesetzt.
Offene Tasks
Globale Aufgaben (nicht projektgebunden) werden auf dem Dashboard angezeigt und können direkt als erledigt markiert werden.
Monatsziel
Das Monatsziel wird unter Admin → Einstellungen gesetzt und erscheint als Fortschrittsbalken auf dem Dashboard.
🎯 Leads & Pipeline
Von der ersten Anfrage bis zum gewonnenen Auftrag.
Lead anlegen
Über den Button „Neuer Lead" auf der Angebote-Seite: Name, Kontaktperson, E-Mail, Modul und erste Notiz. Der Status startet bei Neu.
Status-Pipeline
| Status | Wahrscheinlichkeit | Bedeutung |
|---|---|---|
| Neu | 10 % | Erstkontakt, noch nicht qualifiziert |
| In Bearbeitung | 30 % | Gespräch läuft, Bedarf wird geklärt |
| Angebot gesendet | 60 % | Angebot wurde verschickt |
| Committed | 90 % | Kunde hat mündlich zugesagt |
| Gewonnen | 100 % | Auftrag bestätigt, Projekt kann starten |
| Verloren | 0 % | Lead ist nicht konvertiert |
Wiedervorlage
Am Lead kann ein Follow-up-Datum gesetzt werden. Leads mit fälligem Datum erscheinen farblich markiert auf dem Dashboard.
Aus Lead ein Projekt erstellen
Sobald ein Lead auf „Gewonnen" gesetzt ist, kann direkt aus dem Lead heraus ein Projekt erstellt werden (Projekt erstellen-Button). Das Projekt übernimmt Kunde und Angebotsdaten. Wichtig: Positionen mit wiederkehrender Verrechnung (monatlich/jährlich) werden dabei automatisch als Verträge am Kunden angelegt und fließen in die automatische Rechnungserstellung ein (→ Workflow Beratung/IT).
📄 Angebote
Angebote erstellen, bearbeiten und versenden — mit KI-Unterstützung und öffentlicher Akzeptanzseite.
Angebot erstellen
Im Lead-Detail gibt es den Tab „Angebot". Titel, Modul, Gültigkeitsdatum und optionale Felder (Rabatt, GRC, Intro-Texte) werden hier gesetzt.
Angebotsbausteine
Das Angebot besteht aus einzelnen Positionen (Bausteinen). Jeder Baustein hat:
- Titel — kurze Bezeichnung der Leistung
- Beschreibung — ausführliche Leistungsbeschreibung
- Preis — Betrag netto
- Einheit — Pauschal, Stunden, Monat, Jahr, Stk
- Verrechnung — einmalig, monatlich oder jährlich
- Laufzeit — optionale Laufzeit in Monaten
Bausteine können per Drag & Drop umsortiert werden.
Katalog-Bausteine verwenden
Unter Admin → Bausteine können Vorlagen gepflegt werden. Im Angebot-Editor kann ein Katalogbaustein als Vorlage ausgewählt und angepasst werden.
Intro-Texte
Drei optionale Textblöcke am Anfang des Angebots: Ausgangssituation, Ziel/Nutzen, Lösungsansatz. Können manuell befüllt oder per KI generiert werden (→ KI-Funktionen).
Rabatt
Ein prozentualer Rabatt kann auf den Gesamtbetrag gesetzt werden. Er erscheint als eigene Zeile im Angebot und im PDF.
Öffentliche Akzeptanzseite
Jedes Angebot hat eine öffentliche URL (kein Login erforderlich). Der Kunde kann das Angebot online ansehen und mit einem Klick akzeptieren. Bei Akzeptanz wird der Lead-Status automatisch auf Committed (90%) gesetzt.
Die URL wird per E-Mail versendet. Der Button „Angebot senden" schickt eine vordefinierte E-Mail mit dem Link.
Angebot als PDF
Unter Rechnungen → Angebot-PDF oder direkt aus dem Angebot heraus kann ein PDF generiert werden. Das PDF enthält Firmenlogo, Kundendaten, alle Bausteine und Summe inkl. USt.
GRC-Feld
Ein optionales Freitextfeld für Governance-, Risk- und Compliance-Hinweise, das im Angebot-PDF erscheint.
🤖 KI-Funktionen
OpenAI GPT-4o für Angebotserstellung und Textgenerierung.
Scope-Assistent (Seite „KI")
Ein gesprächsbasierter Assistent der hilft, den Leistungsumfang für einen Kunden zu definieren:
- Assistent stellt gezielte Fragen: Branche, Unternehmensgröße, bestehende DS-Dokumentation, IT-Struktur
- Sobald genug Infos vorliegen: Zusammenfassung + Vorschlag von Angebotsbausteinen
- Bausteine werden als JSON vorgeschlagen und können direkt übernommen werden
Der Assistent kennt den vorhandenen Baustein-Katalog und kann darauf aufbauen.
Baustein-Generator (Admin → Bausteine)
Zwei Modi:
- Generieren: Beschreibung eingeben → KI erstellt vollständigen Baustein mit Titel, Beschreibung, Einheit, Preis
- Optimieren: Bestehenden Baustein auswählen → KI verbessert Titel und Beschreibung, behält Preis/Einheit bei
Angebots-Intro-Generator (Angebot-Editor)
Im Tab „Intro" des Angebot-Editors können die drei Intro-Abschnitte per KI befüllt werden:
- Einzeln generieren (nur Ausgangssituation, nur Ziel, nur Lösungsansatz)
- Alle drei auf einmal
- Bestehende Entwürfe werden zur Verbesserung mitgegeben
Basis für die Generierung: Angebotstitel, Kundenname, Modul (Datenschutz/IT).
🔨 Projekte & Todos
Projektverwaltung mit Aufgabenlisten und integrierter Zeiterfassung.
Projekt anlegen
Projekte können manuell angelegt oder aus einem gewonnenen Angebot erstellt werden. Felder: Name, Kunde, Stundensatz, Status.
Projektstatus
| Status | Bedeutung |
|---|---|
| Aktiv | Laufendes Projekt, erscheint in allen Listen |
| Abgeschlossen | Abgeschlossen, wird aus aktiven Listen ausgeblendet |
Todos
Jedes Projekt hat eine Todo-Liste. Todos können einer Person zugewiesen und mit einem Fälligkeitsdatum versehen werden.
Wiederkehrende Todos
Todos können als wiederkehrend markiert werden (monatlich oder jährlich). Wenn ein wiederkehrendes Todo abgeschlossen wird, wird automatisch eine neue Instanz für den nächsten Zeitraum erzeugt.
crm:todos-requeue) — prüft ob Fälligkeitsdaten überschritten sind und erstellt Folgeinstanzen.Projektvorlagen
Unter Projekte → Vorlagen können Todo-Listen als Vorlage gespeichert werden. Beim Erstellen eines neuen Projekts kann eine Vorlage geladen werden, die alle Todos automatisch anlegt.
Zeiterfassung am Projekt
Stunden können direkt am Projekt erfasst werden. Diese erscheinen auch in der zentralen Zeiterfassung und können dort gefiltert und als verrechnet markiert werden.
⏱ Zeiterfassung
Zentrale Übersicht aller Zeiteinträge über alle Projekte und Kunden.
Erfassung
Zeiteinträge können direkt auf der Zeitseite oder am jeweiligen Projekt erfasst werden. Felder: Datum, Projekt, Kunde, Beschreibung, Stunden.
Filter
- Monat: Nur Einträge eines bestimmten Monats anzeigen
- Projekt: Einschränkung auf ein Projekt
- Kunde: Alle Einträge eines Kunden
- Verrechnet/Unverrechnet: Ob der Eintrag bereits abgerechnet wurde
Als verrechnet markieren
Nach Rechnungserstellung können Zeiteinträge als verrechnet markiert werden (Markieren-Button). Dies ist ein manueller Schritt — das System markiert nicht automatisch.
Projektkapazität
Für jedes Projekt kann eine Kapazität (Stunden-Budget) definiert werden. Die Auslastung wird im Bericht angezeigt.
Bericht
Der Zeitbericht fasst Stunden nach Projekt und Kunde zusammen und zeigt offene vs. verrechnete Stunden.
👤 Kunden
Stammdaten, Kommunikation und kundenspezifische Zeiterfassung.
Stammdaten
Kunden haben: Name, Ansprechpartner, E-Mail (Rechnungs-E-Mail), Telefon, Adresse, PLZ, Stadt, Land, UID-Nummer, interne Kontonummer.
Logo
Pro Kunde kann ein Logo hochgeladen werden. Es erscheint auf Rechnungen und im Kundendetail.
Aktiv / Inaktiv
Kunden können deaktiviert werden (Button Deaktivieren). Inaktive Kunden werden in Auswahllisten ausgeblendet, bleiben aber in der Datenbank erhalten.
Notizen
Freitext-Notizen mit Timestamp, die am Kunden angehängt werden. Gut für interne Kommunikationsvermerke.
Meetings
Termine / Gesprächsnotizen können am Kunden dokumentiert werden (Datum, Teilnehmer, Inhalt).
Kundenzeit
Nicht-projektgebundene Stunden (z.B. allgemeine Beratung) können direkt am Kunden erfasst werden.
🌐 Domains
Domain-Verwaltung mit Registrar-Tracking und Abrechnungslogik.
Registrar-Fälligkeit (
next_billed_at) = wann du die Domain beim Registrar verlängerst (du → Registrar)Kundenrechnung = wann der Kunde die Rechnung bekommt (Jahresstichtag am Kunden)
Diese sind entkoppelt! Die Domain-Verlängerung beim Registrar im Jänner kann trotzdem auf der Jahresrechnung im März landen.
Domain-Liste
Alle registrierten Domains mit Kunde, Einkaufspreis, Verkaufspreis und Registrar-Fälligkeit. Der Kunde kann inline direkt in der Liste gesetzt werden (Dropdown aus vorhandenen Kunden).
Farbmarkierung der Fälligkeiten: rot = ≤ 30 Tage, gelb = ≤ 90 Tage.
Filter
- Volltextsuche: Domain, Kunde, Notiz
- Kundenfilter: Dropdown aus allen Kunden
- „Ohne Kunde": nur nicht zugeordnete Domains
- „Keine Weiterverrechnung" / „Mit Weiterverrechnung": Domains nach Abrechnungsstatus filtern
Domain konfigurieren
Der Button Konfigurieren öffnet ein Detail-Panel:
| Feld | Bedeutung |
|---|---|
| Einkaufspreis netto | Was du dem Registrar zahlst (€/Jahr) |
| Verkaufspreis netto | Was du dem Kunden verrechnest (€/Jahr); wenn leer: Einkaufspreis wird verwendet |
| Auftragsreferenz | Interne Bestellnummer, erscheint auf Rechnung |
| Nächste Verrechnung | Registrar-Fälligkeit (wann verlängerst du?) |
| Keine Weiterverrechnung | Domain wird bei Rechnungserstellung komplett übersprungen (Domain + Webspace + Plugins) |
Keine Weiterverrechnung
Checkbox im Detail-Panel (rot umrahmt). Wenn gesetzt:
- Domain erscheint mit Badge keine WV und gedimmt in der Liste
- Domain, ihr Webspace und alle zugehörigen Plugins werden bei automatischen Rechnungsentwürfen übersprungen
- Nützlich für Domains die intern gehalten werden oder bei denen der Kunde selbst bezahlt
Webspace & Plugins
Pro Domain können Zusatzleistungen konfiguriert werden:
- Webspace: Jahrespauschale (Standard €89/Jahr). Erscheint auf der Jahresrechnung des Kunden.
- Plugins: z.B. WooCommerce, SEO-Plugin. Jeder Plugin hat Preis und Verrechnung (monatlich/jährlich). Werden aus dem Plugin-Katalog ausgewählt.
CSV-Import
Domains aus einer Registrar-CSV importieren. Die CSV muss mindestens eine Spalte Domain haben, optional Status und Ablaufdatum. Bereits vorhandene Domains werden aktualisiert, neue angelegt.
PDF-Rechnungsimport
Registrar-Rechnung als PDF hochladen. Das System extrahiert Domains, Laufzeiten und Einkaufspreise automatisch per pdftotext. In einer Vorschau kann ausgewählt werden welche Einträge übernommen werden. Nur neuere Ablaufdaten überschreiben bestehende.
Kunden direkt aus Domains anlegen
Über das Formular unter der Tabelle kann ein neuer Kunde schnell angelegt werden (Name + E-Mail). Der Kunde wird sofort in der Kundenauswahl verfügbar.
🖥 Hosting
Verwaltung von Hosting-Konten und Zuordnung zu Kunden.
CSV-Import
Hosting-Konten aus einer CSV-Datei importieren (Standard: data/kh_products-4.csv). Mit dem Flag --fresh wird die Tabelle vor dem Import geleert.
Kundenzuordnung
Hosting-Konten werden automatisch anhand des Domain-Namens einem Kunden zugeordnet. Die Zuordnung kann manuell im Detail überschrieben werden.
Rematch
Der Button Rematch führt die automatische Zuordnung neu durch — nützlich wenn neue Kunden oder Domains hinzugekommen sind.
⚙️ Abrechnungs-Setup
Konfiguration was und wann pro Kunde verrechnet wird — pro Kunde unter Kunden → Abrechnung.
Abrechnungsmodus
Pro Kunde wird festgelegt ob er monatlich, jährlich oder beides abgerechnet wird. Das steuert bei der automatischen Entwurfserstellung welche Rechnungstypen erstellt werden.
Jahresstichtag
Jeder Kunde hat einen Jahresstichtag (Monat + Tag), an dem seine Jahresrechnung erstellt wird. Alle Domains, Jahresverträge, Hosting und Jahres-Plugins werden auf diesen Termin zusammengefasst — unabhängig von individuellen Domain-Fälligkeiten.
Verträge (Produkte & Leistungen)
Wiederkehrende Leistungen pro Kunde — der Kern der wiederkehrenden Abrechnung. Felder:
| Feld | Bedeutung |
|---|---|
| Bezeichnung | Name der Leistung — erscheint auf der Rechnung |
| Bereich | IT oder Beratung — für Kalender-Farbcodierung und Kategorisierung |
| Rhythmus | monatlich oder jährlich — bestimmt auf welche Rechnung die Position kommt |
| Preis (netto) | Betrag netto in Euro |
| Preis-Cadence | Wenn Preis pro Monat angegeben ist, aber jährlich verrechnet wird (z.B. €100/Monat → €1.200 auf Jahresrechnung) |
| Zeitraum | Optionaler Start-/Endtermin — Verträge außerhalb werden übersprungen |
| Auftragsreferenz | Interne Bestellnummer, erscheint auf der Rechnung |
Hosting-Konten
Zugeordnete Hosting-Konten mit monatlichem Preis werden automatisch in die Jahresrechnung des Kunden aufgenommen (Standardpreis €89/Jahr). Der letzte Verrechnungszeitpunkt wird pro Hosting-Konto gespeichert.
Serverkosten
Infrastrukturkosten die weiterverrechnet werden (gleiche Felder wie Verträge, ohne Bereich-Kategorie).
Billing-Extras
Einmalige oder aliquote Zusatzpositionen, die beim nächsten Rechnungslauf automatisch mitgenommen werden:
- once: einmalig, fix
- aliquot: anteilig für den restlichen Monat (Tage verbleibend / Monatstage × Preis)
- monthly: monatlich wiederkehrend
- yearly: jährlich wiederkehrend
Status wechselt nach Aufnahme von pending auf included. Pending Extras erscheinen immer auf der nächsten Monatsrechnung.
Domain-Billing
Domains müssen einem Abrechnungskunden zugeordnet sein. Das passiert entweder über die Domain-Liste oder über den Domain zuordnen-Button im Abrechnungs-Setup.
Rechnungskreise
Jeder Rechnungskreis (monatlich, jährlich, einmalig) hat einen Prefix (z.B. RE-2026-) und eine Startnummer. Beim Bestätigen einer Rechnung wird die nächste freie Nummer vergeben.
🧾 Rechnungen
Erstellung, Bestätigung, PDF-Export und Buchhaltungsexport.
Was kommt auf welche Rechnung?
| Rechnungstyp | Enthält |
|---|---|
| Jahresrechnung | Alle Domains (außer „Keine WV"), Jahresverträge (IT + Beratung), Jahres-Serverkosten, Jahres-Plugins, Hosting-Konten (€89/Jahr), Webspace je Domain |
| Monatsrechnung | Monatsverträge (IT + Beratung), Monats-Serverkosten, Monats-Plugins, pending Billing-Extras |
Entwürfe erstellen
- Manuell: Panel „Entwürfe erstellen" → Monat/Jahr wählen → „Monats-Entwürfe" oder „Jahres-Entwürfe"
- Automatisch: Täglich 02:00 Uhr (
crm:invoices-auto-draft) — erstellt Entwürfe für Kunden deren Stichtag heute ist
Vorschau vor Erstellung
Der Button Vorschau zeigt für alle fälligen Kunden eine Zusammenfassung: Kunde, Zeitraum, Anzahl Positionen, Netto- und Bruttobetrag — ohne etwas zu erstellen. Bereits vorhandene Einträge werden grau ausgegraut angezeigt.
Manuelle Rechnung
Über + Manuelle Rechnung erstellen kann eine vollständig manuelle Rechnung für jeden Kunden erstellt werden:
- Kunde, Typ (einmalig/monatlich/jährlich) und Zeitraum wählen
- Positionen aus dem Katalog hinzufügen — oder manuell: Bezeichnung, Menge, Preis
- Jede Position hat eine editierbare Beschreibung (Detail-Notiz)
- Gesamt netto und brutto werden live berechnet
- Als Entwurf speichern → Rechnung erscheint in der Liste mit Status draft
Rechnung bestätigen
Ein Entwurf (draft) wird über Bestätigen in eine gebuchte Rechnung (booked) umgewandelt. Dabei wird die nächste Rechnungsnummer vergeben und die Rechnung in die Ausgangsbox gestellt.
Als bezahlt markieren
Gebuchte Rechnungen können als bezahlt markiert werden. Das Bezahldatum wird gespeichert und in der Liste angezeigt.
PDF generieren
Für jede gebuchte Rechnung kann ein PDF generiert werden. Enthält: Firmenlogo und -daten, Kundendaten, Rechnungsnummer, alle Positionen mit Beschreibung, Summe netto, USt und Brutto.
Aus Angebot oder Projekt
Rechnungen können auch direkt aus einem gewonnenen Angebot oder einem abgeschlossenen Projekt erstellt werden — ohne regulären Entwurfsprozess.
BMD-Export
Rechnungen und Kunden können im BMD-Format exportiert werden (ZIP mit zwei CSV-Dateien für Steuerberater-Software). Monat muss zuerst im Filter ausgewählt werden.
Alle Entwürfe löschen
Löscht alle Rechnungen im Status draft — nützlich wenn der Entwurfslauf korrigiert werden muss. Verknüpfte Billing-Extras werden auf pending zurückgesetzt.
📅 Abrechnungskalender
6-Monats-Vorschau aller geplanten Rechnungen und Registrar-Fälligkeiten.
Chip-Farben nach Kategorie
| Farbe | Typ | Bedeutung |
|---|---|---|
| rosa | Beratung (offen) | Monatliche oder jährliche Beratungsleistung — noch keine Rechnung erstellt |
| dunkles Rosa | Beratung (verrechnet) | Beratungsrechnung als Entwurf oder gebucht vorhanden |
| blau | IT (offen) | Monatliche oder jährliche IT-Leistung — noch keine Rechnung erstellt |
| dunkles Blau | IT (verrechnet) | IT-Rechnung als Entwurf oder gebucht vorhanden |
| lila | Jahresrechnung (verrechnet) | Jahresrechnung (Hosting/Domains) als Entwurf oder gebucht vorhanden |
| orange | Jahresrechnung (offen) | Jahresstichtag — noch keine Rechnung erstellt |
| grün | Domain-Fälligkeit | Registrar-Verlängerungsdatum einer Domain — keine Kundenrechnung, geht in Jahresrechnung |
Was erzeugt Kalender-Einträge?
- Beratung-Chips: Kunden mit Verträgen (Bereich = Beratung), monatlich am 1. des Monats / jährlich am Stichtag
- IT-Chips: Kunden mit Verträgen (Bereich = IT), monatlich am 1. des Monats / jährlich am Stichtag
- Jahres-Chips (ohne Vertragsbereich): Jahresstichtag — für Hosting, Domains und Jahresverträge
- Domain-Chips (grün): Registrar-Fälligkeiten — informativer Hinweis, erzeugen keine eigene Rechnung
Klick auf einen Chip: Abrechnungsvorschau
Klick auf einen Chip öffnet ein Modal mit der Prognose: welche Positionen und welcher Betrag netto würde auf dieser Rechnung stehen. Die Vorschau ist informativ — sie erzeugt keine Rechnung.
Monats- vs. Jahresansicht
Umschalten zwischen Monatsansicht (Kalender-Grid mit Chips) und Jahresansicht (12 Mini-Kalender). In der Jahresansicht Klick auf einen Monat → Detailansicht des Monats.
🔁 Workflow: Beratung/IT wiederkehrend
Vom ersten Kontakt bis zur automatischen Monatsrechnung — der vollständige Ablauf für Dauermandate.
Wann nutzen?
Immer wenn ein Kunde regelmäßig betreut wird: Datenschutz-Dauermandat, monatliche IT-Betreuung, jährlicher DS-Audit. Die Verrechnung läuft dann vollautomatisch jeden Monat oder einmal jährlich.
Schritt 1 — Lead anlegen
- Auf der Angebote-Seite: Neuer Lead
- Modul wählen:
datenschutz_recurring(Beratung) oderit_recurring(IT) - Einen bestehenden Kunden zuordnen oder im Lead hinterlegen
Schritt 2 — Angebot erstellen
- Im Lead: Tab Angebot öffnen
- Positionen anlegen mit Verrechnung: monatlich oder jährlich
- KI-Scope-Assistent kann helfen passende Bausteine vorzuschlagen (→ KI-Funktionen)
- Angebot an Kunden senden — öffentliche Akzeptanzseite verfügbar
Schritt 3 — Projekt erstellen (= Verträge anlegen)
- Lead auf Gewonnen setzen
- Button Projekt erstellen klicken
- Das System erstellt automatisch:
- Ein Projekt mit allen Angebotspositionen als Todos
- Verträge für alle monatlichen und jährlichen Positionen — mit Bereich Beratung (bei datenschutz-Modul) oder IT
Schritt 4 — Automatische Rechnungserstellung
Ab jetzt läuft alles automatisch:
- Monatlich: jeden 1. des Monats erscheint ein Chip im Kalender → täglich 02:00 Uhr wird ein Entwurf erstellt
- Jährlich: am Jahresstichtag des Kunden wird der Entwurf erstellt
Entwürfe erscheinen in der Rechnungsliste mit Status draft.
Schritt 5 — Rechnung bestätigen und versenden
- Rechnungsliste öffnen → Entwurf prüfen → Details für Positionsübersicht
- Bestätigen: Rechnungsnummer wird vergeben, Rechnung wird gebucht
- PDF wird generiert und in die Ausgangsbox gestellt
- Versand täglich 02:10 Uhr automatisch (
crm:invoices-auto-send)
Verträge nachträglich anpassen
Unter Kunden → [Kunde] → Produkte & Leistungen: Vertrag löschen (✕-Button) und neu anlegen, oder Preis direkt bearbeiten. Änderungen gelten ab dem nächsten Rechnungslauf.
📋 Workflow: Einmaliges Projekt
Von der Anfrage bis zur Schlussrechnung — für Festpreis- oder Stundenprojekte.
Schritt 1 — Lead & Angebot
- Lead anlegen mit Modul
it_onceoderdatenschutz_once - Angebot erstellen: alle Positionen mit Verrechnung: einmalig
- Optional: Deposit-Rechnung (Anzahlung) erstellen über Rechnungen → Deposit
- Angebot versenden und Akzeptanz des Kunden einholen
Schritt 2 — Projekt durchführen
- Lead auf Gewonnen → Projekt erstellen
- Todos aus Angebotsbausteine werden automatisch angelegt
- Stunden am Projekt oder direkt auf der Zeitseite erfassen
- Todos als abgeschlossen markieren wenn erledigt
Schritt 3 — Schlussrechnung
- Projekt abschließen (Projekt abschließen-Button)
- Rechnung erstellen: entweder über Rechnungen → Aus Projekt oder manuell über Manuelle Rechnung
- Positionen prüfen, bestätigen, PDF generieren
- Zeiteinträge als verrechnet markieren (Zeiterfassung → Markieren)
🌐 Workflow: Domain & Hosting
Wie Registrar-Kosten automatisch auf Kundenrechnungen landen.
Das Prinzip
Du verlängerst Domains beim Registrar auf eigene Kosten. Die Jahresrechnung an den Kunden fasst alle seine Domains (+ Webspace + Plugins + Hosting) gebündelt auf einen Termin zusammen — den Jahresstichtag.
Registrar-Fälligkeit = wann du die Domain verlängerst (du → Registrar)
Jahresstichtag = wann der Kunde seine Rechnung bekommt (du → Kunde)
Diese sind bewusst entkoppelt!
Schritt 1 — Setup
- Domain importieren (CSV oder PDF-Import) oder manuell anlegen
- Domain dem Kunden zuordnen (Dropdown in der Domain-Liste oder Abrechnungs-Setup)
- Einkaufspreis und Verkaufspreis festlegen
- Webspace-Preis setzen (Standard: €89/Jahr)
- Plugins aus dem Plugin-Katalog hinzufügen falls vorhanden
Schritt 2 — Jahresstichtag setzen
- Unter Kunden → [Kunde] → Abrechnung → Abrechnungseinstellungen
- Monat und Tag des Jahresstichtags setzen (z.B. 1. März)
- Speichern — ab jetzt erscheint der Kunde am 1. März im Kalender
Schritt 3 — Automatische Jahresrechnung
Am Jahresstichtag (täglich 02:00 Uhr geprüft) wird automatisch ein Entwurf erstellt mit:
- Alle Domains des Kunden (außer „Keine Weiterverrechnung")
- Webspace je Domain (€89/Jahr)
- Jahresplugins
- Jahresverträge (IT + Beratung)
- Hosting-Konten (Jahreszusammenstellung)
Ausnahmen: Keine Weiterverrechnung
Domains die intern gehalten werden oder bei denen der Kunde selbst zahlt: Checkbox „Keine Weiterverrechnung" in der Domain-Konfiguration setzen. Domain, Webspace und alle Plugins dieser Domain werden dann übersprungen.
Nachverrechnungen (Plugins, Extras)
Wurde etwas zwischen zwei Jahresrechnungen angeschafft (z.B. neues Plugin):
- Unter Kunden → [Kunde] → Abrechnung → Billing-Extra hinzufügen
- Cadence: aliquot für anteilige Abrechnung oder once für Fixbetrag
- Das Extra landet automatisch auf der nächsten Monatsrechnung
✍️ Workflow: Manuelle Rechnung
Für Sonderfälle — Rechnung direkt erstellen ohne Angebot oder automatischen Lauf.
Wann nutzen?
- Einmalige Leistung die nicht über ein Angebot gelaufen ist
- Korrektur- oder Ergänzungsrechnung
- Projektabschluss-Rechnung mit individuellen Positionen
- Schnelle Rechnung für Bestandskunden
Ablauf
- Rechnungen → + Manuelle Rechnung erstellen
- Kunde, Typ (einmalig / monatlich / jährlich) und Abrechnungszeitraum wählen
- Positionen hinzufügen:
- Aus Katalog: Dropdown → Bezeichnung und Preis werden übernommen, Beschreibung aus Katalog vorausgefüllt
- Manuell: Bezeichnung, Menge, Preis eingeben → + Position
- Pro Position: Beschreibung (Detail-Notiz) editierbar — erscheint auf dem PDF
- Menge und Preis inline änderbar
- Als Entwurf speichern → Rechnung erscheint in der Liste
- Entwurf prüfen → Bestätigen für Buchung und PDF-Erstellung
🔧 Admin & Einstellungen
Benutzerverwaltung, Systemkonfiguration und Katalogpflege.
Benutzerverwaltung
Nur für Admins. Benutzer anlegen, Rolle setzen (admin/user), Passwort setzen, Module zuweisen. Inaktive Benutzer können deaktiviert werden.
AGB-Versionen
Allgemeine Geschäftsbedingungen können versioniert gepflegt werden. Die aktive Version erscheint auf Angeboten. Ältere Versionen bleiben zur Referenz erhalten.
Hosting-Pläne
Vordefinierte Hosting-Plan-Definitionen (Name, Preis, Leistungsumfang) die bei Hosting-Konten verwendet werden können.
Domain-TLD-Preise
Einkaufs- und Verkaufspreise nach Top-Level-Domain (.at, .com, .de, …). Werden als Vorschlag beim Anlegen neuer Domains verwendet.
Einstellungen
| Einstellung | Bedeutung |
|---|---|
| Monatsziel | Ziel-Umsatz für Dashboard-KPI (€ netto) |
| OpenAI API-Key | Für alle KI-Funktionen erforderlich |
| Firmenname | Erscheint auf Rechnungen und Angeboten |
| Adresse, PLZ, Ort | Absenderadresse auf Dokumenten |
| UID-Nummer | Umsatzsteuer-Identifikationsnummer auf Dokumenten |
Audit-Log
Alle Benutzeraktionen werden mit Timestamp, Benutzer und Aktion protokolliert. Einsehbar unter Admin → Übersicht → Log.
Baustein-Katalog
Unter Admin → Bausteine: Wiederverwendbare Angebotsbausteine pflegen. Können direkt im Angebot-Editor ausgewählt werden. KI-Generator für neue Bausteine verfügbar.
Preiskatalog
Unter Admin → Preise: TLD-Preise und Hosting-Pläne verwalten.
⭐ Sonderfunktionen
Besondere Funktionen und Randfall-Lösungen.
Keine Weiterverrechnung (Domains)
Domains können von der Verrechnung ausgeschlossen werden. Die Checkbox „Keine Weiterverrechnung" im Domain-Detail-Panel bewirkt:
- Domain wird bei Jahresrechnungs-Entwürfen übersprungen
- Webspace-Pauschale wird übersprungen
- Alle Plugins dieser Domain werden übersprungen
- Badge keine WV in der Domain-Liste
- Filterbar über Dropdown „Keine Weiterverrechnung"
Wiederkehrende Todos
Projekt-Todos können als monatlich oder jährlich wiederkehrend markiert werden. Wenn das Fälligkeitsdatum überschritten ist, wird automatisch eine neue Instanz für den nächsten Zeitraum erstellt. Der alte Todo behält seinen Status und das nächste Datum wird auf null gesetzt.
Domains-Sync-Webhook
Der Endpoint POST /api/domains/sync ist öffentlich (kein Login) und kann von externen Prozessen angesprochen werden um Domains zu synchronisieren.
PDF-Rechnungsimport (Registrar)
Registrar-Rechnungen als PDF importieren — das System extrahiert automatisch Domains, Verlängerungszeiträume und Einkaufspreise. Voraussetzung: pdftotext auf dem Server installiert (apt install poppler-utils).
Change-Log
Wichtige Änderungen an Objekten (Domains, Rechnungen, etc.) werden in einem Change-Log protokolliert und sind unter Abrechnung → Changelog einsehbar.
Angebotsdeposit
Für ein Angebot kann eine Deposit-Rechnung erstellt werden (Anzahlung), bevor das Projekt startet.
BMD-CSV-Import (Kunden)
Kundenstammdaten können per CSV importiert werden (Template-Download verfügbar). Nützlich beim Migrieren aus einer anderen Software.
⏰ Automatisierungen & Cron
Was läuft automatisch im Hintergrund?
| Zeit | Befehl | Was passiert |
|---|---|---|
| 02:00 täglich | crm:invoices-auto-draft |
Erstellt Rechnungsentwürfe für Kunden deren Jahres- oder Monats-Stichtag heute ist. Duplikat-Schutz verhindert doppelte Entwürfe. |
| 02:10 täglich | crm:invoices-auto-send |
Versendet bestätigte Rechnungen per E-Mail an Kunden mit gesetzter Rechnungs-E-Mail. |
| 06:00 täglich | crm:todos-requeue |
Prüft wiederkehrende Projekt-Todos. Erstellt Folge-Instanzen für überfällige Todos (monatlich/jährlich). |
Manuell ausführen
Alle Befehle können auch manuell im Terminal ausgeführt werden:
./bin/php artisan crm:invoices-auto-draft./bin/php artisan crm:invoices-auto-send./bin/php artisan crm:todos-requeue./bin/php artisan crm:import-hosting [datei.csv] [--fresh]
Ops-Bereich
Unter Admin → Ops (API-Endpunkte) können einige Aktionen auch über die Web-Oberfläche ausgelöst werden: Migrationen laufen, Queue-Job starten, Preview deployen.
Laravel Scheduler einrichten
Damit die Cron-Jobs automatisch laufen, muss folgende Zeile im System-Crontab eingetragen sein:
* * * * * cd /pfad/zur/app/laravel && ./bin/php artisan schedule:run >> /dev/null 2>&1