• New Feature: Extract QR Invoice from PDF documents and images. See How to Scan Documents for Swiss QR Codes

    (Commercial License Java Solutions Professional & Enterprise)

  • New Feature: QRIN-82 - PDF - Option to Choose Whether to Embed Fonts or Not / Embed Helvetica in PDF as well

  • Improvement: QRIN-83 - Update 3rd Party Libraries

  • Bugfix: QRIN-78 - AddressLine2 required for Combined Addresses

  • Bugfix: QRIN-77 - FontManager - ConcurrentModificationException

  • Bugfix: QRIN-80 - REST: Accept-Language should accept Subtags

  • Bugfix: QRIN-81 - REST: Multipart Charset Not Supported


  • New Feature: QRIN-67 - Add Frutiger Support

  • New Feature: QRIN-70 - Support DIN_LANG output without print margins (cropped)

  • New Feature: QRIN-72 - QR-bill ┬źDO NOT USE FOR PAYMENT┬╗

  • Improvement: QRIN-68 - Migration to Springdoc

  • Improvement: QRIN-73 - Logging - Change To Date Format To ISO8601 (REST API)

  • Improvement: QRIN-74 - Logging - JSON Output Format On Demand (REST API)

  • Bugfix: QRIN-69 - QrInvoiceCodeCreator: Null pointer exception when generating a PDF QR-Code with desiredQrCodeSize

  • Bugfix: QRIN-71 - Failed validations for /v2/swiss-qr-code/validate and /v2/v2/swiss-payments-code/validate should return HTTP response 422


  • New Feature: QRIN-65 - Generate Payment Part & Receipt to an existing Document (REST API)

  • New Feature: QRIN-53 - QR Reference Number - Support for Customer ID

  • New Feature: QRIN-55 - Print Margins Option for Boundary Lines

  • New Feature: QRIN-59 - Additional Print Margins

  • Bugfix: QRIN-46 - Validation bug when using umlaut

  • Bugfix: QRIN-52 - NullPointer when determining the default payment days

  • Bugfix: QRIN-57 - Whitespaces in Reference Numbers


  • Improvement: QRIN-50 verify Bill Information prefix

  • Improvement: REST API - Added raster graphics and PDF scanning / Swiss QR Code extraction endpoint via /v2/swiss-qr-code/parse

  • Improvement: REST API - Added endpoints in order to create references /v2/qr-reference/create & /v2/creditor-reference/create

  • Improvement: Core - Create Creditor and QR Reference numbers including checksums from simple input (e.g. invoice number). See Reference Creation

  • Bugfix: QRIN-51 - Fix NullPointerException during validation when reference type is missing


  • Improvement / New Feature: Revised REST API as version 2 with new endpoints - version 1 is deprecated but is still supported

  • Improvement: REST API - updated Spring Boot Version to 2.2.4

  • Improvement: REST API - enabled Spring Boot Actuator for improved monitoring

  • Improvement: REST API - Standalone application writes out qrinvoice.pid / qrinvoice.port

  • New Feature: QRIN-47 - Added PDF Merge Operations

  • Bugfix: QRIN-49 - CH IBAN Validation is missing length limitation


  • Bugfix: QRIN-41 - REST Demo WebGUI - IE11 error on application load, result in blank page

  • New Feature: QRIN-45 - REST Demo WebGUI - Validation Dialog for IBANs and Reference Numbers

  • New Feature: QRIN-43 - REST Demo WebGUI - Preview Dialog

  • New Feature: QRIN-39 - API Key Support


  • New Feature: QRIN-33 - Support added for Swico S1 structured additional information (bill information)


  • Improvement: QRIN-13 - Support Liberation Sans Font

  • Bugfix: QRIN-26 - REST API over Swagger UI - Invalid example value for alternativeSchemeParameters



  • Improvement: QRIN-19 - Various improvements to the demo Web UI

  • Bugfix: QRIN-24 - Web UI does not support optional debtor group


Major release which updates the library to be compliant with the revised Swiss Implementation Guidelines QR-bill version 2.0 (QRIN-11).

Please note:

  • Support for Swiss Payments Code version 1.0 has been completely dropped, as this version will never be used in production.

  • Although this version comes with some API incompatibilities compared to the 0.x versions, upgrading to this version is an easy task.



  • New Feature: QRIN-5 - Improve Character Validation Messages

  • Bugfix: QRIN-4 - Payment Reference max length 25 instead of 27

  • Bugfix: QRIN-6 - Payment Part not generated with English labels if default locale is German, French or Italian


Starting with this version, all artifacts are published to Central Repository. Furthermore all QR Invoice Solutions are dual licensed under the AGPLv3 as well as our commercial licenses.

  • New Feature: QRIN-2 - Add Arial Support (feature requested by client)

  • Bugfix: Set correct box corner line width for freeTextBox (amount / debtor) in OpenPdf implementation


  • New Feature: QR Invoice REST Standalone Application - Demo WebApp

  • New Feature: QR Invoice REST Standalone Application - Swagger UI updated

  • Bugfix: QRIN-3 - Amount format issue for round sums


  • New Feature: Standalone application "qrinvoice-rest-standalone implemented, which exposes REST API with swagger documentation

  • New Feature: QR Code - rendering support for PDF, JPEG and BMP added

  • New Feature: Payment part - rendering support for JPEG and BMP added

  • Bugfix: Wrong line widths when printing free text fields without printing the boundary line


  • New Feature: Payment part - rendering support for GIF, TIFF and PNG added (feature requested by client)

  • Improvement: Performance optimizations, mainly affecting SwissQrCode creation

  • Bugfix: Adjusted free text field corner sizes and line thickness in order to match exact dimensions from the specification / example file


  • New Feature: QrInvoiceCodeParser is capable of scanning QR Codes from images

  • New Feature: QR Code can be created as GIF, TIFF and PNG

  • Improvement: Validation considers max length of the Swiss Payments Code to be encoded in QR Code / Validates max supported QR version 25

  • Improvement: Warns if inputs are not trimmed

  • Improvement: Added detailed page on Specification Requirements Fulfillment


  • Improvement: Better layouting of the payment part depending on the payload

  • Improvement: Increased test coverage

  • Bugfix: Invalid character written to the SPC

  • Bugfix: Line ending (element separator) on last line of the SPC lead to more than 30 lines

  • Bugfix: Missing reference number in the information section (payment part)

  • Bugfix: Exception when attempting to create huge rasterized QR Code. Now a maximum of 10'000 pixels is validated.


This is the first build made publicly available. It is intended for interested people to experiment with the library.