Playwright Tests / test (push) Canceled after 0s
Lets a back-office user correct/define which invoice line belongs to which "set" and how deep it is nested, instead of relying only on the implicit "everything after a Set header until the next Set" grouping fds__prepInvoice derives. Sets may contain sets; every change applies immediately to the cached draft session and is reflected in the editor and PDF (ADR 0006/0008). Backend: - InvoiceSetStructure: pure parent-link forest (assign, change level, create, place/move-sibling, depth-first linearise + level recompute). - InvoiceDraftSetStructureDeltas: new inv/dpatch targets set.assign, set.level, set.create, set.move. - InvoiceSetPricing.Build is now order-preserving and nesting-aware (governed by the nearest converted ancestor); the set-item switch sums a header's transitive descendants so nested conversions never double-count. - FuchsPdf indents nested set members per level, mirroring the editor. Frontend: - New fis.inv_sets.js: "Set-Struktur bearbeiten" dialog — per-block table of all lines with drag & drop reorder (before/after/into), ▲▼ order and ◀▶ level buttons, fold/unfold per set (view-only), and a create bar for new Set/Text lines. Posts one delta per action; the dialog is a pure view of the server state (ADR 0006). - _Layout.cshtml / fis_main.js: cache-bust the dynamically imported per-module bundles (web/fis.<mdl>.<locale>.js/.css) with an asset version derived from the newest bundle write time, so a gulp rebuild is picked up without a stale cached module. Docs: ADR 0016, live-draft-editing concept, INVOICE_SET_PRICING.md, USER_GUIDE.md, ARCHITECTURE.md updated. Tests: InvoiceSetStructureTests (new) + additions to InvoiceDraftServiceTests/InvoiceSetPricingTests. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
6.2 KiB
6.2 KiB
Fuchs Intranet — Benutzerhandbuch
Praxisleitfaden für Mitarbeiter:innen der Firma Sebastian Fuchs Bad und Heizung. Beschreibt die täglichen Abläufe im Intranet. Technische Details siehe
ARCHITECTURE.md.
1. Anmeldung & Konto
Anmelden
- Intranet im Browser öffnen.
- E-Mail-Adresse und Passwort eingeben → Anmelden.
- Die Sitzung bleibt 8 Stunden aktiv (gleitend).
Passwort vergessen
- „Passwort vergessen" wählen, Nachname und E-Mail eingeben.
- Es wird ein Bestätigungscode per SMS an die hinterlegte Mobilnummer gesendet.
- Code eingeben → das Passwort wird per E-Mail zugesandt. (Aus Sicherheitsgründen erfolgt keine Rückmeldung, ob die Adresse existiert.)
Passwort ändern
- Konto → Passwort ändern.
- Bestätigungscode per SMS anfordern und eingeben.
- Altes Passwort + neues Passwort (mind. 6 Zeichen) zweimal eingeben. Das alte Passwort und die Code-Bestätigung werden geprüft.
2. Dashboard (Widgets)
- Nach der Anmeldung erscheinen die persönlichen Widgets (Kennzahlen, Tabellen, Hinweise).
- Widgets werden aus der Datenbank gespeist; welche angezeigt werden, hängt an Ihrem Benutzerkonto.
3. Serviceaufträge (Requests)
Serviceaufträge kommen aus dem MFR-ERP-System und werden regelmäßig automatisch synchronisiert.
Typische Schritte:
- Liste öffnen (nach Datum oder Suche).
- Auftrag öffnen → Details, Positionen und ggf. bereits vorhandene Rechnungen ansehen.
- Rechnung vorbereiten (
iget/sprep): Positionen werden in eine Rechnung übernommen und als Vorschau (PDF) angezeigt. - Bei Bedarf einzelne Aufträge aus-/einblenden.
4. Rechnungen (Invoices)
Erstellen / Bearbeiten
- Aus einem Serviceauftrag eine Rechnung vorbereiten → Vorschau prüfen.
- Speichern (Entwurf) oder weiter bearbeiten. Entwürfe tragen ein Wasserzeichen.
Sets (Positionen zusammenfassen)
- Ein Set aus mfr fasst die darauf folgenden Positionen zusammen; mit „Auf Setpreis umstellen“ (Waage-Symbol an der Set-Zeile) erhält das Set die Summe seiner Positionen als Preis, die Positionen selbst werden ohne Preis gedruckt (nicht rückgängig zu machen).
- „Set-Struktur bearbeiten“ (Menü) zeigt alle Positionen je Auftrag. Positionen per Drag & Drop auf ein Set ziehen, um sie zuzuordnen; auf die Auftragszeile oder den Bereich „oberste Ebene“ ziehen, um sie aus dem Set zu lösen. Reihenfolge: Zeile an den oberen bzw. unteren Rand einer anderen Zeile ziehen (davor/danach) oder ▲ / ▼ nutzen. Mit ◀ / ▶ eine Ebene höher/tiefer. Sets lassen sich über das Dreieck zuklappen und auch zugeklappt verschieben. Sets können Sets enthalten; ein verschobenes Set nimmt seine Positionen mit. Über die Leiste „Neu“ lassen sich neue Set- oder Text-Zeilen anlegen (auch innerhalb eines Sets).
- Jede Änderung wird sofort übernommen und im Editor sowie in der Vorschau abgebildet (eingerückt je Ebene); die Rechnungssumme ändert sich dadurch nicht.
Finalisieren & Versenden
- Bestätigen/Finalisieren: Die Rechnung erhält eine Rechnungsnummer, das PDF wird erzeugt und gespeichert.
- Ist eine E-Mail-Adresse hinterlegt, wird die Rechnung automatisch als PDF-Anhang per E-Mail versendet.
- Erneut senden ist jederzeit möglich.
Hinweis Versand: Der E-Mail-/SMS-Versand läuft über die ProcessWeb-Mailer-API und ist über
Fuchs:Mailer:Enabledgeschaltet. Ist er deaktiviert, wird der Versand nur protokolliert (kein echter Versand).
Weitere Aktionen
- Bezahlt / Unbezahlt markieren.
- Storno oder Gutschrift erzeugen (einfach, als Kopie oder als Gutschrift).
- Zahlungen und Positionen zu einer Rechnung einsehen.
- Rechnungs-PDF anzeigen/herunterladen (gespeichertes Dokument oder neu erzeugt).
Was steht auf der Rechnung
Das PDF enthält Positionen, Netto/MwSt./Brutto, den GiroCode (QR zur Überweisung) sowie die gesetzlich relevanten Hinweise (u. a. §13b bzw. §35a-Lohnkostenhinweis, §14-Aufbewahrung, §48-Freistellungsbescheinigung, Steuernummer/USt-ID).
5. Zahlungserinnerungen (Reminders)
- Zu einer offenen Rechnung eine Erinnerung vorbereiten (Typ/Stufe wählen) → Vorschau.
- Finalisieren: PDF wird erzeugt; bei hinterlegter E-Mail erfolgt der Versand (Erinnerungs-PDF, ggf. inkl. Rechnungskopie, als Anhang).
- Erneut senden und Erinnerungen nachschlagen sind möglich.
6. Banking (Kontoumsätze)
Umsätze importieren
- Banking → Kontobericht hochladen.
- Datei(en) wählen. Es werden beide Formate akzeptiert:
- MT940 (SWIFT-Text:
.sta,.mt940,.txt) - CAMT (ISO 20022 XML:
.xml,.camt— camt.052/053/054)
- MT940 (SWIFT-Text:
- Das System erkennt das Format automatisch, liest die Buchungen ein und führt sie in die Kontoumsätze über.
Umsätze zuordnen
- Fragliche Überweisungen anzeigen und prüfen.
- Eine Transaktion einer Rechnung zuordnen (
ati) oder als erledigt markieren (smd). - Per Rechnungsnummer nach passenden Rechnungen suchen (
vfi).
7. DATEV-Export
- DATEV-Übersicht für einen Stichtag/Zeitraum anzeigen (Dateien, Rechnungen).
- DATEV-ZIP herunterladen — optional inkl. der Beleg-PDFs.
8. Berichte (Reports)
- Katalog öffnen — Liste aller verfügbaren Berichte mit Parametern.
- Bericht auswählen, Parameter setzen, ausführen:
- als HTML-Seite (mit optionaler automatischer Aktualisierung),
- als HTML-Inhalt (eingebettet),
- oder als Diagramm (PNG).
9. MFR-Synchronisation (Hintergrund)
- Stammdaten (Firmen, Kontakte, Serviceaufträge, Rechnungen, Belege …) werden vom Fuchs_DataService regelmäßig aus dem MFR-ERP abgeglichen.
- Administrator:innen können eine Aktualisierung anstoßen (
mfr_update) bzw. die Verknüpfung einzelner Datensätze zurücksetzen.
10. Hilfe & Support
- Bei Versandproblemen: prüfen, ob der Mailer aktiviert ist und ob eine gültige E-Mail-/Mobilnummer hinterlegt ist.
- Technische Fehler werden protokolliert (Logging/OpenTelemetry); bitte mit Uhrzeit und betroffener Aktion an die IT melden: info@processweb.de.