This plugin generates a Swiss QR-bill payment slip for every order paid with this method. The PDF is produced in HikaShop following the official Swiss Payment Standards (specification v2.3, effective November 2025), so it can be scanned and processed by every Swiss bank's mobile app, ATM, and e-banking portal.
Features
- Once installed, it will be configurable like a normal payment method with the "new" button in the menu System > Payment methods of HikaShop.
- At the end of the checkout, the customer is taken to the order confirmation page with a download link to the QR-bill PDF, and the same PDF is also automatically attached to the order confirmation email when the option is enabled.
- The QR-bill PDF can be regenerated at any time from the order detail screen in the HikaShop backend via the "QR-Bill" button.
- Supports both QR-IBAN with structured QR reference (the most common case) and standard IBAN with no reference, configurable per payment method instance.
- Compliant with QR-bill specification v2.3 (mandatory since November 2025): structured creditor and debtor addresses, expanded character set, and the PostFinance-specific BESR ID handling for non-PostFinance bank accounts.
- Builds the debtor's structured address from the order's billing address. Supports a configurable house number column when the shop already collects it as a separate custom field; otherwise the plugin extracts the house number from the street field automatically.
- Customizable additional information line on the slip, with tags for the invoice number ({invoice_number}) and the invoice date ({invoice_date}).
- Multilingual: the slip labels (Payment part, Receipt, Currency, Amount, ...) are rendered in English, French, Italian or German based on the order language, matching the official Swiss Payment Standards translations.
- Bundled with the latest sprain/swiss-qr-bill v5 library, TCPDF v6.11, and endroid/qr-code v6, so the plugin runs cleanly on PHP 8.4 and 8.5 with no deprecation noise. Note that endroid/qr-code v6 requires PHP 8.4 as a minimum.
Installation
- 1) Download the plugin from our website via the download link provided to you after the purchase.
- 2) Install it on your Joomla website (extension manager). Note that due to the libraries included in the plugin to generate the QR bill, the package weights more than 30MB. So if you have a lower upload limit, you won't be able to install it via the drag&drop interface of the Joomla installer. You'll have to extract it on your local computer, upload the files in the tmp folder of your Joomla via FTP, and run the Joomla installer from that folder.
- 3) In your HikaShop System > Payment methods menu, click on the "new" button to create a new payment method and select the QR Bill payment plugin.
- 4) Configure the plugin with your company address (creditor information shown on the slip) and your QR-IBAN (or standard IBAN if you do not use the QR reference). If you have a BESR ID from your bank (and you are not with PostFinance), enter it as well.
- 5) Decide whether to attach the QR-bill PDF to the order confirmation email and / or to the order status notification email via the corresponding settings.
- 6) Optionally, fill the "Additional information" field with a short message printed on the slip. You can use the {invoice_number} and {invoice_date} tags so that each slip carries the matching invoice reference.
- 7) If your shop collects the house number as a separate custom field on the address, enter that field's column name in the "House number field column name" setting so the slip uses the structured address pair (street, house number) instead of trying to split the street field.
Use
- HikaShop 5.1.0 or later
- This plugin is compatible with all the editions of HikaShop
- Requires PHP 8.4 minimum (PHP 8.4 and 8.5 supported)
- Requires the PHP intl, mbstring and gd extensions (standard on every modern Joomla / WordPress hosting)
- A Swiss bank account with a QR-IBAN or a standard IBAN is required
- No limit of time
- No limit of use
- 30-day money-back guarantee
Changelog
4.0.5 on the 11th of June 2026
- The QR-bill PDF is now attached to the order emails for orders placed by guests (customers who checked out without creating an account). When the PDF was generated while the email was being sent, the order could not be loaded for a guest, so those customers received the email without the QR-bill; it is now generated and attached for guest and registered customers alike.
- The address-field check on the payment method configuration page now always shows its readable warning text instead of, on some installations, the raw internal label (for example QRBILL_ADDRESS_FIELD_NOT_PUBLISHED). The plugin now also loads its translations from its own folder as a fallback when they were not copied to the administrator language folder.
- Single-country shops can now leave the country address field unpublished. When the country field is not published, the QR-bill uses the country configured on the payment method as the customer's country (the configuration page now confirms this with an informational notice instead of an error), so a shop that only sells within Switzerland no longer has to publish a country field its customers do not need.
4.0.4 on the 10th of June 2026
- When a QR-bill cannot be generated for an order, the reason is now written to the HikaShop payment log file (System > Configuration > Payment, the file set in "Payment log file"). Until now the bill was simply missing from the email with no trace, which made it hard to find out why. The most common cause is a billing address that is incomplete because a required address field was left empty.
- Address values that are too long for the QR-bill standard (for example a very long company name, street or city) are now shortened to fit instead of preventing the whole bill from being generated. The QR-bill is produced with the trimmed values rather than skipped.
- The payment method configuration page now checks your HikaShop address fields and warns you directly on screen if a field the QR-bill needs (post code, city, country, last name) is not published, or is published but not set as required. A field that customers can leave empty is the usual reason a QR-bill is missing from an order email while the invoice is still attached.
4.0.3 on the 3rd of June 2026
- The customer address in the invoice section above the QR-bill now includes the house number again. When the house number is stored in a separate address field, the invoice header was showing only the street name; it now shows the full street and number, matching the address printed on the payment part below.
- Corrected the German label on the invoice header: it now reads "Rechnungsempfänger" with the umlaut, instead of "Rechnungsempfanger".
4.0.2 on the 2nd of June 2026
- The invoice number printed on the bill now matches the one shown in HikaShop. It previously displayed HikaShop's internal numeric invoice id; it now uses the formatted invoice number from your "Invoice number format" setting (for example BE-09145/06/26). The QR payment reference itself stays numeric, as required by the Swiss QR-bill standard.
- The custom item fields of each product are now printed under the product name in the invoice section above the QR-bill (the same fields shown on a normal HikaShop invoice), so the information is no longer lost on the QR-bill slip. This applies when the "Include invoice header" option is on, and requires the Business edition (custom fields).
4.0.1 on the 1st of June 2026
- Fixed the tax amount not appearing in the totals of the built-in invoice header. The invoice showed the subtotal and the grand total but not how much tax was included. It now displays the tax, with one line per VAT rate when the order has several. This only affects the invoice that the plugin can optionally print at the top of the QR-bill page; if you deliver your invoice from another source (for example the PDF Invoice plugin) you can keep the "Include invoice header" option turned off.
- Updated the bundled QR-code library (endroid/qr-code) to its latest major version, which removes the deprecation notices that could appear in the logs when generating a QR-bill on PHP 8.5. This new major version of the library requires PHP 8.4 or later, so this update raises the plugin's minimum PHP version from 8.1 to 8.4.
- Internal cleanup: removed a duplicated access-protection guard in the main plugin file. No change in behaviour.
4.0.0 on the 29th of April 2026
- The plugin now generates QR-bills following the Swiss Payment Standards specification v2.3, mandatory since November 2025. The bundled sprain/swiss-qr-bill library was bumped from v4.0 to v5.3, with the matching API change in the integration code (the previous fluent setPrintable() call was replaced with the v5 DisplayOptions setter, which is the only end-user-visible code path that needed adjusting).
- The bundled TCPDF library was bumped from v6.4 to v6.11, the bundled endroid/qr-code library was bumped from v4.4 to v5.1, and the bundled Symfony components were bumped from v6.0 (EOL since January 2023) to v6.4 LTS (supported through November 2027). Together these dependency updates remove the PHP 8.4 deprecation notices that the previous bundle emitted on every QR-bill generation.
- The QR-bill PDF now carries a minimal invoice on the same A4 page (creditor and debtor blocks at the top, line items with quantities and prices, totals block with subtotal / shipping / tax / discount / grand total, and a dashed cut-line above the payment slip), so the customer receives a single document that doubles as both the invoice and the payment slip, which is the canonical Swiss layout. Toggle off via the new "Include invoice header" setting if you already deliver a richer invoice from another source (for example from the HikaShop PDF Invoice plugin) and want the QR-bill PDF to remain a payment slip alone. The labels on the invoice are translated into the same four locales the QR-bill itself uses (English, French, German, Italian) and follow the order language.
- Compatible with PHP 8.5 (added by sprain/swiss-qr-bill v5.1) and Joomla 6.
3.0.3 on the 7th of March 2026
- Hardened the return URL handling against XSS, defense-in-depth: the URL is now escaped before it is emitted in the JavaScript redirect on the thank-you page, so a tampered query parameter cannot inject markup.
3.0.2 on the 14th of December 2023
- Packaging fix to ensure the marketplace ZIP is generated correctly by the build tool, so the plugin installer is consistent with the rest of the HikaShop plugin family.
3.0.1 on the 4th of October 2022
- Fixed an unmatched double quote in the auto-update manifest that prevented Joomla's extension manager from recognising newer versions of the plugin.
3.0.0 on the 31st of August 2022
- Added support for the {invoice_date} tag in the "Additional information" setting so the date of the invoice can be printed alongside the invoice number on the QR-bill payment slip, in addition to the {invoice_number} tag that was already supported.
2.0.0 on the 28th of April 2022
- Plugin packaging brought in line with the JED (Joomla Extensions Directory) standards: dedicated .opack manifest, standard licence header on every PHP file, and a public update XML so Joomla's extension manager can pull future updates automatically.
1.1.0 on the 4th of April 2022
- Output character encoding switched to UTF-8 so accented merchant and customer names render correctly on the slip.
- Support added for standard IBANs in addition to QR-IBANs; previously only QR-IBANs were accepted, so shops working with a regular Swiss IBAN can now use the plugin too with the QR reference disabled.
1.0.0 on the 17th of February 2022
- Initial release of the Swiss QR-bill payment plugin: QR-IBAN with structured reference, configurable creditor block on the slip, debtor block extracted from the order's billing address, PDF generation via TCPDF, optional attachment of the PDF to the order confirmation email, and a "QR-Bill" button on the order detail screen in the HikaShop backend so the slip can be regenerated at any time.