Systemdesign\Applikation oder autom. Workflow zum Import von Eingangs‐Rechnungen (E‐Rechnung berücksichtigen) (Max&Manuel) - notrautmann/TINF23CS1 GitHub Wiki
Systemkomponenten – Übersicht
wird in das Rechnungsprogramm von Gruppe 10 eingebunden (UI wird nicht von uns gehandhabt)
Verwende PHP (zugferd library gibt es nur für PHP)
Datenbank
- SQL Tabelle "invoices"
- invoices als Zeilen
- Spalten:
- invoiceId (primary key)
- supplierName
- supplierAddress
- companyName
- companyAdrdress
- invoiceDate
- invoiceNumber
- description
- quantity
- unitPrice
- totalPrice
- VAT
- paymentTerms
Flow
Supplier sendet Rechnungsmail Manuelle Rechnung wird erstellt
| (Frontend)
| |
v v
Mail wird geparsed API Aufruf
(unterstützt xRechnung,ZUGFeRD, Factur-X) |
| |
v |
Eintrag in DB hinzugefügt <-----+
|
v
Rechnung wird im Frontend angezeigt
(eventuell Warnung im Frontend bei unbekannten Supplier)
|
v
(Frontend fordert Rechnungsbegleichung)
API aufruf mit invoiceID
|
v
tätige Zahlung mit payment provider (stripe?)
APIs
Mail Input
- verwendet von SMTP Regel + mailparser (mailparser.io, Microsoft Power Automate)
- kein Auth (nur Import, Rechnungsprogramm(10) für Legitimitätschecks verantwortlich)
- e-Rechnung Parser (github.com/horstoeko/zugferd.git)
- Validierung (haben Felder gültige Werte) (Whitelist Checks im Rechnungsprogramm(10))
- (evtl.) Aktualisierungs-API Aufruf Rechnungsprogramm (10)
Manuelle Rechnungserstellung
- könnte evtl. auch als direkter SQL Aufruf von der Applikation gemacht werden
- REST API '{"invoiceId": "", "supplierName": "", "supplierAddress": "", "companyName": "", ...}'
- SQL Aufruf um invoice zu erstellen
Rechnungsbegleichung
- REST API '{"invoiceId": ""}'
- invoice von DB holen
- payment provider (stripe ?)