Häufig gestellte Fragen
Alles, was Sie über die QR-Rechnung API wissen müssen — von der Registrierung bis zur Integration.
Allgemein
Die QR-Rechnung API ist ein Dienst von LivingTech, mit dem Sie Schweizer QR-Rechnungen programmatisch erstellen können. Sie senden uns die Zahlungsdaten (IBAN, Empfänger, Betrag etc.) per API-Aufruf und erhalten eine fertige QR-Rechnung als PDF, PNG oder SVG zurück — vollständig konform mit den SIX-Spezifikationen für den Schweizer Zahlungsverkehr.
Die API richtet sich an Softwareentwickler, Unternehmen und Agenturen, die QR-Rechnungen automatisiert generieren möchten — z.B. aus einem ERP-System, einer Buchhaltungssoftware, einem Webshop oder einer eigenen Anwendung. Die Integration ist in jeder Programmiersprache möglich, die HTTP-Anfragen senden kann (PHP, JavaScript, Python, C#, VBA, etc.).
Ja. Nach der Registrierung auf qr-rechnung-api.ch erhalten Sie Zugang zu Ihrem Dashboard, wo Sie Ihren API-Key erstellen und verwalten können. Die Registrierung ist kostenlos.
Preise und Pläne
Es gibt drei Pläne: Free (kostenlos, 50 Anfragen/Monat, 1 API Key), Pro (CHF 19.90/Monat, 500 Anfragen, bis zu 5 API Keys) und Enterprise (individuell, unbegrenzte Anfragen und Keys). Details finden Sie auf unserer Preisseite.
Im Free-Plan werden weitere Anfragen blockiert bis zum nächsten Monat. Im Pro-Plan können Sie über das Limit hinaus weiterarbeiten — jede zusätzliche Anfrage kostet CHF 0.05. Enterprise-Kunden haben keine Limits.
Ja. Sie können jederzeit in Ihrem Dashboard unter «Abonnement» auf Pro oder Enterprise upgraden. Kündigungen sind ebenfalls jederzeit möglich — Ihr Plan bleibt bis zum Ende der aktuellen Abrechnungsperiode aktiv.
Überschreitungskosten werden automatisch auf Ihrer nächsten monatlichen Rechnung ausgewiesen. Die Abrechnung erfolgt über Stripe — Sie sehen alle Details in Ihrem Stripe-Kundenportal.
API-Nutzung
Senden Sie eine GET- oder POST-Anfrage an https://qr-rechnung-api.ch/api/v1/qr-bill/create mit Ihrem API-Key im Header (APIKEY: Ihr_Key) und den Rechnungsparametern als Query-Parameter, Form-Data oder JSON-Body.
Mindestens erforderlich sind: Account (IBAN oder QR-IBAN), CreditorName (Empfängername), CreditorZip (PLZ), CreditorTown (Ort) und CreditorCountryCode (Ländercode, Standard: CH).
Die API liefert ein JSON-Objekt mit dem Feld base64Content, das die generierte QR-Rechnung als Base64-String enthält. Das Format bestimmen Sie über den Parameter Format (PDF, PNG) oder GraphicsFormat (PDF, PNG, SVG). SVG ist ab dem Pro-Plan verfügbar.
Mit dem Parameter OutputSize (Pro/Enterprise) können Sie wählen: qr-code (nur QR-Code), qr-code-padded (QR-Code mit Rand), payment-part (Zahlteil ohne Empfangsschein), bill (Zahlungsteil), bill-with-separator (Zahlungsteil mit Trennlinie) und a4 (ganze A4-Seite). Im Free-Plan sind qr-code-padded und bill-with-separator verfügbar.
Ja. Die alten Parameter Format (PDF/PNG) und QrOnly (true/false) funktionieren weiterhin. Sie werden intern auf die neuen Parameter umgemappt. Bestehende Integrationen müssen nicht angepasst werden.
Die API akzeptiert Parameter in jeder Schreibweise: PascalCase (CreditorName), camelCase (creditorName), snake_case (creditor_name) oder lowercase (creditorname). Alle Varianten sind gleichwertig.
IBAN und Referenznummern
Die API akzeptiert sowohl QR-IBAN als auch herkömmliche IBAN. Eine QR-IBAN erkennen Sie daran, dass die Ziffern an Position 5–9 zwischen 30000 und 31999 liegen. Die API erkennt den Typ automatisch.
Bei einer QR-IBAN wird eine QR-Referenznummer erwartet (27 Ziffern). Sie können die Referenz mit 26 Ziffern senden — die Prüfziffer wird automatisch berechnet und angefügt. Die Referenznummern bisheriger ESR-Systeme können übernommen werden. Eine QR-Rechnung mit QR-IBAN aber ohne Referenznummer ist nicht möglich.
Bei einer herkömmlichen IBAN haben Sie drei Möglichkeiten: ohne Referenznummer (Typ NON), mit einer SCOR-Referenz (ISO 11649, beginnt mit «RF»), oder Sie senden nur den individuellen Teil der Referenz — die API vervollständigt ihn automatisch zu einer gültigen SCOR. Beispiel: Sie senden O00WER, die API macht daraus RF54O00WER.
SCOR steht für «Structured Creditor Reference» nach ISO 11649. Sie beginnt mit «RF», gefolgt von zwei Prüfziffern und einer alphanumerischen Referenz (max. 21 Zeichen). Die API kann unvollständige SCOR-Referenzen automatisch vervollständigen.
API Keys und Sicherheit
Nach der Registrierung erstellen Sie Ihren ersten API-Key im Dashboard unter «API Keys». Der vollständige Key wird nur einmal angezeigt — kopieren Sie ihn sofort und bewahren Sie ihn sicher auf.
Im Free-Plan ist 1 Key verfügbar, im Pro-Plan bis zu 5 und im Enterprise-Plan unbegrenzt. Sie können jedem Key ein Label geben (z.B. «Produktion», «Entwicklung», «Kunde A»), um sie zu unterscheiden.
Ja, ab dem Pro-Plan. Sie können pro API-Key eine oder mehrere erlaubte IP-Adressen hinterlegen (inkl. CIDR-Notation). Anfragen von anderen IPs werden abgelehnt.
Der Debug-Modus (ab Pro) protokolliert alle API-Anfragen mit vollständigen Request- und Response-Details. Das ist nützlich für die Fehlerbehebung während der Integration. Deaktivieren Sie ihn in der Produktion für bessere Performance und Datenschutz.
Migration von der alten API
Die neue API ist weitgehend kompatibel mit der alten Schnittstelle. Die wichtigsten Änderungen: Der Endpoint ist neu https://qr-rechnung-api.ch/api/v1/qr-bill/create. Ihr alter API-Key funktioniert nicht mehr — Sie müssen einen neuen Key im Dashboard erstellen. Alle Parameter und das Antwortformat bleiben gleich.
Ja. Format (PDF/PNG), QrOnly (true/false) und alle bisherigen Parameternamen werden weiterhin unterstützt. Die Felder isSuccess, base64Content und message in der Antwort bleiben identisch.
Minimal. Ändern Sie den API-Endpoint und den API-Key. Falls Ihr Code das alte Feld isSuccessed (mit Tippfehler) verwendet, ändern Sie es auf isSuccess. Falls Ihr Code base64Image verwendet, ändern Sie es auf base64Content. Alles andere bleibt gleich.
Technisch
Sowohl GET als auch POST. Bei POST können Sie Parameter als Form-Data oder JSON-Body (Content-Type: application/json) senden.
CHF und EUR. Standard ist CHF.
Deutsch (DE), Französisch (FR), Italienisch (IT), Englisch (EN) und Rätoromanisch (RM). Standard ist DE.
{
"isSuccess": true,
"success": true,
"base64Content": "JVBERi0xLjcK...",
"format": "PDF",
"message": "QR-Rechnung erfolgreich erstellt"
}
{
"isSuccess": false,
"success": false,
"message": "Fehlerbeschreibung auf Deutsch"
}
Ja, basierend auf Ihrem Plan (50/500/unbegrenzt pro Monat). Bei Überschreitung im Free-Plan erhalten Sie HTTP 429. Im Pro-Plan können Sie weitermachen — die Überschreitung wird auf der nächsten Rechnung berechnet.