CSV-Import
Drei Schritte: Datei wählen → Spalten zuordnen → Vorschau & Import.
CSV vorbereiten
Excel: „Speichern unter" → CSV UTF-8 (Trennzeichen: Semikolon). Andere Trenner (Komma, Tabulator) gehen auch — im ersten Schritt umstellbar.
Erste Zeile muss Spaltenüberschriften enthalten. Sie werden im zweiten Schritt zur Auto-Zuordnung benutzt.
Pflicht- und Optional-Felder
| Feld | Pflicht? | Bemerkung |
|---|---|---|
| Artikel (Typ-Name) | ja | exakt der Name in den Stammdaten — unbekannter Name → neuer Typ |
| Kategorie | nein | nur bei neuem Typ relevant |
| Beschreibung | nein | nur bei neuem Typ relevant |
| Einheit | nein | Default Stück |
| Anzahl Instanzen | nein | leer = 1; sonst Ganzzahl 1–500 |
| Haltbar bis | nein | yyyy-mm-dd, dd.mm.yyyy, dd/mm/yyyy oder leer |
| Lagerort | nein | Freitext |
| Charge | nein | Freitext |
| Notiz | nein | Freitext |
| Einsatzmittel | nein | wenn nicht zugeordnet: Standard-Einsatzmittel aus Schritt 1 wird genutzt |
Auto-Anlage neuer Typen
Wenn der Artikel-Name nicht in den Stammdaten existiert, wird der Typ automatisch angelegt. Im Schritt-3-Plan steht „Neue Artikel-Typen: N" — vor dem Import prüfen, ob das beabsichtigt ist (sonst sind die ähnlich-aber-nicht-gleich geschriebenen Namen schuld).
Bestehende Typen werden nicht überschrieben
Wenn ein Typ schon existiert und die CSV eine andere Kategorie oder Beschreibung mitliefert, wird die nicht übernommen. Stammdaten pflegt man im Tab „Artikel-Typen", nicht durch Import.
Validierungsfehler
Schritt 3 zeigt eine rote Box mit den Fehlern: Zeilennummer + Feld + ungültiger Wert. Bei mindestens einem Fehler bleibt der Import-Button disabled. CSV korrigieren, neu hochladen.
Typische Fehler:
- invalid_date — Datum erkennt keines der drei Formate. Excel-DE liefert oft
dd.mm.yyyy. - invalid_anzahl — Anzahl ist keine Zahl oder negativ.
- unknown_verwaltung — Einsatzmittel-Spalte mit Namen, den es nicht gibt. Tippfehler oder Einsatzmittel erst noch anlegen.
- no_verwaltung — weder Spalte zugeordnet noch Standard gewählt.
Transaktion
Der Import läuft in einer einzigen Datenbank-Transaktion. Wenn irgendetwas schiefgeht, wird alles zurückgerollt. Es gibt keinen halben Import.
Vorher Backup ziehen
Bei größeren Importen: vorher die SQLite-Datei sichern. Siehe OPERATIONS.md.