Swiss QR-bill standard · SIX spec v2.2

Parse Swiss QR-bills in seconds.

A clean REST API that turns PDF invoices with embedded QR-bills into structured JSON. Built for Swiss accountants, fintechs, and bookkeeping tools that need to move faster than OCR.

$ curl -X POST https://api.billscan.ch/api/parse \
    -H "Authorization: Bearer bsk_live_••••" \
    -F "file=@invoice.pdf"

What you get

A small, well-shaped API instead of a heavyweight document platform.

Fast parsing

Median latency under 600 ms for a single-page PDF, regardless of file size.

SIX spec compliant

Implements the full Swiss Payments Council QR-bill spec v2.2, including alternative schemes.

Simple REST API

One endpoint, one bearer token, predictable JSON. No SDK required, no webhooks to wire up.

Privacy first

Files are processed in memory and discarded immediately. Nothing is stored on our servers.

Structured output, ready to post to your ledger.

Every QR-bill field, fully typed and validated. IBAN, reference type (QRR, SCOR, NON), amount, currency, debtor and creditor information.

You get back exactly what's on the bill — nothing inferred, nothing hallucinated.

View full schema
{
  "iban": "CH4431999123000889012",
  "currency": "CHF",
  "amount": 1949.75,
  "reference_type": "QRR",
  "reference": "210000000003139471430009017",
  "creditor": {
    "name": "Robert Schneider AG",
    "address": "Rue du Lac 1268",
    "postal_code": "2501",
    "city": "Biel",
    "country": "CH"
  },
  "debtor": {
    "name": "Pia-Maria Rutschmann-Schnyder",
    "address": "Grosse Marktgasse 28",
    "postal_code": "9400",
    "city": "Rorschach",
    "country": "CH"
  },
  "additional_info": "Order of 18.06.2026",
  "parsed_at": "2026-05-21T09:14:22Z"
}