Kuonen.PDFTools Prüfstand 1.1436.0 · M1436
↓ Download
↓ Notes (PDF)
↓ Roadmap (PDF)
♫ Noten-Editor

QR-Rechnung

Der vollständige Zahlteil mit Empfangsschein nach dem Style Guide von SIX — 210 × 105 mm an der unteren Blattkante, mit QR-Code, Schweizerkreuz, festen Feldtiteln in vier Sprachen und den Leerfeldern mit Eckmarken. Werte hinterlegen, sofort sehen. Ein ungültiger Datensatz wird laut abgelehnt — eine falsche IBAN oder eine QR-IBAN ohne QR-Referenz erscheint als Fehler, nicht als hübsch gesetzter, unbrauchbarer Zahlteil.
Zahlungsempfänger und Betrag
QR-IBAN (Institut 30000–31999) verlangt QRR; eine normale IBAN verlangt SCOR oder NON.
Zahlungsempfänger (Adresse)
Zahlungspflichtiger (leerer Name = Leerfeld)
  • Nutzdaten: 223 Zeichen
  • Bericht: leer — alles vollstaendig gedruckt.
  • Hinweis: Der allgemeine Preflight ist fuer eine QR-Rechnung nicht der richtige Bericht (Helvetica ist laut SIX Style Guide zugelassen und nicht einzubetten; die 5-mm-Ruhezone kommt aus dem Layout). Gezeigt wird der fachlich passende SwissQrBillLayoutReport.
  • Weg: direkt ueber die Zeichen-API (DrawSwissQrBillAtPageBottom) an dieselbe Stelle. Unten am Quelltext auf »Fassade« umschalten.
  • 6,005 Byte
  • Ladestatus: Success
  • 1 Seite(n)
Berichte zu diesem Lauf
QR-Rechnung — gekuerzte Angaben Kuonen.PDFTools.QrBill.SwissQrBillLayoutReport ohne Befund

Der Zahlteil hat eine feste Groesse, die Werte aus dem Swiss QR Code haben keine. Was nicht hineinpasste, wurde gekuerzt und mit »…« gekennzeichnet — und hier gemeldet, statt still verschluckt.

Bericht leer — alle Angaben wurden vollstaendig gedruckt.

Quelltext — ausgeschnitten aus der eingebetteten Beispieldatei, nicht abgetippt
using Kuonen.PDFTools.Authoring;
using Kuonen.PDFTools.Pages;
using Kuonen.PDFTools.Barcodes;
using Kuonen.PDFTools.QrBill;

var bill = new SwissQrBill
{
    Iban = "CH4431999123000889012",
    Currency = "CHF",
    ReferenceType = SwissQrReferenceType.Qrr,
    Reference = "210000000003139471430009017",
    Creditor = SwissQrAddress.Structured(
        "Max Muster & Soehne", "Musterstrasse", "123",
        "8000", "Seldwyla", "CH"),
};

bill.Amount = 2500.25m;

bill.UltimateDebtor = SwissQrAddress.Structured(
    "Simon Muster", "Musterstrasse", "1",
    "8000", "Seldwyla", "CH");

var options = new SwissQrBillLayoutOptions { Language = SwissQrBillLanguage.German };

var builder = new PdfDocumentBuilder { Title = "QR-Rechnung" };
PageCanvas page = builder.AddPage(PageSize.A4);

// Der Zahlteil sitzt an der unteren Blattkante — die einzige zulaessige Stelle.
page.DrawSwissQrBillAtPageBottom(bill, options);

byte[] pdf = builder.Build();