Swiss QR-bill Tutorial

Everything you need to know about the 31-line SPC format required on Swiss invoices since 2020.

Tämä artikkeli on toistaiseksi saatavilla vain englanniksi.

What is a Swiss QR-bill

Since 30 June 2020, every invoice in Switzerland must include a QR-bill (“QR-Rechnung”) — a standardized machine-readable payment block printed on the payment slip. It replaces the old orange and red ES/ESR inpayment slips. Swiss banks (UBS, PostFinance, Raiffeisen, ZKB, etc.) parse the QR directly into their mobile banking apps; customers scan it and tap Pay.

The SPC payload

A Swiss QR-bill encodes a Swiss Payments Code (SPC) payload — a 31-line block of UTF-8 text, each field on its own line, in a rigid order defined by SIX's “Swiss Implementation Guidelines QR-bill” document. The payload begins with SPC, ends with EPD (End Payment Data), and includes fields for IBAN, creditor, ultimate creditor, amount, currency, debtor, reference type, and creditor reference.

Required fields

The Swiss cross

Every Swiss QR-bill must have the red Swiss flag overlay at the center of the QR. Abundera QR draws this automatically at the correct proportions and positions whenever you pick the Swiss QR-bill type. Without the cross, Swiss banks won't accept the QR.

Error correction

SIX mandates error correction level M for Swiss QR-bills. The Swiss cross overlay covers ~7% of the modules, so M's ~15% tolerance is enough.

Generate one

Open the Swiss QR-bill generator, fill in IBAN, creditor, optional debtor, amount, and reference. Pick the reference type that matches your IBAN (QRR for QR-IBANs in the 30000-31999 institution range, SCOR or NON otherwise). Download the PDF and include it on your payment slip.

Privacy note

Your creditor IBAN, customer names, and invoice amounts never leave your browser. Abundera QR has no backend to receive them. Read the full privacy policy.