QR code to scan and pay

Dear Invoice Ninja Team, first of all thank you for this wonderful project. It helps me and my wife to save time. I have found out that the $spc_qr_code doesn’t work any more. I am using snappdf but phantom doesn’t recognize the $spc_qr_code sniper as an image too.

It seems like there is no working solution for this function at the moment?

Since I am not savvy in JS/html I kindly ask you to provide a solution/documentation on how to implement this function in order to get the payment with the QR code working.

It is a very important function for me because people in EU use it very often.

Please help.

Hey @vigorio
That’s how I create the QR Code:

 <img src="https://chart.googleapis.com/chart?cht=qr&chl=$spc_qr_code&chs=200x200&chld=L|0"
           class="qr-code img-thumbnail img-responsive" />

In case you need a proper Swiss QR code invoice: I hired a freelancer to create a template. I’m happy to send it to you for a coffee or two :wink:


Dear lucaw, thank you for your message! You helped me a lot. With your hint I could create the right QR code. I needed the European SEPA Payment QR code. Here is what I could do, maybe someone will find this useful:

<p><img src="https://chart.googleapis.com/chart?cht=qr&chl=BCD%0A002%0A1%0ASCT%0YOURBICORSWIFT%0AYOURCOMPANY%0AYOURIBAN%0A EUR$amount%0A%0A$number&chs=170x170&chld=L|0" class="qr-code img-thumbnail img-responsive" /></p>

Thank you again for your hint and help!


@lucaw Just curious, would you mind sharing a screenshot of your custom invoice template?

Hey @gsm
Sure, there you go:

The QR invoice part is always on a new page.

neat, thanks for sharing

1 Like

Hey @vigorio
I have improved the QR-Code-Generation by setting defining custom fields:

<p><img src="https://chart.googleapis.com/chart?cht=qr&chl=BCD%0A002%0A1%0ASCT%0A$company1%0A$company.name%0A$company2%0AEUR$amount%0A%0A$number&chs=170x170&chld=L|0" class="qr-code img-thumbnail img-responsive" /></p>

and added:

<p>Pay with QR-Code<br>BCD 002 1 SCT $company1 $company.name $company2 
 EUR$amount $number</p>

which renders e.g. to this output:

Pay with QR-Code
BCD 002 1 SCT GENFENCE005 Dummy Ltd. DX5435645665756794355 EUR13.509,61 EUR 1152273997583

The $amount is formated by invoiceninja via localisation settings and not raw like

$balance_due_raw - Unformatted balance due label/value

which let my Tests via QR-Code app fail. The amount is not recognized – everything else is fine. Does this work in your Setup? It shound be


instead of

13.509,61 EUR

@hillel , @ben do you think we can get a $amount_raw which fits this needs?

8 EUR123.45 Zahlungsbetrag (Format „EUR#.##“, zwischen 0.01 und 999999999.99, optional)
EPC-QR-Code – Wikipedia



I’ll add add $amount_raw, is there a reason $balance_due_raw isn’t suitable for this use case?

1 Like

Hey @david

this particular QR-Code can only deliver one invoice-no to which the total corresponds.
When I check my accounting I see e.g. R00012 – 13454.56EUR only the particular tasks are contained.
I use balance_due for (psychological) information to my customer, that there is more money in due but not primarly for payment. At least I have the choice to switch – so thank you very much for this.

Hey @david

Sorry to @cdahinten for off topic question but i need help on how to ask @david my own questions and i dont know how to as i am new to this forum or any other

Do i have to create a topic in order to ask a question?
or do i just budge into an existing conversation like this?
What do i do if i have a list of Questions say about 5 Questions that i need help on for my Version 5 Self Hosted Installation Setup ?.

Please start a new thread

Hi, please could you share your templates or give me a tip to implement support for Swiss QR invoices in my self-hosted Invoice Ninja installation.
I’m still using version 4, but I’d like/could upgrade to version 5 in the future.