Implementation of the new Swiss QR-Bill (2020)

Table of Contents

I Introduction

    1. General
    2. Important links to this topic
    3. Interesting links to this topic
    4. Coresystems - Swiss Payment

II Prerequisites

III Import/Update new QR-IID Bank details

IV Scanner

V QR-Bill scanning/adding via the Record payment slips functionality

VI Processing Incoming (camt54) and Outgoing (pain.001) payments for QR-Bill

VII QR-Code Layout

VIII Changelog

 

 

I Introduction (Back to Table of Contents)

In this section, we would like to highlight some general background and information in relation to the new Swiss QR-Bill.

 

A. General (Back to Table of Contents)

The 30th June 2020 marks the beginning of a new chapter in the history of the Swiss payments systems.

According to the "Swiss Payment Standards 2019 - Swiss Implementation Guidelines QR-bill (Technical and professional specifications of the payment part with Swiss QR Code and of the receipt), the payment slips used in Switzerland go back over a hundred years and are used 100 million times a year.

The new QR-bill is replacing the existing multiplicity of payment slips in Switzerland and so is helping to increase efficiency and simplify payment traffic, at the same time offering a way of dealing with the challenges presented by digitalisation and regulation.

With the introduction of the new Swiss QR-bill starts a transition phase of yet undefined duration (it is currently speculated to last about two years), during which both the traditional as well as the new payment slips can be used simultaneously. Whereas Swiss banks have committed to updating their mobile and online banking systems in time for the kick-off, there is no guarantee that the transition will be run completely seamlessly. Be prepared to discuss any potential issue(s) directly with your Bank(s). Some banks advice that during the parallel phase of ESR and Q-Bill a valid BISR-ID has to be used for the first 6 digits of the QR Reference (Source: UBS PaymentStandards Test Platform).

The main focus for any company processing creditor payments digitally needs to be the readiness to generate valid PAIN files for their banks to initiate the actual payment. Having said that, if a company only receives the occasional QR-Bill, they can always initiate the corresponding payment manually using their own Banks online Tool.

This means that there is generally no major rush to migrate immediately.

 

B. Important links to this topic (Back to Table of Contents)

(most pages/documents on https://www.paymentstandards.ch are available in the following languages: DE, EN, FR, IT)

 

C. Interesting links to this topic (Back to Table of Contents)

 

D. Coresystems - Swiss Payment (Back to Table of Contents)

Based on the officially available documentation (see links above), we enhanced our Swiss Payment module in version 7.15 (and Coresuite Designer version 7.15) for the new Swiss QR-Bill process to cover:

  • QR-Bill generation (a new Layout provided as a template/sample to update/create a respective Layout to meet each SAP Business One Customer's individual need: "Swiss QR-Bill - Separate Payment Part and Receipt - LD (DOC00021)" / "Schweizer QR-Rechnung - Zahlteil und Empfangsschein als Beilage - LD (DOC00021)" / "QR-facture suisse - Section paiement et récépissé en tant que pièce jointe - LD (DOC00021)"
    (coresuite-designer #1002 - New Layoutdefinition for Swiss QR-Bill - Separate Payment Part and Receipt (DOC00021))
  • QR-Bill scanning/adding to via the Record payment slips functionality
    (swiss-payment #594 - Support new Swiss QR-Bill (2020))
  • Importing/updating new QR-IID Bank details
    (swiss-payment #594 - Support new Swiss QR-Bill (2020))
  • Processing of QR-Bill based Incoming (camt54) and Outgoing (pain.001) payments
    (swiss-payment #594 - Support new Swiss QR-Bill (2020))

 

Since the release of Swiss Payment 7.15, we have released a few Hotfixes in short succession for mainly minor issues.
With the general release, more partners can now test our solution for their customers and we expect that you might encounter the odd issue. So please contact us immediately via helpdesk.coresystems.ch adding "[New Swiss QR-Bill]" as a prefix in the description.

 

 

II Prerequisites (Back to Table of Contents)

  1. Install Coresuite Swiss Payment 7.18 and Coresuite Designer 7.17
    • Swiss Payment version 7.18 compared to version 7.15 includes:
      • swiss-payment #612 - [ISR Scanning] Bug in setup for new combined ISR Codeline and QR Scanner (CREALOGiX - PayEye) prevents ISR Codeline scanning for Swiss Payment
      • swiss-payment #613 - [Regression] Record payment slip does not display potential Purchase Orders or Goods Receipt POs
      • swiss-payment #614 - [Regression] Issue adding Domestic Payment in version 7.17
        The message "Invalid input" appears after using tab in field "Purpose of payment" but the document can still be added
      • swiss-payment #615 - [Regression] Configuration -> Standard Product not saved
      • swiss-payment #616 - [EBill]: Validation error (AccountAssignment missing)
      • swiss-payment #617 - [Regression] "Object reference not set to an instance of an object." error using "Import Incoming Payments" functionality for payments without "CdOrPrtry" and "Prtry" nodes
    • Coresuite Designer version 7.17 compared to version 7.15 includes:
      • coresuite-designer #1054 - [Swiss QR-Bill - Separate Payment Part and Receipt (DOC00021)] Minor improvements
  2. In order to generate QR-Bills, each SAP Business One Customer needs to request/receive a QR-IBAN from their bank.
    The QR-IBAN(s) needs to be entered in the field
    Administration->Setup->Banking->House Bank Accounts => User No. 4 ([DSC1]:[UsrNumber4])
    for each respective House Bank account.

 

 

III Import/Update new QR-IID Bank details (Back to Table of Contents)

The QR-IID in comparison to the IID (institution identification) is the identifying Bank code for each Bank for the new QR-Bill process. QR-IIDs range from 30000 to 31999.
Any IBANs (QR-IBANs) based on these QR-IIDs are used only for the new procedure with a QR reference (currently still the ISR reference number) in the QR-Bill.
Those Bank codes are required for adding new Creditor and Debtor Bank details.
Please note, that you must not replace your current Bank Codes with these new Bank Codes!
As these new Bank codes are not (yet) automatically available in SAP Business One, we added an option for your convenience to easily import them.

To access this functionality, go to Administration->Add-ons->swissPayment->Configuration->Record payment slips tab where you find the option "Import QR banks".
We are providing a prepared csv file (download the file Bank Master QR-IID (as of 05.06.20).csv from here) which is correct and valid as of 5th June 2020 (https://www.six-group.com/en/products-services/banking-services/interbank-clearing/online-services/download-bank-master.html).
This functionality only allows the import of Bank codes within the 30000-31999 range.

Please note that Coresystems shall not be responsible for the content of Bank Master QR-IID (as of 05.06.20).csv (https://www.six-group.com/en/products-services/banking-services/interbank-clearing/online-services/download-bank-master.html) or any inappropriate usage of this Import/Update functionality.
Usage of this functionality is completely at your own risk.
Coresystems does not provide any Support for any inappropriate usage.

As of Swiss Payment version 7.15, it is possible to apply SAP Business One authorisations to the
Administration->Add-ons->swissPayment->Configuration item to restrict access and avoid unapproved modifications of the Swiss Payment Configuration.
Please go to Administration->System Initialisation->Authorisations->General Authorisations->SwissPayment to set the restrictions if required.

 

 

IV Scanner (Back to Table of Contents)

Coresystems does not explicitly recommend any specific scanner for the QR-Code scanning.
Yet we have received very positive feedback regards the Swiss QR Code- Scanner SwissReader SR-100QR scanner from Dative during our testing phase.

We are currently only aware of combined ISR Codeline & Swiss QR Code readers from CREALOGiX: PayEye and GiroMat.
With their latest Software Update (1.1.2) for PayEye and GiroMat, CREALOGiX added the option to set "Coresystems SAP Business One" as the Financial Software. This new setting enables automatic scanning of both, ISR Codeline and Swiss QR Code, directly into the respective "Record payment slip" forms. So far we received very positive feedback from the first Partners testing after the CREALOGiX Update.

Excellent experiences were also reported when using simple QR-scanning apps such as

When choosing a scanner, please keep the following in mind:

  • Most customers already have a scanner to process their Orange payment slips. Depending on their business, the might initially receive very few QR-bills to start with.
    They could simply proceed by adding those manually without the need of purchasing a new scanner. Once they receive an increased number of QR-Bills they could reverse this approach by using a simple QR-Code scanner for those and add the occasional Orange payment slip manually.
  • No special settings are required for a QR-Code scanner to scan into Record payment slip window.
    Any scanner that can be programmed to automatically add a tab "character" at the end of each scan can be considered advantageous. This kind of option does facilitate automatic filling of all fields in the Purchasing - AP->Record payment slips->Record payment slip window upon completing the scan.
  • All in all, the decision is yours alone as to what advice you provide to your customer.

 

 

V QR-Bill scanning/adding via the Record payment slips functionality
(Back to Table of Contents)

We extended the Record payment slips functionality to enable the scanning/adding of QR-Bill Creditor Invoices. The new tab "Record payment slip" has been added to Purchasing - AP->Record payment slips. Screenshot1.JPG
In this form, the user can decide to either scan the QR-Code or to add the details manually.

When using "SCAN" as the Data entry mode (default) ensure that the cursor is placed into the "Scan" field - by default the cursor always appears in the "Scan" field when either accessing the Record payment slip tab or using the "Reset" button.

The general behaviour on this tab is identical to the behaviour of the traditional Orange and Red payment slip tabs and can be configured via Administration->Add-ons->swissPayment->Configuration->Record payment slips:

  • Upon using the "Add" button, the system will verify if the entered Supplier (Business Partner) exists in the Database.
    As of swiss payment version 7.35, the Business Partner matching has been enhanced.
    The system will now first check if a Business Partner is found with the IBAN provided by the Scan. If a such a Business Partner is found, this Business Partner is automatically added to the Supplier field.
    In case of the same IBAN being saved for multiple Business Partners, the Supplier drop-down list is populated with those, and the required Business Partner can be selected from there.
    If no Business Partner is found with the IBAN provided by the Scan, the system checks the Business Partner Name ([OCRD]:[[CardName]) and Business Partner Foreign Name ([OCRD]:[[CardFName]) fields for a match on the Supplier Name provided by the Scan.
    If a matching Business Partner is found, the System will then allow for the provided IBAN to be saved for it. In case no Business Partner is found at all, the user can simply create a new Business Partner via the "Create new Business Partner" button. Upon creation this new Business Partner is automatically added to the Supplier field.
  • You will also be prompted if the Bank (Bank code) recorded in the QR-Bill does not already exist in your system. Please create the appropriate Bank via Administration->Setup->Banking->Banks or use the Bank Import functionality (Administration->Add-ons->swissPayment->Configuration->Record payment).

Should you encounter any unexpected issues when scanning either an ISR Codeline and a Swiss QR Code into the respective "Record payment slip" forms, scan same directly into a plain textfile. Proceed by checking if the scan in the textfile matches the standard definition.
Please include this textfile when contacting Coresystems Support via helpdesk.coresystems.ch for additional help.

 

 

VI Processing Incoming (camt.054) and Outgoing (pain.001) payments for QR-Bill
(Back to Table of Contents)

Any incoming (via "Import Incoming Payments" option) or outgoing (via "Payment wizard swiss" option) payment is automatically processed according to its type. No special steps need to be followed.

As of swiss payment version 7.35, it is also possible to process create outgoing payments for AP Invoices not added via the "Record payment slip" functionality.

We changed the title of the Menu for importing Incoming Payment (camt.054 and V11)
from
Banking->Incoming Payments->Incoming Payments (ISR)
to
Banking->Incoming Payments->Import Incoming Payments

 

 

VII QR-Code Layout (Back to Table of Contents)

General (Back to Table of Contents)

With Coresuite Designer version 7.15, we delivered a new Layout ("Swiss QR-Bill - Separate Payment Part and Receipt - LD (DOC00021)" / "Schweizer QR-Rechnung - Zahlteil und Empfangsschein als Beilage - LD (DOC00021)" / "QR-facture suisse - Section paiement et récépissé en tant que pièce jointe - LD (DOC00021)") for printing the new QR-Bill. Please note this is an example to cover a QRR Type QR-Code with additional information. You will need to apply modifications to meet your customers' requirements.
Start by deciding on your general approach - either modifying your existing ESR Layout (Approach 1) or modifying the newly provided layout (Approach 2).

 

Approach 1 - modify a duplicate of your existing ESR Layout (Back to Table of Contents)
*** use this approach if you are currently using a highly customized Layout for printing the Orange Payment Slips ***

    1. Duplicate your existing ESR Layout
    2. Open the duplicated Layout designer mode (rendering engine)
    3. On Main Menu, go to Report->Document Properties => go to Render->Stylesheet to open the Style Sheet Editor
    4. Use the Save button to save your current Style Sheet
    5. Open both, the newly saved Style Sheet and the provided QRBill_Styles.rss file, using e.g. notepad++ where you can use XML Tools Plugins to make it easier for you to modify the files
    6. From the QRBill_Styles.rss copy all item objects and add them into the newly saved Style Sheet
    7. Save the modified Style Sheet file
    8. Go back to the Style Sheet Editor in the Layout and use the Open button to import the modified Style Sheet file
    9. Locate the object that contains your current ESR section (in most Layouts based on the originally Layout delivered by Coresystems, this is the footer1:Footer located in the GB_Installments:AdvancedGroupBand)
    10. Cut out this object
    11. Open the newly delivered Layout "Swiss QR-Bill - Separate Payment Part and Receipt - LD (DOC00021)" / "Schweizer QR-Rechnung - Zahlteil und Empfangsschein als Beilage - LD (DOC00021)" / "QR-facture suisse - Section paiement et récépissé en tant que pièce jointe - LD (DOC00021)"
    12. Locate the object that contains the new QR-Code section (footer2:Footer (from version 7.17 named "ftPaymentPartAndReceipt:Footer") located in the GB_Installments:AdvancedGroupBand)
    13. Select and choose copy objects
    14. Paste into the duplicated Layout
    15. On Main Menu, go to Report->Document Properties => go to Script->CommonScript and add the following:
      Dim iCnt As Integer
      Dim nCnt As Integer
      Dim condition As String = "^(\D+)\d+"
      Dim regex As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(condition)
      Dim match As System.Text.RegularExpressions.Match

      Function getStreet(strData As String) As String
      If Engine.isdoublepass Then
      match = regex.Match(strData)
      If match.Success = True Then
      Return match.Groups(1).ToString()
      End If
      End If
      Return strData
      End Function
    16. On Main Menu, go to Report->Page Properties => go to Page Settings->PaperKind => set the margins to "Bottom=0 cm - Left=0 cm - Right=1 cm - Top=1 cm"; go to Settings->PaperKind => ensure you set A4
    17. Attach your duplicated Layout to your existing AR Invoice Printdefinition

 

Approach 2 - duplicate and use the newly delivered layout (Back to Table of Contents)
*** use this approach if you are currently using a minimal customized Layout for printing on Orange Payment Slips ***

    1. Duplicate the newly delivered Layout "Swiss QR-Bill - Separate Payment Part and Receipt - LD (DOC00021)" / "Schweizer QR-Rechnung - Zahlteil und Empfangsschein als Beilage - LD (DOC00021)" / "QR-facture suisse - Section paiement et récépissé en tant que pièce jointe - LD (DOC00021)"
    2. Apply any general modifications such as adding your own Logo etc

 

The Payment/Receipt QR-Code section of the Layout (Back to Table of Contents)

    • the example provided was created based on the documentation available from PaymentStandard.CH
      => Style Guide QR-bill: The right layout pays off (style-guide-en.pdf) and
      Swiss Payment Standards 2019 - Swiss Implementation Guidelines QR-bill (ig-qr-bill-en.pdf)
    • all fields in the Payment/Receipt QR-Code section
      (footer2:Footer (from version 7.17 named "ftPaymentPartAndReceipt:Footer") )
      • are named corresponding to their content
      • use Styles to easily update/modify the FontStyles/FontSizes to any of the supported FontStyles/FontSizes as per above mentioned official documentation
      • located according to the measurements suggested in the above mentioned official documentation
    • take into account that the Layout delivered by Coresystems covers the requirement of printing QR-Codes of Type QRR including Additional information
      • if your customer does not want to include additional information,
        • you should remove those fields and place the PayableBy fields to those locations
        • you need to update the field barCodeQR:BarCode by updating the script accordingly:
          replace "barCodeQR.Code &= GetData("B1_Data.Document.NumAtCard") & vbcrlf"
          with barCodeQR.Code &= vbcrlf
      • the field to display the "Additional information" (txtPPAdditionalinformationQRR:TextBox) is set to print the data from OIVN:NumAtCard but also contains a sample for printing the data from [OINV]:[Comments] if [OIVN]:[NumAtCard] is empty;
        remember to always update in field barCodeQR:BarCode and txtPPAdditionalinformationQRR equally for "Additional information"
    • the field barCodeQR:BarCode does not only contain the script to generate the QR-Code but also
      • a script to determine the BarCode version (see PaymentStandard.CH => Swiss Payment Standards 2019 - Swiss Implementation Guidelines QR-bill (ig-qr-bill-en.pdf) => 2.3 QR Code according to ISO 18004)
      • a script to display Content and the length of the Content in the debug log to easily verify if your QR-Code indeed contains the data you require
    • the objects txtPerforation1:TextBox, txtPerforation2:TextBox and advancedPictureScissors:AdvancedPicture include a visible condition to only display in Preview and PDF mode

 

Good to know (Back to Table of Contents)

    • to verify your Layout, we recommend using:
    • for details regards Paper format and quality, please check PaymentStandard.CH => Swiss Payment Standards 2019 - Swiss Implementation Guidelines QR-bill (ig-qr-bill-en.pdf) => 3.3 Paper format and quality

 

Important to remember (Back to Table of Contents)

Each printer behaves differently when it comes to how margins are treated. Please generate a few printouts to the effective printer you are going to use for printing your QR-Bills. Use the printer's own settings, rendering engine's Page Properties Margin and object Location settings to achieve your required result.

 

 

VIII Changelog (Back to Table of Contents)

Please subscribe to this FAQ to receive automatic notifications each time we update this FAQ. We will update this FAQ whenever we release a fix or an improvement in respect of Implementation of the new Swiss QR-Bill (2020) or have additional information in respect of e.g. Scanners etc.

  • 22nd June 2020
    • Coresuite Designer 7.17 released
      • coresuite-designer#1054 - [Swiss QR-Bill - Separate Payment Part and Receipt (DOC00021)] Minor improvements
  • 29th June 2020
    • Swiss Payment 7.18 released
      • swiss-payment #614 - [Regression] Issue adding Domestic Payment in version 7.17
        The message "Invalid input" appears after using tab in field "Purpose of payment" but the document can still be added
      • swiss-payment #615 - [Regression] Configuration -> Standard Product not saved
      • swiss-payment #616 - [EBill]: Validation error (AccountAssignment missing)
      • swiss-payment #617 - [Regression] "Object reference not set to an instance of an object." error using "Import Incoming Payments" functionality for payments without "CdOrPrtry" and "Prtry" nodes
    • FAQ updated:
      • links highlighted to make them easier recognisable as links
      • attachments Bank Master QR-IID (as of 05.06.20).csv and QRBill_Styles.rss removed and replaced with direct links in text
      • screenshot added in Section V QR-Bill scanning/adding via the Record payment slips functionality
      • link to PostFinance Test platform added
      • changelog added for Swiss Payment 7.18
  • 30th June 2020
    • Minor formatting issues of this FAQ fixed
  • 9th July 2020
  • 4th August 2020
    • Minor formatting issues in this FAQ fixed
  • 5th March 2021

 

 

(Back to Table of Contents)

Was this article helpful?
4 out of 8 found this helpful
Have more questions? Submit a request

Comments

0 comments

Article is closed for comments.