diff --git a/m122/LB2-projekt/M122_LB2_Aufgabenstellung-AblaufProzess-Dok-Bewertung.md b/m122/LB2-projekt/M122_LB2_Aufgabenstellung-AblaufProzess-Dok-Bewertung.md deleted file mode 100644 index a380c48..0000000 --- a/m122/LB2-projekt/M122_LB2_Aufgabenstellung-AblaufProzess-Dok-Bewertung.md +++ /dev/null @@ -1,291 +0,0 @@ -**INHALTSVERZEICHNIS** - -[1. Generelles](#_Toc42613952) - -[2. Partner](#_Toc42613953) - -[3. Auftrag](#auftrag) - -[4. Artefakte](#_Toc42613955) - -[5. Bewertung](#bewertung) - -[6. Anhang](#anhang) - -# Generelles - -## Was ist e-Bill - -E-Bill ist ein System, was von SIX Payment AG und PostFinance AG gemeinsam -betrieben wird. Alle wichtigen Banken (über 80 Banken, Stand 2015) und alle -Postkonti (rote Einzahlungsscheine) sind hier angeschlossen. Genauere -Informationen bei oder auch - - -Aus Sicht des Verbrauchers (Endkunde/Käufer/Zahler/Payer) treffen die -e-Rechnungen genau im Zahlungs-Bereich des e-Banking-Systems ein. Eintreffende -e-Rechnungen werden von e-Banking-System dem Verbraucher angezeigt. Mit einem -Klick zu der Übersicht der e-Rechnungen und einem zweiten Klick für die -Zahlungs-Terminbestätigung wird die Rechnung zur Zahlung freigegeben. Dem -Verbraucher werden alle Zahlungs- und Empfängeridentifizierende Informationen, -die beim Abschreiben des Einzahlungsscheins abverlangt werden würden, -abgenommen. - -# Partner - -## Übersicht - -![Ein Bild, das Outdoorobjekt enthält. Automatisch generierte -Beschreibung](media/222e439a384ca8acd42e0d2087235ce8.png) - -Die Pfeile blauen zeigen die Dokumenten-Fluss-Richtung der Rechnung, die grünen -Pfeile die Quittungen und die gestrichelten grünen Pfeile zeigen den -(Be-)Zahlungsfluss. - -# Auftrag - -## Ausgangslage - -Sie sind Informatiker bei einem Detaillisten in der Schweiz, der sowohl -Präsenzgeschäft/-läden mit Kassen wie auch einen Onlinehandel betreibt. Als -Neuerung will Ihr Arbeit-/Auftraggeber für die Endkunden (Verbraucher/Consumer) -die Rechnungsstellung und Bezahlung über e-Bill anbieten. Die Endkunden können -Ihre Waren gleich mitnehmen und bekommen im Nachhinein eine Rechnung und in -ihrem E-Banking-System eine Zahlungsaufforderung, um per Mausklick die Zahlung -auszulösen. - -## Ihre Aufgabe - -Sie bekommen auf dem System des Rechnungsstellers in einem eigenen Format direkt -von den Kassensystemen Rechnungsdateien mit allen Informationen, die es für die -Rechnungsstellung über e-Bill braucht. Sie holen diese per FTP ab und erstellen -daraus - -1. eine Rechnung im Klartext (Zur Vereinfachung nur als Text-Format, produktiv - wäre das ein PDF) - -2. eine Rechnung im XML-Format für das SIX-PaymentServices-Format (Schweizer - Marktleader) - -Diese beiden Dateien geben Sie per FTP in das «Zahlungssystem» ab. Dann erfolgt, -für Sie im Hintergrund die Weiterleitung ins Bankensystem. Ob das geklappt hat, -wissen Sie in dem das Zahlungssystem eine Quittungsdatei produziert und Ihnen -zur Verfügung stellt. - -Ihrem Kunden (dem Rechnungssteller) stellen Sie diese Quittungsdatei sowohl per -E-Mail wie auch im Rechnungsstellungs-System in einem Archiv zur Verfügung damit -er überprüfen kann, ob die Rechnung verschickt wurde. - - (Passwort auf html-Seite: tbz) - - -![Ein Bild, das Outdoorobjekt enthält. Automatisch generierte -Beschreibung](media/222e439a384ca8acd42e0d2087235ce8.png) - - (Passwort: tbz) - - - -## Arbeitsschritte - -1. Automatisches (regelmässiges) Abholen der Rechnungsaufträge des - Kunden/Rechnungssteller (Abholserver) inkl. dem Löschen der Datei auf dem - Abholserver per FTP (Kundensystem**/out/**[KlasseUndIhrNachname]) - FTP-Server: ftp.haraldmueller.ch - Benutzer: schoolerinvoices - Passwort: Berufsschule8005! - -2. Verarbeitung der Rechnungsaufträge zu einer korrekten und druckbaren - Papierrechnung (…invoice.txt) und einer maschinell verarbeitbaren - XML-Rechnung (…invoice.xml) - -3. Abgabe der Rechnung als TXT und XML auf dem Abgabeserver - (Zahlungssystem**/in/**[KlasseUndIhrNachname]) per FTP - FTP-Server: ftp.coinitorei.com - Benutzer: zahlungssystem - Passwort: Berufsschule8005! - -4. Abholen der Quittung beim Abgabeserver - (Zahlungssystem**/out/**[KlasseUndIhrNachname]) per FTP - -5. Erstellung der Bestätigungsmeldungen (Quittung und geschickte Rechnung) per - Mail und als Archiv-Datei (ZIP) auf dem Kundenserver - (Kundensystem**/in/**[KlasseUndIhrNachname]). - -Alle Arbeitsschritte laufen über ein **Skript**, das über eine Zeitsteuerung -(‘crontab’ im Linux / ‘Aufgabenplaner’ im Windows). - -Machen Sie für die Schritte 1.) 2.) 3.) ein Skript und ein zweites Skript für -die Schritte 4.) und 5.). - -# Artefakte - -## Artefakt der ‘Anlieferung’ - -Zur Anlieferung sind primär Text-Dateien vorgesehen, die ein Inhalt im -csv-Format ({semi}colon separated values ‘;’) haben. Es wird pro Rechnung eine -Datei angeliefert. - -Sie können einen Dateinamen mit dem Namen ‘rechnung[RGNummer].data’ erwarten. -(Konkret ‘**rechnung21003.data’**). - -## Artefakte der ‘Abgabe’ - -An den Zahlungs-Provider des Schweizer Zahlungsverkehrs (PostFinance / SIX -Payment Services) muss pro Rechnung eine menschenleserliche TXT und eine -schnittstellenkonforme XML-Datei abgegeben werden. - -Die Dateien müssen einen bestimmten Namen haben. - -- [**Kunden**nummer]_[**Rechnung**snummer]_invoice.xml (Konkret - ‘**K821_21003_invoice.xml**’) - -- [**Kunden**nummer]_[**Rechnung**snummer]_invoice.txt (Konkret - ‘**K821_21003_invoice.txt**’) - -Testfiles können Sie finden unter: - - -## Kontrollen - -Bauen Sie Kontrollen ein, um festzustellen, ob «die» Rechnung richtig -verarbeitet wurde, bzw. ob und wann und wie ein allfälliger Abbruch -stattgefunden hat. Am einfachsten sind Log-Files. - -## Konfiguration - -Gut ist, wenn das System ‘von aussen’ konfiguriert / eingestellt werden kann -(separates Config-File). - -# Bewertung - -## Funktionalität - -Die Bewertung geschieht über einen Live-Test mit von der Lehrperson erstellten -Test-Dateien. Es gibt eine normale ‘richtiges’ Testdatei und eine Testdatei, die -unmöglich zu verarbeiten ist. Dabei wird geschaut, ob das System korrekt läuft. -Die korrekt Testdatei soll richtig verarbeitet werden. Die inkorrekte Testdatei -darf nicht verarbeitet werden. Dies müssen Sie nachvollziehen können. - -## Dokumentation - -Kurze textliche Dokumentation, eine Skizze über Ihr Skript-System und den Ablauf -als UML-Ablaufdiagramm / Funktionendiagramm. - -## Benotung - -**Note 4:** -Viele Teile der Vorgabe wurden erreicht, aber es fehlt noch etwas damit alles -automatisch funktioniert. - -**Note 5:** -Das System funktioniert aus Sicht des Kunden, wenn alles richtig definiert war -(keine Fehler in der Rechnungsdatei oder wenn die Quittung nicht vom -Zahlungssystem bereitgestellt wurde). - -**Note 6:** -Komplette Verarbeitung der Vorgaben inklusive Log-Dateien zur Rekonstruktion des -Ablaufes. -Alle Abläufe sind automatisiert und können per Konfigurationsdatei beeinflusst -werden (FTP-Server Einstellungen). -Es sind diverse Sicherheitsmechanismen eingebaut (Fehlermeldungen mit -aussagekräftigem und nützlichem Inhalt). - -# Anhang - -## Inhalt und Beschreibung eines Rechnungsauftrags (Input) - -| Dateiname | rechnung21003.data | -|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Inhalt | Rechnung_21003;Auftrag_A003;Zürich;21.07.2021;10:22:54;ZahlungszielInTagen_30 Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau RechnPos;1;Einrichten E-Mailclients;5;25.00;125.00;MWST_0.00% RechnPos;2;Konfig & Schulung Scanningcnter;1;1000.00;1000.00;MWST_0.00% | - -**Zeile 1: (Rechnungs-Grundinformationen)** - -Rechnung_21003;Auftrag_A003;Zürich;21.03.2021;10:22:54;ZahlungszielInTagen_30 - -\- Zeilenkennung ("Rechnung" inkl. Rechnungsnummer); -\- Auftragsnummer ("Auftrag" inkl. Nummer); -\- Absendeort (Erzeugung); -\- Rechnungsdatum(Erzeugung); -\- Rechnungszeit(Erzeugung); -\- Zahlungsziel (hier 30 Tage) -\> also ist zu berechnen 21.3.2021 plus 30 Tage = -20.4.2021 - -**Zeile 2: (Herkunft/Absender der Rechnung)** - -Herkunft;41010000001234567;K821;Adam;Adam Adler;Bahnhofstrasse 1;8000 -Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch - -\- Zeilenkennung ("Herkunft" =Absender, =Rechnungssteller, =Geldempfänger) - -\- Party-ID Rechnungssteller (=Kundennummer beim Zahlungssystem) - -\- Kundennummer beim Rechnungssteller (Herkunft) - -\- Name (Herkunft) - -\- Adresse (Herkunft) - -\- Postleitzahl und Ort (Herkunft) - -\- Firmen-/Unternehmens-ID inkl. Mehrwertsteuerkennung (Herkunft) - -\- Email-Adresse (Herkunft) - -**Zeile 3: (Endkunde/Adressat der Rechnung)** - -Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau - -\- Zeilenkennung ("Endkunde" =Empfänger der Rechnung, =Bezahler =hat Produkte -bezogen) - -\- Kunden-ID beim Zahlungssystem-Provider - -\- Name (Empfänger) - -\- Adresse (Empfänger) - -\- Postleitzahl und Ort (Empfänger) - -**Zeile 4 und weitere Zeilen (Rechnungspositionen, mehrere: 1 bis n):** - -RechnPos;2;Konfig & Schulung Scanningcnter;1;1200.00;1200.00;MWST_0.00% - -\- Zeilenkennung ("RechnPos" =Eine Rechnungsposition) - -\- Rechnungspositionsnummer - -\- Rechnungspositionsbezeichnung - -\- Menge/Anzahl in der Einheit (Stück, Std, Liter, Meter, m2, usw.) - -\- Preis pro Einheit - -\- Menge mal Preis pro Einheit (fertig gerechnet) - -\- Mehrwertsteuer-Satz (zur Vereinfachung nur 0-%-tige Mehrwertsteuer) - -## Inhalt einer Rechnung (TXT-Output) - -| Dateiname | **K821**\_**21003**\_invoice.txt | -|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Inhalt | Adam Adler Bahnhofstrasse 1 8000 Zuerich CHE-111.222.333 MWST Uster, den 21.07.2021 Autoleasing AG Gewerbestrasse 100 5000 Aarau Kundennummer: **K821** Auftragsnummer: A003 Rechnung Nr **21003** ----------------------- 1 Einrichten E-Mailclients 5 25.00 CHF 125.00 0.00% 2 Konfig & Schulung Scanningcenter 1 1200.00 CHF 1200.00 0.00% ----------- Total CHF 1325.00 MWST CHF 0.00 Zahlungsziel ohne Abzug 30 Tage (20.08.2021) Einzahlungsschein 1325 . 00 1325 . 00 Autoleasing AG Gewerbestrasse 100 0 00000 00000 00000 5000 Aarau Autoleasing AG Gewerbestrasse 100 5000 Aarau | - -(leere Linien und leere Zeichen sind wichtig und dienen der Positionierung) - -## Inhalt einer Rechnung (XML-Output) - -| Dateiname | K821_21003_invoice.xml | -|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Inhalt | \ \ \ \**41010000001234567**\ \ \ \**41301000000012497**\ \ \ \ \ \ \ \ \ \ \ \ \**202107164522001**\ \**20210731**\ \ \ \ \**20210731**\ \ \ \ \ \**21003**\ \**20210731**\ \ \ \ \ \**A003**\ \**20210731**\ \ \ \ \ \\ \\ \ \ \ \ \**202107164522001**\ \**20210731**\ \ \ \ \ \**CHE-111.222.333 MWST**\ \\ \ \**41010000001234567**\ \ \ \ \**Adam Adler**\ \**Bahnhofstrasse 1**\ \**8000 Zürich**\ \\ \\ \ \ \\ \\ \\ \ \\ \\ \\ \\ \ \ \\ \\ \001996\ \ \ \ \ \**41301000000012497**\ \ \ \ \**Autoleasing AG**\ \**Gewerbestrasse 100**\ \**5000 Aarau**\ \\ \\ \ \ \\ \\ \\ \ \\ \\ \\ \\ \ \ \ \ \ \ \**0000135000**\ \ \ \\ \ \ \\ \ \\ \\ \ \ \ \\ \ \ \ \\ \ \0\ \\ \ \ \ \ \**30**\ \**20210830**\ \ \ \ \0.0\ \ \\ \\ \ \ \ \ \ \ \ \ | - -## Inhalt & Form der Mail - -![](media/410696c49377f26941058e6c1e54384a.png) -![](media/872c95ea436e1d275c57a7c912634701.png) - -- Anstelle von **Vorname** **Nachname** machen Sie natürlich Ihr richtiger - Name rein! - -- [**Kunden**nummer]_[**Rechnung**snummer].zip (Konkret ‘**K821_21003.zip**’ - –\> gleich wie invoice.txt) diff --git a/m122/LB2-projekt/README.md b/m122/LB2-projekt/README.md index e69de29..ed5f41b 100644 --- a/m122/LB2-projekt/README.md +++ b/m122/LB2-projekt/README.md @@ -0,0 +1,18 @@ +# Aufgabe "Lieferung ins Zahlungssystem" + + (Passwort auf html-Seite: tbz) + + + FTP-Server: ftp.haraldmueller.ch + Benutzer: schoolerinvoices + Passwort: Berufsschule8005! + + + + (Passwort: tbz) + + + + FTP-Server: ftp.coinitorei.com + Benutzer: zahlungssystem + Passwort: Berufsschule8005! diff --git a/m122/LB2-projekt/media/222e439a384ca8acd42e0d2087235ce8.png b/m122/LB2-projekt/media/222e439a384ca8acd42e0d2087235ce8.png deleted file mode 100644 index 1e429b7..0000000 Binary files a/m122/LB2-projekt/media/222e439a384ca8acd42e0d2087235ce8.png and /dev/null differ diff --git a/m122/LB2-projekt/media/410696c49377f26941058e6c1e54384a.png b/m122/LB2-projekt/media/410696c49377f26941058e6c1e54384a.png deleted file mode 100644 index ecf8544..0000000 Binary files a/m122/LB2-projekt/media/410696c49377f26941058e6c1e54384a.png and /dev/null differ diff --git a/m122/LB2-projekt/media/872c95ea436e1d275c57a7c912634701.png b/m122/LB2-projekt/media/872c95ea436e1d275c57a7c912634701.png deleted file mode 100644 index 9f80f2d..0000000 Binary files a/m122/LB2-projekt/media/872c95ea436e1d275c57a7c912634701.png and /dev/null differ diff --git a/m122/LB2-projekt/~$22_LB2_Aufgabenstellung-AblaufProzess-Dok-Bewertung.docx b/m122/LB2-projekt/~$22_LB2_Aufgabenstellung-AblaufProzess-Dok-Bewertung.docx deleted file mode 100644 index 718b82f..0000000 Binary files a/m122/LB2-projekt/~$22_LB2_Aufgabenstellung-AblaufProzess-Dok-Bewertung.docx and /dev/null differ