SPC (Swiss Payments Code v0200)

The 31-line CRLF-delimited UTF-8 payload encoded inside a Swiss QR-bill.

SPC is the payload format embedded inside a Swiss QR-bill QR code. v0200 is the current version (v0100 was a 2018 pre-release; everything since 2020 is v0200). The payload is a 31-line, CRLF-delimited UTF-8 text blob with a strict line-by-line schema.

Layout: lines 1–3 are the header ("SPC" / "0200" / "1" for UTF-8 encoding), 4 is the creditor IBAN, 5–11 are the creditor address block, 12–18 are the ultimate-creditor block (usually empty), 19 is the amount, 20 is the currency code, 21–27 are the ultimate-debtor block, 28 is the reference type ("QRR" or "SCOR" or "NON"), 29 is the reference value, 30 is the unstructured message, 31 is the trailer ("EPD"). Optional line 32 carries Swico bill-information.

Total payload size is capped at 997 bytes. Empty lines are kept (they hold position) — the *line number* is the schema, not the field name. A misalignment by one line silently maps every field below it to the wrong column.

iso-compliant emits SPC deterministically and parses it for validation at apps/api/src/lib/spc.ts (server) and lib/spc-parse.ts (browser). The free /qrbill page lets buyers paste an SPC payload and round-trip it.

Related terms

Put SPC (Swiss Payments Code v0200) into production

Build and validate ISO 20022 files with the iso-compliant API — 100 documents/month free, no card.

Get an API key
← All terms