feat(lexware): add integration foundation

This commit is contained in:
Schubert Ferenc 2026-07-05 13:10:27 +02:00
parent 8d37eb29b3
commit ffffb68898
28 changed files with 1150 additions and 11 deletions

View file

@ -166,6 +166,48 @@ Hermes
Athena ist die einzige API-Oberflaeche fuer den Browser.
## Lexware Office Integration
Ab v0.8.9 besitzt Olympus eine Lexware-Office-Foundation.
Verantwortlichkeiten:
- Olympus bleibt Werkstatt-ERP fuer Kunden, Reparaturen, Lager und Kostenvoranschlaege.
- Lexware Office bleibt fuehrend fuer Buchhaltung, Rechnungen, Steuer, DATEV und EÜR.
- Eine automatische Rechnungserstellung findet in v0.8.9 noch nicht statt.
Komponenten:
- Hermes speichert Lexware-Konfiguration in `system_settings`.
- Der API-Key ist ein Secret und wird nie an Athena zurueckgegeben; Athena sieht nur `api_key_is_set`.
- Env-Fallbacks sind `LEXWARE_ENABLED`, `LEXWARE_API_BASE_URL` und `LEXWARE_API_KEY`.
- Hermes testet die Verbindung serverseitig ueber `GET /v1/profile` an der Lexware Public API unter `https://api.lexware.io`.
- Freigegebene KVs koennen manuell fuer eine spaetere Lexware-Rechnung vorbereitet werden.
Datenfluss:
```text
Browser -> Athena /api/lexware/... -> Hermes -> Lexware Office
Browser -> Athena /api/repairs/.../lexware/prepare-invoice -> Hermes -> PostgreSQL
```
Der Browser ruft Lexware nie direkt auf. Vorbereitete Exporte werden in `lexware_sync_records` dokumentiert.
Neue zentrale Endpunkte:
- `GET /lexware/settings`
- `PUT /lexware/settings`
- `POST /lexware/test-connection`
- `POST /repairs/{repair_id}/estimates/{estimate_id}/lexware/prepare-invoice`
RBAC:
- `lexware.read`
- `lexware.manage`
- `lexware.export`
Techniker erhalten keine Lexware-Rechte. Management und Administratoren koennen die Integration nutzen.
## Dashboard
Das Dashboard liegt in Athena unter `/dashboard` und bezieht seine Daten ueber die BFF-Route `GET /api/dashboard/summary`.