How do I use the new Qrcode feature in IP 1.6.1?

I would like to test/use the new QRcode feature but I can’t find a decent explanation of it anywhere.
More specifically, I would like to know where in my template file(s) I can adjust and/or set the QrCode settings?
Currently I would like to know where I can adjust or set the height and width, foreground and background colors, border and margin and possibly also if a logo is possible in the QrCode?

If you still have this issue… I think you need to do it with (custom) CSS rules, or if you want to keep your custom layout after future updates.

I made a finnish invoice template and added the qr and barcode to a totally custom layout. Unfortunately the old QR generating code did not produce a code that my banking software would accept. Also the new built in qrcode has the same problem (and looks different from mine). in case someone has any insight or fix how to make it work for EU/swiss (checked OP/Finland and BCV/Switzerland neither worked) it would be very much appreciated.

Finnish old fashioned barcode works well though.

1 Like

I don’t know the solution (yet), but are you saying that the built-in QR doesn’t generate the EU/swiss standard?
Have you seen the PR, that Verony has made? Maybe he’s using a different library and that’s the one for the EU?

Totally unrelated question from me, sorry.
Did you use hard-coded Finnish texts in your template? That means that we’re maintaining the Finnish translations for other users?

I think i’ve replaced a couple of Finnish translation strings last year after a ticket was filed on Github

I have custom_lang file for finnish yes.

1 Like

I could not get neither qrcode code (my custom one or the 1.61 built in one) to produce proper code that the apps of finnish or swiss banks accept. If I read my own qrcode with a qrcode reader, it seems to have all the required fields according to the finnish bank instructions.

1 Like

What I discovered; in older Dutch bank apps, the code generated by InvoicePlane is working. But newer bank apps are asking, for example, a specific iDeal logo, which is not available in the IP QR.

1 Like

Can you name the bank apps that aren’t working? It also means that our QR generator isn’t good enough.

Yes, that’s a pitty because I have seen how great it could work with an older app from the ASN Bank. The new app from ASN Bank is not working and the app from Rabobank is not working too.

1 Like

Well, we just need a better QR code library, that’s all.

In one of the other forum threads someone from Finland had similar problems.

Like all things in life, there are standards, and then everyone deviates from those standards.

Now it’s time to find that library.
And to make it worse:

  • The current IP solution only works for certain banks/apps
  • What if we replace current solution? Then that functionality doesn’t work for those banks/apps anymore
  • So we need a mechanism that checks for which banks/apps which libraries need to be used

Well, I think that we can bring the possiblities down to country level. I think banks will try to make QR codes work, at least, nation wide.

1 Like

Let’s find out which library Verony used for his PR.

Undoubtedly The Netherlands is using some kind of European/Swiss standard, because, well, The Netherlands, Europe, you know…

So InvoicePlane has a mysql table ip_countries. Unless we don’t want to, we can add extra columns to that table.
For each country we can then determine the standard to use, if that makes sense

I would still like to try to bring some clarity to these discussions…
@Panu_Artimo: using css to resize a qrcode does not work because doing so changes your qrcode itself.
Decoding such a resized qrcode gives an error message “Error in QR-Logo: uncaught exception: Unable to decode a function pattern”.
This is among other reasons why I asked my question.
The qrcode works as such but I currently don’t know how to easily adjust these settings in my templates.

The QRcode library uses the European EPC069-12 standard
In regards to the QR code not working for a particular bank.
This could have several causes:

  • There may be an error in the data elements of your QRcode.
  • Your customer’s bank does not use the standard EPC QR-Code but works with an external payment provider (e.g. as @KENE indicates iDeal for ASN bank and Rabobank).

To determine the cause of the problems you would need to decode the “incorrect QR-Ccode” and see if it answers to the standard SEPA EPC069-12 which you can find here: Quick Response Code: Guidelines to Enable Data Capture for the Initiation of a SEPA Credit Transfer
If you are sure it is correct then you can have (your customer?) ask their bank if their bank app works with the EPC QR code standard or if they, (like @KENE) work with an external payment provider (iDeal, Payconiq by Bancontact, …)
This means that “certain” customer bank apps have a problem (because they are working with an external payment provider) but that there is no error in the QR code as generated by InvoicePlane.
E.g.: My banking app (in Belgium) can use Payconiq but in my bank transfer (payment) form I can use the QR code scanner to automatically fill in all data elements to this form (that the EPC069-12 QR-Code accepts by default).

I give customers several options (manual bank transfer form, QR-code payment, …) to pay their invoices (easily) but that they have the choice to do it the way they want.
If a customer comes to me with a QR code problem, I advise them to check with their bank if payments via the EPC QR code are possible by default in their app and if so how to use this functionality.
So the InvoicePlane QR code works and there “may” be a problem with some banking applications that use an external payment provider to scan QR codes instead of the European EPC standard.
This also means that (in my opinion) there should be no verification feature or country-level adjustments.

I fear that only the bank (of your customer) can help in solving the problem… if they implement the European EPC069-12 QR-Code standard in their banking app.

1 Like

I advise them to check with their bank if payments via the EPC QR code are possible by default in their app and if so how to use this functionality

Well, we can ask those banks.
There are not that many banks in The Netherlands, so then we have a small list.
Then we’d have to ask the Finnish banks for the Opening Poster.

I’m just curious, not to make a decision, which countries would be using that European standard.

That could be the base standard: when everything else fails, we’ll just use that one.
Then there’s the US standard
and then the rest of the world(?)

What would you suggest? And which changes to the current IP 1.6.1 regarding QR codes would you suggest?

  • We have to deal with EPC069-12 for sure.
  • Then we have a Finnish standard(?)
  • Then we have a US standard?
  • Maybe Italy, Spain, Portugal have their own standards? Let’s figure out how to deal with them.

And, especially … which library to use to generate their QR code standard (if that makes sense).

I have sent a message to the ASN Bank and received response. “The SEPA QR function is not available yet in the new app. The method is not being used by many users.”

Have asked why the older app was working already and if they are going to support SEPA QR standard in the near future.


Latest response from ASN: Dutch banks are not (yet) obliged to implement the EU QR standard, so it not known when they will do this.

1 Like

@KENE , I strongly doubt your bank’s explanation.
That banks like ASN Bank and Rabobank offer iDEAL (or other external parties) is purely commercial because they can charge for this (+/- 0.25 €) per transaction.
Keep asking your bank(s) to implement SEPA (EPC) QR-Code might help… :grinning:
And of course a bank is not obliged to use the EPC QR-Code standard but could boost customer satisfaction, I think.

Currently I’m using the QR-Code (part of Barcode) library in mPDF but I’m exploring whether I can’t better use the current QR-Code (Encode) library in IP because I also want to customize logos (like for Switzerland), color and size.

@Panu_Artimo @KENE, …
Tip: encoding and decoding QR-Code you can find plenty on the Internet.
On this website (SCT QR code generator) you can see what data, text and QR-Code you create.
More explanation about QR-Code can be found here (EPC QR code - Wikipedia).
I transferred the example on this website into the QR-Code generator and this looks like this.

To see if your banking app works with SEPA EPC QR-Code, you can try the QR-Code in the screenshot above in your banking app.

The text on the right side then looks like this in my IP code/template.

Tip2: Take a screenshot or a picture and use a decoder to see why a particular QR-Code is not working in your bank app. If the result looks like the content in the red box in the screenshot above then it is a SEPA EPC QR-Code.

1 Like

If I copy the settings from my IP like iban and bic to the code generator I get the correct values and my bank app reads the code just fine, fills the data correctly.

If I generate the invoice/QR code with IP the same bank app said it’s not valid.

I’ll try to mimic your code (it was almost the same, but my version was 002 (yours is 001) znd your size is 1.50 (mine was 0)

Also the "'s don’t match inside the barcode tag.(red " in your screenshot)

1 Like