! This page will be updated to match the current state with version 2.0 of the specification !

This page provides an overview of the requirements according to the specification and marks what is fulfilled / implemented or what is not and further information on it.

Table 1. Specification Requirement Fulfillment
Chapter Requirement Fulfilled Remarks

2 Design requirements and recommendations for the payment part

2.1 - The basics

Payment part must mandatorily be place in the lower right-hand corner

X

2.1 - The basics

Paper perforation of the A6 format is optional. If not used, A6 format must be indicated with lines

X

QR Invoice has an option to choose whether lines are printed or not

2.1 - The basics

If information about the amount is not imprinted during billing process, corresponding are to be provided for handwritten supplementation

X

2.1 - The basics

If information about the debtor is not imprinted during billing process, corresponding are to be provided for handwritten supplementation

X

2.1 - The basics

Only the defined headings and titles may be imprinted for the individual payment part sections

X

2.2 - Paper format and quality

The payment part must be in DIN A6 format horizontal

X

2.3 - Fonts and font sizes

Only the sans-serif fonts OCR-B, Arial, Frutiger and Helvetica are permitted in black. Type may not be in italic nor underlined.

X

QR Invoice Native Library only supports Helvetica and Arial at the moment

2.3 - Fonts and font sizes

The type size must be at least 6 pt and maximum 12 pt in size.

X

2.3 - Fonts and font sizes

Headings must be 2 pt smaller than the corresponding values

X

2.4 - Correspondence language

QR-bill can be produced in German, French, Italian and English

X

QR Invoice Native Library supports all 4 languages

2.4 - Correspondence language

The terms to be used in the respective correspondence languages are listed in multiple languages in Annex B: Multilingual headings.

X

2.5 - Sections of the payment part

The spaces between the sections must be at least 5 mm

X

QR Invoice Native Library uses exactly 5mm as a quiet space

2.5.1 - Title section

The heading "QR-bill payment part" must be printed in the title section in 11 pt type

X

2.5.2 - Alternative schemes section

The heading "supports" must be printed in bold in the process section and beneath the "credit transfer" scheme.

X

2.5.2 - Alternative schemes section

Next to it, all supported alternative schemes can be printed in the chosen correspondence languages in continuous text, separated by commas specifically, listed as long as the elements planned for this are filled in the Swiss QR Code.

-

Not yet implemented (2)

2.5.3 - Swiss QR Code section

In the Swiss QR Code section, the maintaining of the 5 mm wide border ensures that the Swiss QR Code can be read without problems.

X

2.5.4 - Amount section

The amount section includes the currency and the amount.

X

2.5.4 - Amount section

Towards this end, each bit of information must be marked with a heading.

X

2.5.4 - Amount section

The currencies CHF and EUR are supported.

X

2.5.4 - Amount section

The currency codes CHF or EUR must be printed to the left in front of the amount or the amount field.

X

2.5.4 - Amount section

Whitespace must be used as thousands separators.

X

2.5.4 - Amount section

The amount must always be printed with two decimal places, whereby only a period (".") is permitted as a decimal separator.

X

2.5.4 - Amount section

If no amount is contained in the Swiss QR Code, then a colorless field with black corner marks must be printed. It must have the dimensions: 1.5 x 4.0 cm.

X

2.5.5 - Information section

All values relevant for a payment from the Swiss QR Code must be printed in the information section.

X

QR Invoice Native Library ensure all values are visible

2.5.5 - Information section

While doing so each bit of information must be marked with a heading.

X

2.5.5 - Information section

The following values must, if they are contained in the Swiss QR Code, exist in the following listed order: Account, Creditor, Final creditor, Reference number, Additional information, Debtor, Payable by,

X

2.5.5 - Information section

If the debtor is not listed in the Swiss QR Code, then a colorless field with black corner marks must be printed (see figure 4, right). It must at least measure 2.5 x 6.5 cm

X

2.5.5 - Information section

Use of the above-listed headings (see ) is mandatory and they may not be changed, if they are contained in the Swiss QR Code.

X

2.6 - Notes about the QR-bill in PDF format

PDF bills are only suitable for e-/m-banking payments but not for paper-based payment traffic. The printing of PDFs can lead to format changes. This can lead to processing problems and higher costs.

-

This is up to the integrator of the QR Invoice Native Library to handle. PDF printing may be fine, however it must not be scaled (typical "scale-to-fit" issue with PDF printing)

3 - Swiss QR Code database

3.2 - Technical specifications

3.2.1 - Character set

Only the Latin character set is permitted (ISO 20022 "Customer Credit Transfer Initiation" message - pain.001)

x

QR Invoice Native Library validates input against a finite list of all allowed characters

3.2.2 - Permitted characters in the field definitions

Different field definitions

x

QR Invoice Native Library validates each field against its specific definition

3.2.3 - Field lengths

The field lengths specified represent maximum lengths for the individual elements.

x

QR Invoice Native Library validates each field against its specific definition

3.2.3 - Field lengths

It is not permitted to fill in the elements with blanks up to the maximum length.

x

QR Invoice Native Library does warn about input that should be trimmed, but only enforces it in strict validation mode

3.2.4 - Separator element

The individual elements in the Swiss QR Code according to the Swiss standard are separated from one another with a carriage return (CR + LF).

x

QR Invoice Native Library always uses CR + LF for writing codes, but handles each line break variant (CR, LF, CR + LF) during code parsing

3.2.4 - Separator element

The carriage return is eliminated after the final element.

x

3.2.5 - Delivery of the data elements

All data elements must be present. If the information of the data element is not available, then at least one carriage return (CR + LF) must take place.

x

3.2.5 - Delivery of the data elements

The sole exceptions to this are additional data elements marked with "A" (alternative scheme). These can be eliminated if not needed.

x

3.2.5 - Delivery of the data elements

The last data element delivered may not be completed with a concluding carriage return (CR + LF).

x

3.3 - Data structure

Data Structure Definition

x

QR Invoice Native Library checks all constraints. Validated against official SIX validation platform

3.3 - Data structure

Reference type - with the use of a QR-IBAN must contain the QRR code or SCOR.

x

QR Invoice Native Library checks for this cross-element dependency

3.3 - Data structure

Reference - must be filled if a QR-IBAN is used.

x

QR Invoice Native Library checks for this cross element dependency

3.3 - Data structure

Reference - The element may not be filled for the NON reference type

x

QR Invoice Native Library checks for this cross element dependency

3.3 - Data structure

Alternative scheme parameters - Can be currently delivered a maximum of two times.

x

3.4 - Technical specifications

3.4.2 - Use of the "unstructured message" element

The unstructured part (text) must be placed at the beginning of the field.

-

Not enforced by QR Invoice Native Library (1)

3.4.2 - Use of the "unstructured message" element

The switch to the structured part must be marked by the character series "##".

-

Not enforced by QR Invoice Native Library (1)

3.4.2 - Use of the "unstructured message" element

The rest of the field (von "##" to the end of the field) contains structured information.

-

Not enforced by QR Invoice Native Library (1)

3.4.2 - Use of the "unstructured message" element

For this purpose, the first two characters (after "##") are reserved as code for the rule used, which defines how the remaining characters in this field are to be interpreted.

-

Not enforced by QR Invoice Native Library (1)

3.4.3 - Depiction of the customer reference in the ISO 20022 pain.001 payment message

-

pain.001 mapping is currently not covered by the QR Invoice Native Library

3.4.4 - Alternative schemes

The element may be delivered twice at the most according to these Implementation Guidelines.

X

3.4.4 - Alternative schemes

The first two characters (alphanumeric) are the indicators for the alternative scheme.

-

Not enforced by QR Invoice Native Library (2)

3.4.4 - Alternative schemes

The next character must contain the sub-element separator used.

-

Not enforced by QR Invoice Native Library (2)

3.4.4 - Alternative schemes

An unlimited number of sub-elements can be delivered within the permitted field length of the element.

-

Not enforced by QR Invoice Native Library (2). Only the length of the field is validated

3.4.5 - Use of address information

The "Street" element is to be used to enter a P.O. Box.

-

Cannot be enforced by QR Invoice Native Library

3.4.6 - The payment amount

The "Amount" element is to be entered without leading zeroes, including decimal separators and with two decimal places. The "." symbol is to be used as a decimal separator.

x

3.4.6 - The payment amount

The "Amount" element need not be filled in the Swiss QR Code.

x

3.5.1 - Checking of field contents

The content must match a valid value; this applies for QR type, the version, the coding type and the currency.

x

Covered in parseAndValidate

3.5.1 - Checking of field contents

The general specifications according to Nr. 3.2 of the Technical Specifications, must be adhered to.

x

Covered in parseAndValidate

3.5.1 - Checking of field contents

The value must be syntactically correct; this applies for the amount (if entered), account (IBAN/QR-IBAN), reference type (QRR/SCOR/NON) and, if present, the biller’s reference (QR reference, Creditor Reference (ISO 11649).

x

Covered in parseAndValidate

3.5.2 - Meta data

The following elements from the Swiss QR Code (data group header) will never be forwarded with the payment: QR type, version, coding type

-

Not covered as the QR Invoice Native Library does not forward payments on its own.

4 - Parameters for generating the code

4.1 - Error correction level

The code generation must take place with error correction level "M".

x

4.2 - Maximum data range and QR code version

The maximum Swiss QR Code data content permitted is 997 characters (including the element separators).

x

4.2 - Maximum data range and QR code version

The version of the QR Code resulting with error correction level "M" and binary coding is version 25 with 117 x 117 modules.

x

4.3 - Minimum module size

To guarantee the secure scanning of the Swiss QR Code, a minimum module size of 0.4 mm is recommended for printing.

x

This is implicitly covered as the QR code is printed at size 46mm. 46mm / 117 (max modules) ⇒ 0.393 mm

4.4 - Measurements of the Swiss QR Code for printing

The measurements of the Swiss QR Code for printing must always be 46 x 46 mm

x

4.4.1 - Quiet space according to ISO 18004

5mm quiet space around the QR Code

x

4.4.2 - Recognition characters

To increase the recognizability and differentiation for users, the Swiss QR Code created for printout is to be overlaid with a Swiss cross logo measuring 7 x 7 mm.

x

1) At the moment not validated. However we keep an eye on it: https://www.paymentstandards.ch/en/home/softwarepartner/qr-bill/structured-info.html

2) At the moment not validated. However we keep an eye on it: https://www.paymentstandards.ch/en/home/softwarepartner/qr-bill/alternative-schemes.html