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

  1. BC-Kunden öffnen → Tab „Mitarbeiter"
  2. Suchfeld: vorhandenen Portal-User finden
  3. 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

  1. SUBMITTED – Kunde hat abgeschickt; E-Mail an admin + Kunde geht raus.
  2. PAID – Manuell setzen wenn Zahlung eingegangen.
  3. PROVISIONING – Auto-Provisioning läuft (BC-Bestellung + 3CX/Yeastar-Anlage).
  4. ACTIVE – Service läuft, Abo wird angelegt.
  5. 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

  1. Liste filtern auf „läuft in 30 Tagen ab"
  2. Pro Lizenz „Renewal anstoßen" → Aufträge werden im n8n erstellt
  3. „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