SwissQRLink

Dynamic Link

QR-Rechnung programmatisch generieren

Binde einen individuellen Link in dein CRM, Abrechnungssystem oder Rechnungs-Template ein. Beim Öffnen entsteht eine gehostete QR-Rechnung direkt im Browser – ohne API, ohne Schlüssel, ohne Datenspeicherung.

Der Link in fünf Schritten

Der Zahlteil lebt vollständig in der URL. Du baust den Link, indem du nacheinander Parameter an die Basis-Adresse https://www.swissqrlink.ch/qr anhängst.

  1. 1

    Empfänger angeben (Pflichtfelder)

    Jeder Link beginnt mit den sieben Pflichtfeldern des Empfängers. credAccount ist eine gültige CH- oder LI-IBAN, credCountry muss zur IBAN passen.

    https://www.swissqrlink.ch/qr?credAccount=CH0209000000100013997 &credName=Max%20Muster &credAddress=Musterstrasse &credBuildingNumber=123 &credZip=8001 &credCity=Z%C3%BCrich &credCountry=CH
  2. 2

    Betrag und Währung festlegen (optional)

    amount mit Punkt oder Komma, currency entweder CHF oder EUR. Ohne Betrag bleibt das Feld auf dem Einzahlungsschein leer.

    &amount=500.00&currency=CHF
  3. 3

    Referenz zur IBAN wählen

    Die Referenzart hängt von der IBAN ab und ist die häufigste Fehlerquelle:

    • QR-IBAN (IID 30000–31999): gültige 27-stellige QR-Referenz erforderlich.
    • Normale IBAN: keine Referenz oder eine gültige Creditor Reference beginnend mit RF (ISO 11649).
    &reference=RF18 5390 0754 7034 # normale IBAN → RF-Referenz &reference=210000000003139431433899012 # QR-IBAN → 27-stellige QR-Referenz
  4. 4

    Zahlende Person und Mitteilung ergänzen (optional)

    Die fünf deb-Felder bilden die Adresse der zahlenden Person. Sobald eines davon gesetzt ist, müssen alle fünf vollständig sein – sonst wird der Link abgelehnt. additionalInformation ist die Mitteilung auf dem Einzahlungsschein.

    &debName=Maxine%20Musterine &debAddress=Demostrasse &debBuildingNumber=321 &debZip=8002 &debCity=Z%C3%BCrich &debCountry=CH &additionalInformation=Bitte%20so%20schnell%20wie%20m%C3%B6glich%20bezahlen
  5. 5

    Werte URL-kodieren und testen

    Kodiere jeden Wert mit encodeURIComponent – Leerzeichen als %20, Umlaute als %C3%BC (ü). Öffne den fertigen Link im Browser: stimmt alles, erscheint sofort der QR-Einzahlungsschein; bei einem Fehler bleibt die Seite leer.

    const link = `https://www.swissqrlink.ch/qr?${new URLSearchParams(params).toString()}`;

Link-Baukasten

Wähle pro Parameter, ob der Wert fest im Link steht oder dynamisch aus deinem Rechnungsprogramm kommt. Daraus entstehen automatisch eine Link-Vorlage mit Platzhaltern und eine fertige JavaScript-Funktion.

Fertiges Beispiel

Alle Schritte kombiniert – kopieren oder direkt öffnen.

https://www.swissqrlink.ch/qr?credAccount=CH0209000000100013997&credName=Max+Muster&credAddress=Musterstrasse&credBuildingNumber=123&credZip=8001&credCity=Z%C3%BCrich&credCountry=CH&currency=CHF&amount=500&debName=Maxine+Musterine&debAddress=Demostrasse&debBuildingNumber=321&debZip=8002&debCity=Z%C3%BCrich&debCountry=CH&additionalInformation=Bitte+so+schnell+wie+m%C3%B6glich+bezahlen&dueDate=2026-10-15
Demo öffnen

Parameter-Übersicht

ParameterPflichtBeschreibung
credAccountJaGültige CH- oder LI-IBAN, 21 Zeichen
credNameJaName oder Firma, max. 70 Zeichen
credAddressJaStrasse, max. 70 Zeichen
credBuildingNumberJaHausnummer, max. 16 Zeichen
credZipJaPostleitzahl, max. 16 Zeichen
credCityJaOrt, max. 35 Zeichen
credCountryJaCH oder LI
amountNein0.01 bis 999999999.99, Punkt oder Komma
currencyJaCHF oder EUR
debNameNein*Name oder Firma, max. 70 Zeichen
debAddressNein*Strasse, max. 70 Zeichen
debBuildingNumberNein*Hausnummer, max. 16 Zeichen
debZipNein*Postleitzahl, max. 16 Zeichen
debCityNein*Ort, max. 35 Zeichen
debCountryNein*ISO-Ländercode mit zwei Buchstaben
referenceNein**QR-Referenz oder gültige RF-Referenz
additionalInformationNeinMitteilung, maximal 140 Zeichen
dueDateNeinZahlbar bis, Format JJJJ-MM-TT – wird nur angezeigt, nicht im QR-Code

* Sobald ein Schuldnerfeld gesetzt ist, muss die gesamte Schuldneradresse übermittelt werden.

** QR-IBAN (IID 30000–31999): gültige 27-stellige QR-Referenz erforderlich. Normale IBAN: keine Referenz oder gültige Creditor Reference (RF).

Wichtig

Alle Werte müssen URL-kodiert werden. Die Daten werden nicht gespeichert und bleiben Bestandteil des Links. Teile den Link deshalb nur mit den vorgesehenen Personen.

Häufige Fragen

Brauche ich eine API oder einen Schlüssel?
Nein. Der Zahlungslink besteht ausschliesslich aus URL-Parametern. Es gibt keine Registrierung, keinen Schlüssel und kein Rate-Limit.
Wo werden die übergebenen Daten gespeichert?
Nirgends. Alle Angaben bleiben Bestandteil des Links und werden erst im Browser der empfangenden Person zum Zahlteil verarbeitet.
Wie gehe ich mit Referenzen um?
Bei einer QR-IBAN (IID 30000–31999) übergibst du eine gültige 27-stellige QR-Referenz. Bei einer normalen IBAN lässt du die Referenz weg oder verwendest eine RF-Referenz nach ISO 11649.
Was passiert bei fehlerhaften Parametern?
Die Angaben werden beim Öffnen geprüft. Fehlt ein Pflichtfeld oder passt die Referenzart nicht zur IBAN, wird die Rechnung nicht erzeugt – prüfe in diesem Fall die URL-Kodierung der Werte.