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
Empfänger angeben (Pflichtfelder)
Jeder Link beginnt mit den sieben Pflichtfeldern des Empfängers.
credAccountist eine gültige CH- oder LI-IBAN,credCountrymuss 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
Betrag und Währung festlegen (optional)
amountmit Punkt oder Komma,currencyentwederCHFoderEUR. Ohne Betrag bleibt das Feld auf dem Einzahlungsschein leer.&amount=500.00¤cy=CHF - 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
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.additionalInformationist 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
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¤cy=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-15Parameter-Übersicht
| Parameter | Pflicht | Beschreibung |
|---|---|---|
| credAccount | Ja | Gültige CH- oder LI-IBAN, 21 Zeichen |
| credName | Ja | Name oder Firma, max. 70 Zeichen |
| credAddress | Ja | Strasse, max. 70 Zeichen |
| credBuildingNumber | Ja | Hausnummer, max. 16 Zeichen |
| credZip | Ja | Postleitzahl, max. 16 Zeichen |
| credCity | Ja | Ort, max. 35 Zeichen |
| credCountry | Ja | CH oder LI |
| amount | Nein | 0.01 bis 999999999.99, Punkt oder Komma |
| currency | Ja | CHF oder EUR |
| debName | Nein* | Name oder Firma, max. 70 Zeichen |
| debAddress | Nein* | Strasse, max. 70 Zeichen |
| debBuildingNumber | Nein* | Hausnummer, max. 16 Zeichen |
| debZip | Nein* | Postleitzahl, max. 16 Zeichen |
| debCity | Nein* | Ort, max. 35 Zeichen |
| debCountry | Nein* | ISO-Ländercode mit zwei Buchstaben |
| reference | Nein** | QR-Referenz oder gültige RF-Referenz |
| additionalInformation | Nein | Mitteilung, maximal 140 Zeichen |
| dueDate | Nein | Zahlbar 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.