Define AI analysis specification, prompt and evaluation cases

This commit is contained in:
admin committed 2026-09-08 10:49:12 +02:00
1 parent b3be368594
commit 4ee0e17b8d
3 files changed
+175

No files matched your search

+83
View File
@@ -0,0 +1,83 @@
# Rechnungsschnittstelle – Version 1
Diese Spezifikation beschreibt synthetische Rechnungsimporte
für das Eigenprojekt ImportAssist.
## CSV-001: Dateistruktur
Die Kopfzeile muss lauten:
InvoiceId;CustomerId;Amount;Currency
Jede Datenzeile enthält genau vier durch Semikolon getrennte
Felder. Anführungszeichen und Zeilenumbrüche innerhalb eines
Feldes werden nicht unterstützt.
Bei einem Strukturfehler wird die gesamte Datei abgewiesen.
Die fachliche Prüfung der Rechnungen beginnt dann nicht.
## INV-001: Rechnungsnummer
InvoiceId muss vorhanden sein und darf nicht ausschließlich
aus Leerzeichen oder anderen Whitespace-Zeichen bestehen.
Bei einem Fehler ist die Rechnungsnummer anhand des
Ursprungsbelegs oder des Quellsystems zu ermitteln.
Es darf keine Rechnungsnummer erfunden werden.
## INV-002: Kundennummer
CustomerId muss vorhanden sein und darf nicht ausschließlich
aus Whitespace-Zeichen bestehen.
Bei einem Fehler ist die Kundenzuordnung anhand des
Ursprungsbelegs oder des Quellsystems zu prüfen.
Der vorliegende Prüfbericht enthält keine Kundenstammdaten.
## INV-003: Zahlenformat des Betrags
Amount wird zunächst als Text übernommen.
Die Prüfung verwendet decimal.TryParse mit InvariantCulture.
Erlaubt sind ein führendes Vorzeichen und ein Dezimalpunkt.
Tausendertrennzeichen und Exponentialschreibweise sind
nicht erlaubt.
Beispiele:
- 125.50 ist numerisch gültig.
- abc ist keine gültige Zahl.
- 125,50 entspricht nicht dem vereinbarten Zahlenformat.
Ein ungültiger Betrag muss anhand der Quelldaten geklärt werden.
Eine automatische Umdeutung des Zahlenformats ist nicht vorgesehen.
## INV-004: Positiver Betrag
Der numerisch gültige Betrag muss größer als null sein.
Null und negative Beträge werden zurückgewiesen.
Gutschriften sind in dieser Version nicht abgebildet.
Ein negativer Betrag darf nicht automatisch positiv gemacht werden.
## INV-005: Währung
Currency wird übernommen, aber bislang nicht fachlich geprüft.
Ein erfolgreiches Prüfergebnis bestätigt daher keine gültige Währung.
## REP-001: Bedeutung des Prüfberichts
Completed bedeutet, dass die fachliche Prüfung abgeschlossen ist.
Einzelne Rechnungen können dabei fehlerhaft sein.
Rejected bedeutet, dass die Dateistruktur abgewiesen wurde.
Die Ursache steht in fileErrors; rows bleibt leer.
Die Zähler geben dann keine Auskunft über die Gültigkeit
der ursprünglichen Rechnungen.
LineNumber bezeichnet die ursprüngliche CSV-Zeile einschließlich
der Kopfzeile.
## Grenzen
Die Prüfung umfasst bislang keine Kontrolle auf Dubletten,
existierende Kunden oder sachlich richtige Rechnungsbeträge.
Es werden keine Rechnungen gebucht.