Hallo, ihr zwei
Vielen Dank für eure Feedbacks! Lesestoff hatte ich schon jede Menge – zu viel, wie es scheint, sodass der Durchblick gefehlt hat. Vor allem richten sich die Dokumentationen an die Entwickler- und Bürowelt, nicht an Druckereien, die personalisierte Mailings machen... ;-)
Und ja, Thomas, die Schweiz dürfte ein zu kleiner Fleck auf dem Globus sein, dass sich ein amerikanisches Unternehmen wie Xerox (XMPie) sich zu so einer winzigen Randerscheinung Gedanken macht. Ich habe zwar meinen «Kontaktmann» angeschrieben, aber bis jetzt noch nichts gehört.
Mittlerweile seh ich aber klarer und das erst fast unmöglich erscheinende Unterfangen sieht nicht mehr so schlimm aus. Falls jemand mal die gleiche Problematik haben sollte, möchte ich meine Erkenntnisse hier etwas zusammenfassen.
Vorab: Dass nur das Basic Latin Character Set zum Einsatz kommen dürfe, war ein Missverständnis meinerseits, da dies in den Dokumentationen nicht präzise formuliert ist. Es sind wohl doch alle Latin-Sets, inkl. Umlaute, erlaubt. Yeah, ein Problem weniger!
Es wird im Prinzip drei verschiedene Typen von Rechnungen geben:
– Schweizer Standard (Ref.-Typ QRR) mit QR-IBAN und QR-Referenz, entspricht dem heutigen orangen ESR
– Internationaler Standard (Ref.-Typ SCOR) mit IBAN und Creditor Reference, entspricht vom Aufbau her dem QRR
– Einfache Zahlung (Ref.-Typ NON) mit IBAN ohne Referenz, entspricht dem heutigen roten ES, Betrag und Zahlungspflichtiger können von Hand ergänzt werden
Zum
layouterischen Aufbau der Rechnungen ist dieses PDF hilfreich:
https://www.paymentstandards.ch/...rid/style-guide.html Gestalterische Elemente gibt’s hier:
https://www.paymentstandards.ch/...d/swiss-qr-code.html https://www.paymentstandards.ch/...-grid/eckmarken.html Zum
Inhalt des Swiss QR Codes geben die Seiten 26 bis 31 dieses bereits verlinkten PDFs einen Komplettüberblick:
https://www.paymentstandards.ch/...ds/ig-qr-bill-de.pdf Der Überblick erschlägt einen erst mal einfach. Etwas konstruktiver ist Kapitel 4.4 ab Seite 32. Und so richtig erhellend sind die konkreten Beispiele in Anhang A ab Seite 38. Dazu ergänzend sind diese Zahlteil-Muster sowie dazu passenden Datenschemen:
https://www.paymentstandards.ch/...-qr-zahlteile-de.zip https://www.paymentstandards.ch/...tern-txt-dateien.zip Nicht irritieren lassen darf man sich von den Umständen, dass diese Musterbilder layouterisch nicht ganz vorgabenkonform und die Datenschema-TXT falsch kodiert sind (müssten UTF-8 sein). Aber dann erkennt man, dass gar nicht soooo viele variable Daten in den Swiss-QR-Code-Rattenschwanz gepackt werden müssen und diese mit einigen... If-Else-Routinen und Formatierungsanweisungen im Code wie auch in lesbarer Form im Layout unterzubringen sind.
Übrigens, für den Rattenschwanz: Das geforderte Elementtrennzeichen «CR + LF» (Carriage Return + Line Feed) entspricht hartem Links (Return) + weichem Links (Shift-Return): /r /n
Den Rattenschwanz zusammengebastelt und daraus ein QR-Code generiert, folgt nun der letzte nützliche Link zum Validierungstool:
https://validation.iso-payments.ch/...rrechnung/validation (schmerzfreie Registrierung erforderlich)
Hier können Textdateien wie auch QR-Codes hochgeladen und validiert werden. Bei Fehlern wird eine Meldung mit Angabe der Fehlerstelle ausgegeben. Am Beispiel des falsch codierten Muster-TXT «Datenschema deutsch.txt»:
für:
Im Idealfall aber bekommt man ein grünes Häckchen:
Wenn man das geschafft hat, darf man sich als kleines Genie fühlen und sich fragen, wie man denn nun in Zukunft die i-r-g-e-n-d-w-i-e angelieferten Exceldaten der lieben Kunden in seinen QR-Rattenschwanz bekommen wird...