Where can I find the reference number of a bill?

I am currently playing around with SwissQR codes.
When I use a QR-IBAN and BESR ID, it automatically generates a reference number that is used on the QR Code.

The number is mostly the bill number plus an additional random number at the end?

Is there a way to see this QR code in InvoiceNinja?
How do you guys use this feature? I struggle to find any use case for this reference number, if I can’t match the bills in InvoiceNinja. Am I overlooking something?

Hi,

@david can you please advise?

Hi @JamesKimmel

I think I have improved this. It appears the reference is a combination of the BESRID and reference number (invoice number)

I have improved this by included the invoice number by default in the additional information section.

Also, I have implemented localization for the QR code to the clients locale.

Finally, the CSS can also be improved by a slight change to the design, in the includes section add the following block:

#qr-bill {
width:100% !important;
box-sizing: border-box;
border-collapse: collapse;
color: #000;
}
1 Like

The design looks very neat, thank you!

Will you add this to the docs or implement is as a default in later versions?

Sorry to be so thick but I still don’t know if there is a way to find the reference code within InvoiceNinja?
It is fine by me, if it is not possible, I can use IBAN without BESR ID and just the invoice number as additional information.

At the moment, both the QR-IBAN with BESR ID and the normal IBAN do not add anything to additional information. Is this in a later release?

Hi @JamesKimmel

I try an answer… The idea behind the reference nr. is the same as it was on old ESR Payment Slips: If you have per example Abacus as ERP you could download in the eBanking a transaction file. In Abacus you can import this file and Abacus recognizes automatically which invoice is paid… So, thats about the use case.

Technically the reference nr. must be valid. So you cannot mix and match the invoice nr. and a random numbered string. The last digit in the whole string represents a CheckDigit. This one is calculated with the Modulo10 Routine which iterates through the 26 digits and add the 27th digit. This one ensures, that the reference id is a valid one.

In my harm opinion it is useless to show the reference nr. in the field additional information section, because this number is for the customer completely irrelevant (in a Human-readable format). I recommend for example showing the invoice nr. and the purpose of payment (The field „Additional Information“ was on old ESR Payment Slips called „Purpose of Payment“, in German Zahlungszweck).

I hope, my answer is helpful for you. If you have any further questions, I will try to answer…

Greets
Dominik

2 Likes

Hi @checkitsedo

Thanks for you explanation. This will get a little bit off topic, hope you don’t mind.

In Abacus you can import this file and Abacus recognizes automatically which invoice is paid… So, thats about the use case.

Got it. Is there also an option to import transaction files to InvoiceNinja, so it marks bills as paid?

The last digit in the whole string represents a CheckDigit

That makes sense. Strange that it is not the first two digits like with IBAN Chechsum :grin: But of course that does not really matter, if it does not have to be human readable.

In my harm opinion it is useless to show the reference nr. in the field additional information section

I personally have to rethink how I will handle my current system, but let me describe you why I think it is or was useful for me. I am a one man small side hustle business with around 1-3 bills every month. Previously I just created the QR code myself (with additional information) and merged the PDF together with the invoice from Ninja. Every month I check my eBanking report. If a customers has paid, I see Zahlungszweck “R00148” for example. I go to InvoiceNinja and mark it as paid. End of the year, I take all bills and put them into GNUCash. I know it is not sexy and not very automated but it works and is not too much of a hassle.

But maybe I should have a look into eBanking transaction files. I don’t even know, if my personal bankaccount even supports this :blush:

@JamesKimmel

I’ve updated the clean design to make the qr appear across the entire width of the page, you may need to run

php artisan ninja:design-update

To update the designs in your system.

1 Like

@JamesKimmel
the latest Release v5.5.36 fills the invoice nr. into the additional information field…

As far as I see, it is now possible to import the Banking Transfer File (Sammelbuchungen) from .csv-Format…

Greets, Dominik

1 Like

I’ve updated the clean design to make the qr appear across the entire width of the page, you may need to run

Great, so we don’t need to update the docs on this and to me this is solved.