Diese Betriebsanleitung beschreibt die wichtigsten Aufgaben im Admin-Portal Schritt für Schritt. Für kurze Antworten auf Einzelfragen siehe die FAQ-Hilfe.
1. Erste Schritte
Das Admin-Portal ist die zentrale Oberfläche, um Kunden, Bestellungen, Webshop-Inhalte und alle BC-Synchronisationen zu verwalten.
Login
Login über die E-Mail-Adresse + Passwort. Bei aktiver 2FA muss zusätzlich der TOTP-Code eingegeben werden.
Navigation
- Hauptmenü links: Dashboard, Produkte, Kunden, BC Kunden, Bestellungen, Abonnements, 3CX Autorenew, Hosting
- Webshop-Akkordeon: alles rund um den Online-Shop (Produkte, Bestellungen, Preisfindung, Belege, Lager, KI)
- Website-Akkordeon: Seiten, Blog, FAQ, Hersteller
- Tools-Akkordeon: Gutscheine, 3CX-Lizenzabfrage, vCenter
- Einstellungen-Akkordeon: Mail-Vorlagen, Webhooks, BC-Sync-Konfig, OIDC, Logs, Backup, Rollenverwaltung
Dashboard
Zeigt MRR, neue Bestellungen, nicht zugewiesene Aufträge und Sync-Status. Kacheln sind klickbar und führen direkt zu der zugehörigen Liste.
2. Kunden & Mapping
Im Portal werden zwei Welten verknüpft: Portal-User (mit E-Mail/Passwort-Login) und BC-Kunden (Firmen aus Business Central).
Kunden-Admins
Unter Kunden-Admins stehen alle Portal-User. Pro User ist die customerNumber (BC-Kundennummer) sichtbar. Inline-Edit ändert die Zuordnung.
BC Kunden
Unter BC Kunden stehen die Firmen aus BC (Stammdaten, Preisgruppe, Rabattgruppe). Detailseite hat einen „Belege jetzt zuordnen"-Button: ordnet alle ungemappten ShopDocuments mit dieser Customer-Nr. dem zugewiesenen Portal-User zu.
User einer Firma zuweisen
- BC-Kunden öffnen → Tab „Mitarbeiter"
- Suchfeld: vorhandenen Portal-User finden
- Klick auf Verknüpfen → die Customer-Nr. wird automatisch am User gesetzt + bestehende Belege werden zugeordnet
Wichtig
Solange ein User keiner Customer-Nr. zugeordnet ist, kann er im Customer-Portal keine Bestellungen absenden. Im Cart wird dann ein Warn-Banner angezeigt.
3. Shop-Produkte
Webshop-Produkte kommen aus Business Central – sie werden via n8n-Sync gepflegt. Alle Bearbeitungen am Stamm sollten in BC erfolgen.
Produktliste
Filter: Status, Bilder, Featured, Brand. Die Liste ist paginiert (50 pro Seite). Über Bulk-Aktionen können Status mehrerer Produkte zugleich geändert werden (z. B. Featured-Flag).
Produktdetail
- Allgemein: Name, Slug, BC-Artikelnr, Item-Discount-Group, Listenpreis
- Bilder: Drag-&-Drop, Hauptbild markieren, Icecat-Bilder über den Bulk-Button laden
- SEO: Meta-Title, Description; Bold-Tags werden bei der Anzeige automatisch normalisiert
- Optionen/Varianten: priceDelta für SHOP-Produkte, servicePrice für Subscription-Optionen
Abverkauf
BC-Artikel mit Sternen (*, **, ***) werden automatisch als discontinued markiert; clearancePrice = EK × 1,02. Kategorie „Abverkauf" wird automatisch zugewiesen.
4. Shop-Bestellungen
Webshop-Bestellungen entstehen wenn ein Kunde im Shop einkauft. Nach dem Checkout wird automatisch ein BC-Auftrag angelegt (via n8n).
Status
- pending: gerade aufgegeben
- processing: in Bearbeitung
- shipped: Versendet (Tracking-Nr per DPD-Sync)
- completed: abgeschlossen
- cancelled: storniert
Versand
Beim Statuswechsel auf shipped kann eine Tracking-Nummer eingegeben werden. DPD-Tracking-Updates kommen automatisch via n8n.
Belege-Zuordnung
Jede Bestellung kann mehrere Belege haben (Rechnungen + Gutschriften). Diese erscheinen automatisch sobald BC sie bucht und der Beleg-Sync sie ans Portal übergibt.
5. Belege & Rechnungen
Alle Rechnungen und Gutschriften aus BC werden zentral verwaltet. Diese erscheinen für den Kunden im Webshop unter „Belege".
Beleg-Übersicht
Filter nach Typ (Rechnung/Gutschrift), Suche nach Belegnr/BC-Nr, Pagination. Klick öffnet die Detailseite mit Positionen und PDF-Download (sofern vorhanden).
Initial-Sync
Der Button „Initial-Sync" oben rechts holt sämtliche bestehenden Rechnungen aus BC und legt sie im Portal an. Läuft asynchron, kann je nach Datenmenge mehrere Minuten dauern. Die Belege werden auch dann gespeichert wenn noch kein User mit der zugehörigen Customer-Nr. existiert; sobald ein User später zugeordnet wird, sieht er sie automatisch.
Reguläre Belege
Im Normalbetrieb läuft alle 15 Minuten ein Cron-n8n-Flow, der neue BC-Belege ans Portal pusht. Ein zweiter Flow lädt Stunden später die zugehörigen PDFs nach.
6. Preisfindung
Webshop → Preisfindung. Der zentrale Bereich um BC-basierte Pricing-Konflikte zu debuggen.
Preis-Tester
Customer-Nr. + Artikelnr. + Menge eingeben → das Tool zeigt:
- Welche Tabelle gewinnt (BcSalesPrice / Listenpreis-Fallback aus BcItem oder ShopProduct)
- Welche Hierarchie greift (Customer > Customer Disc. Group > All Customers)
- Alle Treffer mit Hervorhebung des gewählten Eintrags
- Den finalen Endpreis mit Formel
Browser für Stamm-Tabellen
- Verkaufspreise (BcSalesPrice): Filter nach Item-Nr, SalesCode, SalesType, Volltext. Zeilen können mit dem Trash-Icon gelöscht werden.
- Zeilenrabatte (BcSalesLineDiscount): Filter nach Code, SalesCode, Type, SalesType. Auch hier manuelles Löschen möglich.
- BC-Artikelstamm: Volltext, Discount-Group-Filter
- BC-Kunden: Mini-Lookup (E-Mail → customerNumber + Gruppen)
Sync-Verhalten
Der BC-Sync für Preise + Rabatte entfernt jetzt automatisch Einträge, die in BC gelöscht wurden (Diff über syncedAt). Wenn der Cron nicht zeitnah läuft, kann ein Eintrag manuell entfernt werden – beim nächsten Sync kommt er nicht zurück (außer er ist in BC noch da).
7. Service-Bestellungen
Service-/Hosting-Bestellungen werden im Customer-Portal aufgegeben (z. B. 3CX-Hosting-Buchung). Im Admin sehen Sie diese unter Bestellungen.
Lebenszyklus
- SUBMITTED – Kunde hat abgeschickt; E-Mail an admin + Kunde geht raus.
- PAID – Manuell setzen wenn Zahlung eingegangen.
- PROVISIONING – Auto-Provisioning läuft (BC-Bestellung + 3CX/Yeastar-Anlage).
- ACTIVE – Service läuft, Abo wird angelegt.
- SUSPENDED / CANCELLED – Bei Kündigung oder Zahlungsausfall.
Auto-Provisioning
Provisioning läuft automatisch nach SUBMITTED. Bei Fehler kann manuell retried werden – wichtig: Retry erstellt eine neue BC-Bestellung, daher nur einsetzen wenn die ursprüngliche fehlgeschlagen ist (sonst doppelter Auftrag).
8. Abonnements
Pro aktivem Service entsteht ein Abo. Verlängerung und Kündigung werden hier verwaltet.
Auto-Renewal
Abos verlängern sich automatisch um die Mindestlaufzeit. Pro Kategorie (z. B. 3CX) gibt es spezielle Renewal-Mappings, sichtbar in den Einstellungen.
Kündigung
Kunden kündigen über das Customer-Portal. Im Admin erscheint die Kündigung mit einem Datum-Stempel. Eine Bestätigungs-Mail wird automatisch generiert.
9. 3CX Autorenew
Übersicht aller 3CX-Lizenzen mit Ablaufdatum. Filter: ablaufend in 30/60/90 Tagen, bereits abgelaufen.
Verlängerungen anstoßen
- Liste filtern auf „läuft in 30 Tagen ab"
- Pro Lizenz „Renewal anstoßen" → Aufträge werden im n8n erstellt
- „Bestellung auslösen" → BC-Auftrag wird angelegt + 3CX-Renewal-API aufgerufen
Alle verifizieren (Bulk)
Der Button „Alle verifizieren" ruft pro Lizenz die 3CX-KeyInfo-API ab und aktualisiert Edition, SC-Anzahl und Ablaufdatum. Während des Laufs zeigt eine Fortschrittsanzeige die aktuelle Lizenz, Anzahl OK/Fehler und einen Abbruch-Button. Lizenzen mit Fehler bekommen ein rotes Fehler-Badge in der Tabelle (Tooltip = Original-Fehler von 3CX); der Lauf wird trotzdem fortgesetzt.
Vollständige Logs jedes Verify-Calls (Erfolg/Fehler/Dauer) finden Sie unter Einstellungen → Logs → Tab „3CX Verify".
3CX API Limit: 60 Requests pro Minute. Bei vielen Renewals erfolgt das Throttling automatisch (1,5 s zwischen Calls).
10. KI-Assistent
Der KI-Assistent unterstützt bei Produkt-Texten, SEO und Bildverwaltung. Genutzt wird Claude Sonnet via Anthropic-API.
Produkttexte
- Anreicherung: Beschreibungen + SEO-Felder generieren für Produkte ohne Text. Läuft als Hintergrund-Job, Status im Dashboard sichtbar.
- Re-Generation: Komplett neue Texte – nur einsetzen wenn aktuelle Texte schlecht sind, da Tokens kosten.
- Kategorien: KI analysiert alle aktiven Produkte und schlägt eine 8–12 Hauptkategorie-Struktur vor.
Bildersuche
Pipeline: Icecat (mit EAN, Whitelist-Domain) → SearXNG → Ollama Vision-Verifikation (qwen3-vl). Domain-Blacklist, Perceptual-Hash gegen Duplikate.
Cancel
Laufende KI-Jobs können über den „Abbrechen"-Button gestoppt werden. Der aktuelle Vorgang wird sauber zu Ende gebracht, der Rest des Batches abgebrochen.
11. Rollen & Rechte
Einstellungen → Rollenverwaltung. Nur ADMINISTRATOR-User sehen diese Seite.
Rollen-System
Multi-Rollen pro User: ein User kann z. B. SALES und BACKOFFICE gleichzeitig haben. Die Berechtigungen werden via Union zusammengeführt.
Permissions-Matrix
Pro Rolle ist eine Permission-Matrix einstellbar (13 Sektionen, Hunderte einzelne Permissions). Die Sidebar-Items werden conditional gerendert basierend auf der Permission.
Neuen Permission-Schlüssel hinzufügen
Im Code: in roles/page.tsx die Sektion erweitern + im AdminNav den neuen Menüpunkt mit permission: 'nav.…' versehen. Standard-Rollen erhalten die neue Permission auf true; andere müssen sie explizit aktivieren.
12. Einstellungen
Übersicht der wichtigsten Konfigurationspunkte unter Einstellungen.
- E-Mail Vorlagen: Template-Editor mit Variablen-Highlights, Test-Versand möglich
- Webhooks: ausgehende Hooks für Order-Events; Retries und Status-Logs sichtbar
- BC Sync: Intervalle (Stunden), Sync-Toggle pro Entität (Items, Preise, Rabatte, Companies)
- 3CX Ordering: Partner-IDs, Default-Werte für neue Aufträge
- vCenter / PBX YCM: API-Endpunkte, Credentials
- OIDC: Authentik-Verknüpfung (E-Mail-Match)
- Provisioning Flows: visuelle Übersicht der Provisioning-Schritte
- Logs: Sync-Log, Mail-Log, Provisioning-Log
- Backup & Restore: DB-Dumps anlegen, einspielen