Swiss QR
Swiss QR is one of the variants of QR codes. In Switzerland, as well as in the whole world QR codes are used everywhere. However, to use these codes in the sphere of electronic payments it was decided to create its own kind of QR. Now all the payment receipts and bills in Switzerland should have a QR code with the Swiss cross in the center is a distinctive feature of the Swiss QR.
FastReport .NET supports Swiss QR code. The code itself looks almost the same as an ordinary QR with the only difference that there is a Swiss cross in its center:

The essence of this type of code is that it encrypts payment information.
To generate a Swiss QR in FastReport .NET, select the Barcode object
at the Components Panel in the Report Designer. In the drop-down list, navigate to the "Two-dimensional" category, and then choose QR Code:

After selecting the barcode, place it on the Report Page.
Double-click on the added barcode to open the editor. You can also open the barcode editor by clicking the button
in the context menu of the added object, accessed by right-clicking.
In the QR code editor, you need to switch to the Swiss QR tab. After that, the settings for the Swiss QR will be displayed:

Let's take a closer look at the parameters:
IBAN
In Switzerland, the IBAN (International Bank Account Number) standard is used to represent a bank account number. It is an international standard, which is registered in ISO under the number 13616.
The Swiss IBAN has a fixed length of exactly 21 characters, always begins with the country code CH or LI, and contains only uppercase Latin letters (A-Z) and digits (0-9).
Supports two IBAN types: the standard IBAN and the specialized QR-IBAN.
QR-IBAN is used exclusively for Swiss QR-code payments with the QRR reference type. It differs from a standard IBAN solely by the bank code range: banks participating in the Swiss QR-bill scheme are assigned identifiers in the 30000-31999 range. This 5-digit code, referred to as the QR-IID, occupies positions 4-8 within the IBAN structure. Technically, QR-IBAN fully complies with ISO 13616 and undergoes the same checksum validation as a standard Swiss IBAN.
Input values may include spaces, hyphens, or other separators. The field accepts only uppercase Latin letters and digits; any lowercase characters are automatically converted to uppercase during processing.
Amount
This field specifies the exact payment amount. Only decimal points (.) are permitted as decimal separators.
The amount must be within the range of 0.01 to 999,999,999.99, and must always include exactly two decimal places (e.g., 1500.00; values such as 1500 or 1500.5 are invalid).
The total length of the value must not exceed 12 characters, including the decimal point and the fractional part.
Currency symbols must not be included – the currency is specified in a separate field.
Currency
Since the payment system is Swiss, two types of currency are assumed: euro (EUR) and Swiss francs (CHF).
Creditor/Debtor Details
This block contains the details of the payment parties. The same field requirements apply to both sides.
The name is limited to 70 characters.
The street address field accepts up to 70 characters. Additional address details (building number, block, unit, etc.) are limited to 16 characters. The postal code field accepts up to 16 characters, and the city name is limited to 35 characters.
The country code is mandatory and must consist of exactly two uppercase Latin letters according to the ISO 3166-1 standard.
Only Latin letters, digits, and basic punctuation marks are permitted. Special symbols, Cyrillic characters, ideographs, and control characters are not allowed.
Reference
This field contains a unique identifier that links the payment to a specific account, invoice, or order in the recipient's system. The value is transmitted to the bank and displayed in the statement, enabling automatic recognition of the payment purpose.
The maximum length of the field is 27 characters. The permitted characters and exact format of the value depend on the reference type and are described in the following section.
Reference Type
The payment reference type determines the format and validation rules for the Reference field.
Three options are available: QRR, SCOR, and NON. The selected type dictates how the bank processes the payment and defines the specific requirements for the reference value itself.
The QRR (QR Reference) type is the standard for Swiss QR-bills and is used for automated payment processing within Switzerland. The reference must consist of exactly 27 digits. This reference type is used exclusively with a QR-IBAN.
The SCOR (Structured Creditor Reference) type follows the international standard ISO 11649. It is commonly used for cross-border payments or invoices issued by European companies. The reference must be between 5 and 25 characters long, always start with the letters RF, and include two check digits. Only uppercase Latin letters (A-Z) and digits (0-9) are permitted. This type is used with a standard IBAN.
The NON type indicates that the payment is processed without a structured reference. When this type is selected, the Reference field must remain empty. This option is used with a standard IBAN.
It is critical to ensure compatibility between the reference type and the recipient's IBAN format: a QR-IBAN requires the QRR type, while a standard IBAN requires either SCOR or NON.
Additional Information
This block is used to specify the payment purpose or to provide supplementary textual information for payments.
It contains two fields: Unstructured Message and Billing Information. Both fields are optional, but their combined length must not exceed 140 characters.
The text must conform to the regulated character set defined by the Swiss QR specification.
Unstructured Message
This field is used for a free-text comment from the payer, which will be displayed in the recipient's bank statement after the payment is processed.
It can specify the payment purpose, contract number, or any other explanatory information. The text format is not strictly regulated, but it must remain within the block's overall character limit and adhere to the permitted character set.
Billing Information
This field is intended for the recipient's internal reference data, used by accounting or ERP systems to automate payment reconciliation. Unlike the unstructured message, this field typically contains structured references to invoices, contract numbers, or department codes.
According to the specification, this information is not transmitted in interbank payment messages and serves exclusively for the recipient's internal accounting automation.
The field is optional and shares the combined 140-character limit with the Unstructured Message field.
Alternative Procedure 1 and Alternative Procedure 2
These fields are intended for transmitting fallback instructions or specific data required for payment processing when using special formats.
They are two independent fields, each accepting up to 100 characters. Filling these fields is optional and required only in specific scenarios defined by the recipient bank.
Typically, these fields remain empty. They should not be used for payer comments or internal billing information – those purposes are served by the fields in the Additional Information block.
The Swiss QR-code is typically used as part of the Swiss QR-Bill payment document. An example of a correctly generated QR-code can be found at: Demos/Reports/Barcode.frx.