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>
143 lines
6.2 KiB
Markdown
143 lines
6.2 KiB
Markdown
# 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
|
|
1. Intranet im Browser öffnen.
|
|
2. E-Mail-Adresse und Passwort eingeben → **Anmelden**.
|
|
3. Die Sitzung bleibt 8 Stunden aktiv (gleitend).
|
|
|
|
### Passwort vergessen
|
|
1. „Passwort vergessen" wählen, **Nachname** und **E-Mail** eingeben.
|
|
2. Es wird ein Bestätigungscode per **SMS** an die hinterlegte Mobilnummer gesendet.
|
|
3. Code eingeben → das Passwort wird per E-Mail zugesandt.
|
|
*(Aus Sicherheitsgründen erfolgt keine Rückmeldung, ob die Adresse existiert.)*
|
|
|
|
### Passwort ändern
|
|
1. Konto → **Passwort ändern**.
|
|
2. Bestätigungscode per SMS anfordern und eingeben.
|
|
3. 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:**
|
|
1. **Liste** öffnen (nach Datum oder Suche).
|
|
2. Auftrag öffnen → Details, Positionen und ggf. bereits vorhandene Rechnungen ansehen.
|
|
3. **Rechnung vorbereiten** (`iget`/`sprep`): Positionen werden in eine Rechnung übernommen und als Vorschau (PDF) angezeigt.
|
|
4. Bei Bedarf einzelne Aufträge **aus-/einblenden**.
|
|
|
|
---
|
|
|
|
## 4. Rechnungen (Invoices)
|
|
|
|
### Erstellen / Bearbeiten
|
|
1. Aus einem Serviceauftrag eine Rechnung **vorbereiten** → Vorschau prüfen.
|
|
2. **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
|
|
1. **Bestätigen/Finalisieren**: Die Rechnung erhält eine Rechnungsnummer, das PDF wird erzeugt und gespeichert.
|
|
2. Ist eine E-Mail-Adresse hinterlegt, wird die Rechnung **automatisch als PDF-Anhang** per E-Mail versendet.
|
|
3. **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:Enabled` geschaltet. 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)
|
|
1. Zu einer offenen Rechnung eine **Erinnerung vorbereiten** (Typ/Stufe wählen) → Vorschau.
|
|
2. **Finalisieren**: PDF wird erzeugt; bei hinterlegter E-Mail erfolgt der Versand
|
|
(Erinnerungs-PDF, ggf. inkl. Rechnungskopie, als Anhang).
|
|
3. **Erneut senden** und **Erinnerungen nachschlagen** sind möglich.
|
|
|
|
---
|
|
|
|
## 6. Banking (Kontoumsätze)
|
|
|
|
### Umsätze importieren
|
|
1. Banking → **Kontobericht hochladen**.
|
|
2. 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)
|
|
3. 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)
|
|
1. **Katalog** öffnen — Liste aller verfügbaren Berichte mit Parametern.
|
|
2. 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](mailto:info@processweb.de).
|