Entwurf zur Durchsicht, noch keine Umsetzung. Beschreibt den Bereich "Verträge", das Hosting-Abo (15 €), beliebig viele Postfächer im Wartungs-Abo, den Wechsel Hosting -> Wartung (12 neue Monate) und den Zusatzspeicher (5 GB je 1 €/Monat, Stückzahl im Stripe-Abo) samt betroffener Rechtstexte, Mails und Dateien. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
30 KiB
Verträge, Hosting-Abo und E-Mail-Zusatzspeicher – Konzept
Stand 27.09.2026 · Entwurf zur Durchsicht · umgesetzt ist noch nichts
Betrifft das Kundenportal (project.webklar.com), die Website (webklar.com), das Ticketsystem (ticket.webklar.com), Stripe, Hetzner konsoleH und die Rechtstexte.
1. Ziel
- Der Bereich „Wartung“ im Kundenportal heißt künftig Verträge. Dort liegt das Abo des Kunden.
- Neues Hosting-Abo für 15 € im Monat: Wir hosten die Website, dazu kommen 1 Domain und 1 E-Mail-Postfach.
- Wartungs-Abo (50 €): Statt einem Postfach gibt es beliebig viele, zusammen 5 GB.
- Hosting-Kunden können jederzeit ins Wartungs-Abo wechseln, auch in den ersten 12 Monaten.
- E-Mail-Zusatzspeicher: je 5 GB für 1 € im Monat, per Plus und Minus im eigenen Bereich, abgerechnet im laufenden Abo über Stripe.
Nicht Teil dieses Konzepts:
- mehrere Abos pro Kunde, etwa für zwei Websites. Pro Kunde gibt es weiterhin höchstens ein laufendes Abo.
- Postfächer selbst im Portal anlegen oder löschen. Hetzner bietet dafür keine Schnittstelle, deshalb läuft das per Anfrage im Chat.
- jährliche Zahlung.
- Rückwechsel von Wartung zu Hosting per Knopf. Das geht nur auf Anfrage (3.6).
2. Entscheidungen
| Thema | Entscheidung | Herkunft |
|---|---|---|
| Name des Bereichs | „Verträge“ | Vorgabe |
| Preis Hosting-Abo | 15,00 € pro Monat | Vorgabe |
| Umfang Hosting-Abo | siehe 3.1: ohne Arbeitsstunde, ohne Pflege der Website | Vorschlag, bestätigt |
| Hosting-Abo nur für | statische Websites (3.2) | Vorschlag, bestätigt |
| Domain im Hosting-Abo | ja, 1 Domain | Vorschlag, bestätigt |
| Mindestlaufzeit | beide Abos 12 Monate ab Leistungsbeginn, danach monatlich kündbar | Vorschlag, bestätigt |
| Postfächer | Hosting: 1 Postfach, 5 GB. Wartung: beliebig viele, zusammen 5 GB | Vorgabe |
| Wechsel Hosting → Wartung | jederzeit, als neuer Vertrag. Mit dem Wechsel beginnen 12 neue Monate Mindestlaufzeit (Variante A) | Vorgabe |
| Zusatzspeicher | 5 GB je Paket für 1,00 € pro Monat, in beiden Abos, als zweite Position im selben Stripe-Abo | Vorgabe |
| Aufbau der Rechtstexte | eine gemeinsame Fassung für beide Abos (8.1) | Vorschlag |
| Offene Einzelpunkte | vorbelegt, siehe 13 | Vorschlag, bitte prüfen |
Alle Preise sind Endpreise. Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.
3. Produkte
3.1 Leistungen im Vergleich
| Hosting-Abo | Wartungs-Abo | |
|---|---|---|
| Preis | 15,00 € pro Monat | 50,00 € pro Monat |
| Website auf unserem Server in Deutschland (Hetzner, Falkenstein) | ✓ | ✓ |
| SSL-Zertifikat, tägliche Datensicherung, Überwachung der Erreichbarkeit | ✓ | ✓ |
| Updates von Betriebssystem und Server-Software | ✓ | ✓ |
| Updates und Pflege der Website selbst | – | ✓ |
| Geeignet für | statische Websites | alle Websites und Web-Anwendungen, die wir erstellt oder zur Betreuung übernommen haben |
| Domain (.de, .com, .eu, .net, .org) | 1 | 1 |
| 1 Postfach, 5 GB | beliebig viele Postfächer, zusammen 5 GB | |
| Zusatzspeicher | je 5 GB für 1,00 € pro Monat | je 5 GB für 1,00 € pro Monat |
| Arbeitszeit | nur nach Freigabe, 100 € pro Stunde in 15-Minuten-Schritten | 1 Stunde pro Monat inklusive, darüber 100 € pro Stunde |
| Servicezeiten und Reaktion | wie heute im Wartungs-Abo (Mo–Fr 9–17 Uhr, Antwort bis Ende des nächsten Werktags) | wie heute |
| Mindestlaufzeit | 12 Monate | 12 Monate, auch nach einem Wechsel |
3.2 Hosting-Abo: nur statische Websites
- Statisch heißt: Der Webserver liefert die Dateien (HTML, CSS, JavaScript, Bilder) unverändert aus. Dazu gehören auch unsere React- und Vite-Seiten.
- Nicht erlaubt sind ein CMS, ein Login, eine Datenbank und eigener serverseitiger Code wie PHP.
- Der Grund: Eine dynamische Website ohne laufende Updates läge ungepflegt auf demselben Server wie Kundenportal, Datenbank und Rechnungen.
- Kontaktformulare sind nur über einen Dienst möglich, den wir zentral betreiben und pflegen (siehe 13, Punkt 7).
- Braucht eine Website später dynamische Teile, bieten wir den Wechsel ins Wartungs-Abo an.
- Änderungen an der Website gibt es nur nach Freigabe und gegen 100 € pro Stunde, Anfrage im Chat. Die Behebung von Störungen an Server, Domain und Postfach ist inklusive, wie im Wartungs-Abo.
3.3 Postfächer (beide Abos)
- Die Postfächer liegen bei Hetzner Webhosting, Rechenzentrum Nürnberg. Das Hosting-Abo hat 1 Postfach, das Wartungs-Abo beliebig viele.
- Hetzner setzt die Speichergrenze je Postfach. „Zusammen 5 GB“ heißt: Die Grenzen aller Postfächer eines Kunden ergeben zusammen höchstens 5 GB plus Zusatzspeicher.
- Wie der Speicher verteilt wird, bestimmt der Kunde. Ohne Vorgabe teilen wir gleichmäßig auf.
- Ist die Grenze eines Postfachs erreicht, nimmt es keine neuen Mails mehr an. Darauf weisen Portal und Bedingungen hin.
- Anlegen, Löschen, neues Passwort oder andere Aufteilung fragt der Kunde im Chat an. Der Knopf „Postfach anfragen“ füllt die Nachricht vor.
- Wir setzen es in konsoleH um, in der Regel innerhalb eines Werktags.
- Zugangsdaten geben wir nur dem Kunden oder den Personen, die er in Textform benennt.
- Faire Nutzung:
- Postfächer nur für den Kunden, seine Beschäftigten und seine Organisation
- kein Weiterverkauf
- kein Newsletter- oder Massenversand
- Es gelten die Versandgrenzen des Anbieters.
- Kapazität: Alle Kundenpostfächer liegen in unserem Hetzner-Paket und teilen sich dessen Speicher (S 10 GB, M 50 GB, L 100 GB, XL 300 GB).
- Das Admin-Panel zeigt die Summe der vergebenen Kontingente: 5 GB je laufendem Abo plus alle Pakete Zusatzspeicher.
- Bevor der belegte Speicher in konsoleH 80 % erreicht, wechseln wir ins nächstgrößere Paket.
3.4 E-Mail-Zusatzspeicher
Ein Paket hat 5 GB und kostet 1,00 € pro Monat. Jeder Kunde kann 0 bis 10 Pakete buchen, in beiden Abos, auch Bestandskunden mit Version 3.
Plus (Bestellung)
- Direkt über dem Knopf steht eine Übersicht mit:
- neuer Gesamtgröße
- Mehrpreis pro Monat
- anteiligem Betrag für den Rest des laufenden Monats (aus der Stripe-Vorschau)
- Datum der nächsten Abbuchung
- Link auf Bedingungen und Widerrufsbelehrung
- Der Knopf heißt „Zahlungspflichtig bestellen“ (§ 312j Abs. 3 BGB). Der Vertrag kommt mit dem Klick zustande. Bezahlt wird mit der hinterlegten Zahlungsart.
- Abrechnung:
- Den Rest des laufenden Monats berechnet Stripe anteilig mit der nächsten Abbuchung, danach 1,00 € je Paket und Monat.
- Pakete, die für den laufenden Monat schon bezahlt sind (etwa nach einem Minus im selben Monat), werden nicht noch einmal berechnet.
- Bereitstellung: Wir stellen die Grenzen in konsoleH um, in der Regel innerhalb eines Werktags. Bis dahin zeigt das Portal „wird eingerichtet“.
- Der Kunde bekommt eine Bestätigungsmail mit Zusammenfassung und den Vertragsbedingungen als PDF.
Minus
- Der Knopf heißt „Speichern“. Die Änderung wirkt zum Ende des laufenden Abrechnungsmonats, ohne anteilige Erstattung.
- Das Portal zeigt „ab TT.MM. X GB“.
- Der Dialog weist darauf hin: Passen die gespeicherten Mails dann nicht mehr hinein, nimmt das betroffene Postfach keine neuen Mails an, bis wieder Platz ist.
- Der Kunde bekommt eine Bestätigungsmail.
Widerruf
- Jede Bestellung hat 14 Tage Widerrufsfrist.
- Wir verlangen keinen ausdrücklichen Sofortbeginn und stellen trotzdem sofort bereit.
- Bei Widerruf nehmen wir das Paket zurück und erstatten alles, was dafür gezahlt wurde. Wertersatz verlangen wir nicht.
Kündigung
- Jederzeit per Minus oder über „Verträge hier kündigen“ mit der Auswahl „Nur den E-Mail-Zusatzspeicher“.
- Der Zusatzspeicher endet automatisch mit dem Abo. Bei einem Wechsel ins Wartungs-Abo bleibt er unverändert.
3.5 Wechsel vom Hosting- ins Wartungs-Abo
- Wer: Kunden mit laufendem, bezahltem Hosting-Abo (Stripe-Status
active). Nicht möglich ist es in der Wartezeit bis zum Leistungsbeginn und bei offener Zahlung. - Wann: jederzeit, auch während der Mindestlaufzeit des Hosting-Abos.
- Rechtlich: Es ist ein neuer Vertrag über das Wartungs-Abo. Das Hosting-Abo endet mit dem Wechsel im gegenseitigen Einvernehmen.
- Bestellung:
- Direkt über dem Knopf steht eine Übersicht mit:
- Wartungs-Abo 50,00 € pro Monat
- Zusatzspeicher, falls gebucht
- Gutschrift für die ungenutzten Hosting-Tage
- heute fälliger Betrag (aus der Stripe-Vorschau)
- neuer Abbuchungstag
- Ende der neuen Mindestlaufzeit
- Der Kunde stimmt den Vertragsbedingungen (Version 4) einschließlich der Auftragsverarbeitung zu.
- Pflicht-Häkchen: Der Kunde verlangt ausdrücklich, dass wir sofort beginnen, und nimmt die Folge für den Wertersatz zur Kenntnis (§ 357a Abs. 2 BGB). Einen späteren Beginn bietet der Wechsel nicht an.
- Knopf „Zahlungspflichtig bestellen“.
- Direkt über dem Knopf steht eine Übersicht mit:
- Abrechnung:
- Es bleibt dasselbe Stripe-Abo, der Preis wechselt von Hosting auf Wartung.
- Der Abbuchungstag wird der Wechseltag.
- Die ungenutzten Hosting-Tage werden auf der sofort fälligen Rechnung gutgeschrieben.
- Leistung: Sie beginnt sofort. Die erste Stunde Arbeitszeit wird gutgeschrieben, sobald die Wechsel-Rechnung bezahlt ist, danach monatlich.
- Mindestlaufzeit: 12 Monate ab dem Wechseltag.
- Widerruf des Wechsels:
- Das Hosting-Abo läuft zu den bisherigen Bedingungen weiter, als hätte es den Wechsel nicht gegeben, einschließlich seiner ursprünglichen Mindestlaufzeit.
- Wir erstatten den Mehrbetrag, abzüglich Wertersatz nach § 357a Abs. 2 BGB (anteiliger Mehrpreis bis zum Widerruf).
- Den Preis in Stripe stellen wir von Hand zurück, wie heute bei Widerrufen.
- Rabatte und Guthaben: Ein laufender Angebotsrabatt läuft bis zu seinem Ende weiter. Guthaben aus einer Übernahmegutschrift wird weiter verrechnet.
3.6 Wechsel vom Wartungs- ins Hosting-Abo
- Möglich erst nach Ablauf der Mindestlaufzeit des Wartungs-Abos, zum Ende eines Abrechnungsmonats. Der Kunde meldet den Wunsch in Textform (Chat oder E-Mail), einen Knopf im Portal gibt es dafür nicht.
- Voraussetzung ist eine statische Website (3.2). Vorher legt der Kunde fest, welches Postfach bleibt. Die anderen exportieren wir auf Wunsch.
- Es beginnt keine neue Mindestlaufzeit, das Hosting-Abo ist danach monatlich kündbar.
- Nicht genutzte Arbeitszeit verfällt mit dem Wechsel, wie bei Vertragsende.
- Umsetzung von Hand: In Stripe wechselt der Preis zum Ende des Abrechnungsmonats auf Hosting, ohne anteilige Verrechnung. Der Kunde bekommt eine Bestätigungsmail.
4. Kundenportal
4.1 Navigation
- Menüpunkt „Verträge“: Er steht am Desktop in der Seitenleiste und in der App-Ansicht in der Tab-Leiste und ersetzt den Tab „Wartung“.
- Hash
#vertraege. Alte Links mit#wartungund#aboführen dorthin,#abosteht etwa in den Angebots-Mails.
- Hash
- Seitenleisten-Karte: „Ihre Wartung“ heißt künftig „Ihr Vertrag“. Sie zeigt:
- den Produktnamen
- die verfügbare Arbeitszeit, nur beim Wartungs-Abo
- die nächste Abbuchung
- die Hinweise wie heute (Zahlungsproblem, Widerrufsfrist, Übernahmegutschrift)
- Konto-Menü, Gruppe „Verträge“:
- Neuer erster Eintrag „Mein Vertrag“, er führt zu
#vertraege. - „Vertragsbedingungen“ öffnet die Fassung, der der Kunde zugestimmt hat.
- Die übrigen Einträge bleiben: „Abo verwalten & Rechnungen“, „Verträge hier kündigen“, „Vertrag widerrufen“.
- Neuer erster Eintrag „Mein Vertrag“, er führt zu
4.2 Ansicht „Verträge“
Oben steht Mein Vertrag, wenn ein Abo läuft oder beendet ist:
- Produkt, Monatspreis einschließlich Zusatzspeicher und Status (gekündigt, Zahlungsproblem)
- nächste Abbuchung mit Betrag und Hinweis zur Laufzeit („Mindestlaufzeit bis …“)
- nur beim Wartungs-Abo: das Stundenkonto als Unterseite wie heute
- E-Mail-Speicher mit Plus und Minus (4.3) und dem Knopf „Postfach anfragen“
- Unterlagen: Vertragsbedingungen in der zugestimmten Fassung (PDF) und Rechnungen (Stripe-Kundenportal)
- „Übernahmegutschrift beantragen“
- während einer laufenden Widerrufsfrist hervorgehoben „Vertrag widerrufen · bis TT.MM.“ (§ 356a BGB). Das gilt auch für Wechsel und Zusatzspeicher innerhalb ihrer Frist.
- bei einem Zahlungsproblem „Zahlungsart aktualisieren“
Darunter:
- Hosting-Kunden: eine Karte „Zum Wartungs-Abo wechseln“ mit den zusätzlichen Leistungen und dem Knopf.
- Ohne laufendes Abo: beide Abos nebeneinander, jeweils mit „Abo abschließen“ und eigener Bestellseite (
#bestellen-hosting,#bestellen-wartung). Persönliche Angebote erscheinen bei dem Abo, für das sie gelten.
4.3 Zusatzspeicher bedienen
E-Mail-Speicher 5 GB inklusive
Zusatzspeicher [ − ] 2 [ + ] × 5 GB = 15 GB gesamt
+ 2,00 € im Monat
[ Zahlungspflichtig bestellen ]
- Der Knopf erscheint erst nach einer Änderung.
- Mehr als bisher: Es folgt die Übersicht aus 3.4 und der Knopf „Zahlungspflichtig bestellen“.
- Weniger als bisher: Es folgt der Hinweis auf das Monatsende und der Knopf „Speichern“.
- Solange eine Erhöhung noch nicht eingerichtet ist, steht dort „wird eingerichtet“. Bei einer geplanten Reduzierung steht dort „ab TT.MM. X GB“.
- Plus und Minus gehen nur bei Status
active, also nicht in der Wartezeit bis zum Leistungsbeginn und nicht bei einem Zahlungsproblem.
4.4 Bestellseiten
- Neuabschluss:
- Der Ablauf bleibt wie heute:
- Übersicht direkt über dem Knopf
- Zustimmung einschließlich Auftragsverarbeitung
- Wahl zwischen sofortigem Beginn und Beginn nach der Widerrufsfrist
- „Zahlungspflichtig bestellen“, danach Stripe Checkout
- Neu ist, dass jedes Produkt seine eigene Übersicht, seinen Preis und seinen Stripe-Hinweistext bekommt.
- Der Ablauf bleibt wie heute:
- Wechsel:
- Eigene Seite
#wechselnach 3.5, ohne Stripe Checkout. Belastet wird die hinterlegte Zahlungsart. - Verlangt die Bank eine Bestätigung (3-D Secure), leitet das Portal auf die Stripe-Zahlungsseite dieser Rechnung weiter.
- Eigene Seite
4.5 Öffentliche Formulare ohne Login
-
kuendigen.html: Statt des festen „WEBklar Wartungs-Abo“ wählt der Kunde zwischen zwei Möglichkeiten (§ 312k Abs. 3 BGB verlangt eine eindeutige Bezeichnung des Vertrags):- „Mein Abo (Hosting- oder Wartungs-Abo, mit Zusatzspeicher)“
- „Nur den E-Mail-Zusatzspeicher“
Die Bestätigung nennt das tatsächliche Abo.
-
widerrufen.html: Der Kunde wählt die Bestellung aus (§ 356a BGB):- „Abschluss meines Abos“
- „Wechsel ins Wartungs-Abo“
- „E-Mail-Zusatzspeicher“
-
Server: Er ordnet die Erklärung wie heute über die E-Mail-Adresse zu. Die Auswahl bestimmt, was gekündigt oder widerrufen wird.
5. Stripe
Produkte und Preise (monatlich, EUR, tax_behavior: inclusive wie heute):
| Produkt | Preis | lookup_key |
|---|---|---|
| WEBklar Wartungs-Abo (besteht) | 50,00 € | webklar_wartung_monatlich_5000 |
| WEBklar Hosting-Abo (neu) | 15,00 € | webklar_hosting_monatlich_1500 |
| WEBklar E-Mail-Zusatzspeicher 5 GB (neu) | 1,00 € je Stück | webklar_mailspeicher_5gb_monatlich_100 |
- Beschreibung des Wartungs-Produkts: Sie wird in Stripe auf Version 4 geändert („beliebig viele Postfächer, zusammen 5 GB“). Der Code legt Produkte nur einmal an, deshalb geht das per Skript oder im Stripe-Dashboard.
- Aufbau: ein Stripe-Abo je Kunde mit zwei Positionen, dem Abo-Preis (Hosting oder Wartung) und optional dem Zusatzspeicher mit Stückzahl.
- Aufrufe:
- Plus:
subscriptions.updatemit der neuen Stückzahl undproration_behavior: create_prorations. Bis zur schon bezahlten Stückzahl giltnone, notfalls in zwei Schritten. - Minus:
proration_behavior: none. - Wechsel: Preis der Abo-Position tauschen mit
billing_cycle_anchor: nowundproration_behavior: create_prorations, dabei dasselbeproration_datewie in der Vorschau. - Den Betrag zeigen wir vorher jeweils mit
invoices.createPreviewan.
- Plus:
- Stripe-Kundenportal: Die Überschrift wird „WEBklar – Abo verwalten“. Tarif- und Mengenänderungen bleiben dort aus, weil Stripe unsere Mindestlaufzeiten und Bestellschritte nicht kennt. Die Kündigung dort bleibt ebenfalls aus.
- Checkout-Hinweistext (
custom_text): je Produkt mit Preis und Mindestlaufzeit, statt fest „50,00 € … 12 Monate“.
6. Daten (Appwrite, woms-database)
subscriptions (ein Dokument je Stripe-Abo) bekommt neue Felder:
productKey:hostingoderwartung. Alte Dokumente ohne Wert gelten alswartung.termStartAt: Beginn der laufenden Mindestlaufzeit. Bei einem Neuabschluss ist das der Leistungsbeginn, bei einem Wechsel der Wechseltag.storageUnits: gebuchte Pakete Zusatzspeicher.storagePaidUnitsundstoragePaidPeriodEnd: Pakete, die für den laufenden Monat schon bezahlt sind.planKeyenthält künftig den lookup_key des tatsächlichen Abo-Preises.
Neue Collection contractEvents. Sie weist jede Bestellung und jede Änderung nach:
- Felder:
customerId,subscriptionIdtype:abschluss,wechsel,speicher,kuendigungoderwiderrufproductKeydetails: JSON mit Stückzahl alt und neu, Beträgen und WirksamkeitsdatumtermsVersion,consentAt,consentIp,consentUserAgent,earlyStartConsentAtstatus:offen,erledigtoderwiderrufendueAt,doneAt,doneBy,confirmationSentAt
- Die offenen
speicher-Ereignisse sind die Aufgabenliste für konsoleH. - Aus diesen Ereignissen ergibt sich die Widerrufsfrist je Bestellung. Heute zählt nur
startedAt. - Aufbewahrt werden sie wie die bisherigen Zustimmungsdaten: drei Jahre nach Vertragsende (Datenschutzerklärung, Abschnitt 7).
aboOffers bekommt ein Feld productKey. Alte Angebote gelten als wartung. Der Normalpreis kommt aus dem Produktkatalog statt fest 50 €.
Einrichtung: scripts/setup-abo-collections.mjs wird erweitert.
7. Server (Kundenportal)
server/config.js
- Neuer Produktkatalog mit
products.hostingundproducts.wartung. Jeder Eintrag enthält:- Name, Preis und lookup_key
- Stripe-Beschreibung
- Leistungsliste für die Oberfläche
- Mindestlaufzeit und Minuten pro Monat (0 bzw. 60)
- Neu ist auch
mailStoragemit lookup_key, 100 Cent, 5 GB und höchstens 10 Paketen. abo.termsVersionbleibt ein einziger Wert, weil es eine gemeinsame Fassung gibt (8.1).
server/services/stripeBilling.js
- Preise werden je Produkt angelegt oder gefunden.
syncSubscriptionliest Abo-Preis und Zusatzspeicher aus den Positionen.- Arbeitszeit gibt es nur, wenn die bezahlte Rechnung eine Wartungs-Position enthält, die keine anteilige Verrechnung ist und mehr als 0 € kostet. Heute bekommt jede bezahlte Abo-Rechnung eine Stunde.
- Checkout je Produkt. Die Sperre „höchstens ein laufendes Abo je Kunde“ bleibt.
- Neu kommen Wechsel, Zusatzspeicher und die Vorschauen dazu.
- Die Mindestlaufzeit zählt ab
termStartAt.
server/routes/abo.js
GET /api/aboliefert:- den Produktkatalog
productKeyund Speicherstand- ob ein Wechsel möglich ist
- das Stundenkonto, aber nur beim Wartungs-Abo
- Neue Aufrufe:
POST /api/abo/checkoutmitproductKeyPOST /api/abo/switch/previewundPOST /api/abo/switchPOST /api/abo/storage/previewundPOST /api/abo/storage
- Öffentliche Kündigung und öffentlicher Widerruf bekommen das Feld
contract.
Mails (server/services/mailer.js): produktneutral, siehe 9.
Admin (public/admin.html, public/admin.js, Routen in server/routes/portalAdmin.js)
- Die Abo-Anzeige nennt Produkt und Speicher.
- Neuer Reiter „E-Mail-Speicher“ mit:
- offenen Aufgaben (einrichten, reduzieren zum Datum)
- Knopf „Erledigt“
- Summe der vergebenen Kontingente
- Abo-Angebote bekommen eine Produktauswahl.
Ticketsystem (WOMS): Der Schalter „aufs Stundenkonto“ im Arbeitsnachweis erscheint nur bei Kunden mit laufendem Wartungs-Abo.
8. Rechtstexte
8.1 Aufbau
Eine gemeinsame Fassung „Vertragsbedingungen für die WEBklar-Abos“ in Version 4:
- allgemeiner Teil: Anbieter, Geltungsbereich, Vertragsschluss, Preise und Zahlung, Laufzeit und Kündigung, Wechsel, Zusatzspeicher, Vertragsende, Mängel, Haftung, Datenschutz, Änderungen, Schlussbestimmungen
- Leistungsbeschreibung A (Hosting-Abo) und Leistungsbeschreibung B (Wartungs-Abo)
- Widerrufsbelehrung nach dem gesetzlichen Muster (Wortlaut unverändert) mit Muster-Widerrufsformular
- Anlage 1 Auftragsverarbeitungsvertrag, Anlage 2 TOM, Anlage 3 Unterauftragsverarbeiter, jeweils für beide Abos
Weitere Festlegungen:
- Adresse: Sie bleibt
project.webklar.com/abo-bedingungen.html, weil sie in Mails, auf der Website und im Stripe-Kundenportal steht. - PDF: Das neue heißt
WEBklar-Abo-Vertragsunterlagen.pdf. - Version 3: Sie wird archiviert (HTML und PDF unter
vertragsunterlagen/v3/).WEBklar-Wartungs-Abo-Vertragsunterlagen.pdfbleibt als Fassung 3 abrufbar, denn § 2 sagt zu, dass wir den Vertragstext speichern. - Zustimmung: Gespeichert werden Version und Produkt.
- Versionsdatum: Es ist der Tag der Freigabe in der Rechtsrunde.
8.2 Änderungen gegenüber Version 3
- „Das Wichtigste auf einen Blick“: beide Abos mit Preisen und Zusatzspeicher.
- Geltungsbereich: beide Abos, mit Vorrang vor den AGB einschließlich Leistungsmodul C (jährliches Hosting).
- Vertragsschluss:
- Der Bestellweg führt über „Verträge“.
- Wechsel und Zusatzspeicher sind eigene Bestellungen: Knopf, Vertragsschluss mit dem Klick, hinterlegte Zahlungsart, Bestätigungsmail.
- Leistungen:
- Aufteilung in A und B.
- Postfächer: 1 bzw. beliebig viele, zusammen 5 GB, Aufteilung, Einrichtung auf Anfrage, volle Postfächer, faire Nutzung, Zugangsdaten nur an den Kunden.
- Das Hosting-Abo gilt nur für statische Websites.
- Stundenkontingent: nur im Wartungs-Abo. Die erste Stunde gibt es beim Wechsel.
- Pflichten des Kunden:
- Zugangsdaten aller Postfächer geheim halten.
- Weitergabe an Beschäftigte in eigener Verantwortung.
- Im Hosting-Abo keine dynamischen Inhalte ohne Wechsel.
- Preise und Zahlung:
- 15 €, 50 € und Zusatzspeicher.
- Anteilige Berechnung beim Plus.
- Abrechnung beim Wechsel.
- Eine Sperre ist ab Verzug mit zwei Monatsgebühren möglich, statt wie bisher ab „100 €“.
- Laufzeit und Kündigung:
- Mindestlaufzeiten wie oben. Ein Wechsel startet 12 neue Monate.
- Rückwechsel nach 3.6. Der Zusatzspeicher ist monatlich kündbar.
- „Verträge hier kündigen“ bekommt die Auswahl.
- Widerruf: Die Hinweise stehen außerhalb der Musterbelehrung:
- Das Widerrufsrecht gilt je Bestellung.
- Folgen beim Widerruf eines Wechsels.
- Beim Zusatzspeicher kein Wertersatz.
- Vertragsende: Export aller Postfächer.
- Auftragsverarbeitung:
- Gegenstand sind beide Abos, Datenart „Inhalte der Postfächer“.
- Die Nutzer der Postfächer zählen zu den Betroffenen.
- Bei Widerspruch gegen einen Unterauftragsverarbeiter wird „das Abo“ kündbar.
- TOM: „Automatische Überwachung der Erreichbarkeit“ darf nur drinstehen, wenn sie läuft (10).
8.3 Weitere Texte
| Text | Änderung |
|---|---|
Datenschutzerklärung (public/datenschutz.html + PDF) |
Abschnitt 2 „unsere Abos“. Abschnitt 7 heißt „Abos und Zahlung über Stripe“, Nachweisdaten auch bei Wechsel und Zusatzspeicher. Abschnitt 8: Postfächer „im Rahmen unserer Abos“. Abschnitt 9: „für die Abos über Stripe“. Neues Stand-Datum |
| Kündigungs- und Widerrufsseite | Auswahl nach 4.5, Bestätigungsseite (legal-form.js) |
| Bedingungen der Übernahmegutschrift | gelten für beide Abos, takeover.conditionsVersion erhöhen |
| AGB webklar.com, Leistungsmodul C | Hosting gibt es als Hosting-Abo nach den Abo-Bedingungen. Bestehende Jahresverträge behalten ihre Fassung. Nr. 9 („jährlich im Voraus“) anpassen |
| Website | /wartungs-abo aktualisieren, neue Seite /hosting-abo, Link im Footer |
| Leitfaden Empfehlungsgeber (+ PDF) | beide Abos |
| Stripe | Produktbeschreibungen, Checkout-Hinweise |
9. Mails
Diese Änderungen gehören in die laufende Überarbeitung aller Portal-Mails. Alle Texte werden produktneutral, Produktname und Leistungen kommen aus dem Katalog.
| Änderung | |
|---|---|
| K01 Vertragsbestätigung | je Produkt, mit PDF der zugestimmten Fassung |
| K02 Kündigungsbestätigung (Stripe) | Produktname. Der Hinweis auf „Abo verwalten“ ist falsch, weil die Kündigung dort aus ist |
| K03 Eingangsbestätigung Kündigung | nennt den gekündigten Vertrag (Abo oder Zusatzspeicher) |
| K04 Eingangsbestätigung Widerruf | nennt die widerrufene Bestellung |
| K05, K06 Angebote | Produkt des Angebots, Normalpreis aus dem Katalog |
| K07–K10 Übernahmegutschrift | „Ihr Abo“ statt „Wartungs-Abo“ |
| neu: Wechsel ins Wartungs-Abo bestätigt | mit PDF, Widerrufsbelehrung und neuer Mindestlaufzeit |
| neu: Zusatzspeicher bestellt oder geändert | Zusammenfassung und Wirksamkeitsdatum, beim Plus mit PDF |
| T02, T05–T09 | Produktname |
| neu intern: Wechsel | Kunde und Beträge |
| neu intern: Speicher-Aufgabe | Kunde, Postfächer, neue Größe, Fälligkeit |
10. Voraussetzungen vor dem Start
- Die Überwachung der Erreichbarkeit läuft. Beide Abos und die TOM sagen sie zu, auf dem Server ist sie heute nicht zu finden.
- Unser Hetzner-Paket ist groß genug. Welches Paket wir haben, ist noch zu prüfen.
- Die Rechtsrunde ist abgeschlossen: Version 4, Datenschutz, AGB, Formulare.
- Die produktneutralen Mails sind fertig.
- Die Stripe-Produkte sind angelegt. Ein Live-Check läuft nur mit ausdrücklicher Freigabe.
11. Reihenfolge
Die Umsetzung wird in zwei Pläne geteilt.
-
Rechtstexte als Entwurf für die Rechtsrunde. Das läuft parallel zu Plan 1.
-
Plan 1, unsichtbare Vorarbeiten. Sie können vorher live gehen, ohne sichtbare Änderung und ohne neuen Text:
- Produktkatalog
planKeyundproductKeyaus Stripe- Stunde nur fürs Wartungs-Abo
- Tests
-
Plan 2, sichtbarer Teil. Er geht gemeinsam mit Version 4 live und umfasst:
- Ansicht „Verträge“, Bestellseiten, Wechsel und Zusatzspeicher
- Formulare, Admin und Mails
- Website, AGB, Leitfaden und WOMS
Die Ansicht „Verträge“ kann nicht früher live gehen, weil § 2 der Version 3 den heutigen Bestellweg beschreibt.
-
Start:
- Stripe-Produkte anlegen
termsVersionauf Version 4 setzen, PDFs erzeugen- Portal und Website ausliefern und live prüfen
12. Tests
- Unit-Tests (
npm test):- Produktkatalog
- Stundengutschrift: Hosting-Rechnung ergibt keine Stunde, Wartungs-Rechnung 60 Minuten, Wechsel-Rechnung 60 Minuten, reine Speicheränderung keine
- Speicher-Abrechnung: Plus, Minus, erneutes Plus im selben Monat
- Mindestlaufzeit nach einem Wechsel
- Widerrufsfrist je Bestellung
- Zuordnung von Kündigung und Widerruf
- Server-Ablauf mit Appwrite-Mock, SMTP-Sink und Fake-Stripe (Aufbau wie bei den bisherigen Tests):
- Neuabschluss je Produkt
- Wechsel mit Vorschau
- Plus und Minus
- Webhooks mit mehreren Positionen
- öffentliche Kündigung und öffentlicher Widerruf
- alle Mails
- Oberfläche mit Playwright und Fixtures:
- „Verträge“ in allen Zuständen: kein Abo, Hosting, Wartung, gekündigt, Zahlungsproblem, Widerrufsfrist, Speicher in Einrichtung, Reduzierung geplant
- jeweils auf Handy und Desktop
- Pixelvergleich der übrigen Ansichten
- Textprüfung: Alle Dateien im Anhang nach „1 E-Mail-Postfach“ und nach festem „Wartungs-Abo“ durchsuchen.
13. Offene Punkte zur Durchsicht
Vorbelegt mit meinem Vorschlag, bitte bestätigen oder ändern:
- Die Übernahmegutschrift gibt es auch fürs Hosting-Abo.
- Den Wechsel gibt es nur mit sofortigem Beginn (Pflicht-Häkchen).
- Zusatzspeicher ohne Häkchen für den Sofortbeginn. Bei Widerruf erstatten wir alles.
- Laufende Angebotsrabatte laufen beim Wechsel weiter.
- Rückwechsel von Wartung zu Hosting nur auf Anfrage nach der Mindestlaufzeit. Nicht genutzte Stunden verfallen.
- Höchstens 10 Pakete Zusatzspeicher je Kunde.
- Kontaktformulare auf statischen Seiten nur über einen Dienst, den wir zentral betreiben. Zu klären: Wie laufen Formulare heute auf Kundenseiten?
- Bestandskunden mit Version 3 behalten ihre Fassung.
- Beliebig viele Postfächer bieten wir ihnen kostenlos per Mail an.
- Zusatzspeicher können sie buchen, wenn sie dabei den Regeln zum Zusatzspeicher zustimmen.
- Abo-Start mit Version 3 jetzt oder erst mit Version 4: Das hängt nicht von diesem Konzept ab.
Außerdem brauche ich Angaben zu:
- unserem Hetzner-Paket
- dem Werkzeug für die Überwachung der Erreichbarkeit, falls schon eins läuft
Anhang: Dateiliste
Kundenportal (knso/Webklar-Kundenbereich)
- Rechtstexte:
public/abo-bedingungen.htmlundpublic/WEBklar-Wartungs-Abo-Vertragsunterlagen.pdfscripts/build-legal-pdfs.shpublic/datenschutz.htmlunddocs/WEBklar-Datenschutzerklaerung.pdf
- Formulare:
public/kuendigen.html,public/widerrufen.html,public/legal-form.js - Oberfläche:
public/dashboard.html,public/app.js,public/kundenbereich.css - Admin:
public/admin.html,public/admin.js - Server:
server/config.jsserver/services/stripeBilling.js,server/services/offers.js,server/services/takeoverCredits.js,server/services/mailer.js,server/services/hourLedger.jsserver/routes/abo.js,server/routes/offers.js,server/routes/portalAdmin.js
- Einrichtung:
scripts/setup-abo-collections.mjs - Leitfaden:
docs/leitfaden-empfehlungsgeber.html(+ PDF) - Tests: neue Dateien unter
test/
Website (JUSN/Webklar)
src/pages/WartungsAbo.tsx- neu:
src/pages/HostingAbo.tsx src/App.tsx,src/components/Footer.tsx,src/pages/AGB.tsx
Ticketsystem (JUSN/tickte-system)
src/components/CreateWorksheetModal.jsx,src/components/WorksheetList.jsx,src/components/TicketRow.jsx
Außerhalb von Git
- Stripe: Produkte, Preise, Beschreibung, Konfiguration des Kundenportals
- Hetzner konsoleH: Paket, Postfach-Grenzen
- Überwachung der Erreichbarkeit