Creating a UBL (xml) or Pdf(Zugferd) file via individual client e-Invoice setting

Let me start by saying that I’m not a real developer.
Still I have changed (set hidden) the zugferd global settings and expanded/added, in the individual client customers settings, a dropdown menu where a UBL invoice (xml template file) can be choosen depending on which UBL version the customer need. Also “ZugFerd - Germany” was added.
In the e-mail to the customer the correct UBL file is also send as an additional/attached xml-file.

I’ve made these adjustments in the old 1.4.10 version of IP and this is working fine.
I will soon start with the same approach for the 1.5.x version.


  1. Is there anyone who is interested in this approach?
  2. For now I do not use multi-dimensional array because I do not know how to deal with it.
    Can anyone point me into the right direction and if possible provide me with some examples?
  3. In which folder/directory should I, logically, put the different xml-template files?

The customer/client information:

1 Like

@VeRony when you’re making the solution for 1.5.0 (or maybe 1.6.0) could you let us know? The ubl is becoming a standard in the invoicing world

@UnderDog As I announced in Slack, I will make my version available soon.

First of all, I want to clarify the reasons why I made these changes.

My accountant always gave me a costly invoice for his services. To justify his hours, he indicated that they had to do a lot of manual work. Invoices that I submitted digitally as a PDF were first printed and then manually entered into their accounting software. The risk of errors and the time spent was therefore high. In order to exclude all this manual work, I looked for (and found) a solution by delivering my invoices completely electronically in UBL format. Almost all accounting software (in the EU) can automatically read and process this format.
My invoices are now processed in less than 2 minutes.
For my customers, this can also reduce the processing time of their invoices considerably.

What adjustments have I made?

  1. For each customer it is possible to choose individually (based on a template) which e-invoice format (UBL, Zugferd, UBL-SI, …) he wants to receive. The selected e-invoice format is then sent by e-mail.
  2. The following fields (e-invoice format, IBAN, BIC, contact) have been added to the customer settings.
  3. The PDF invoice can now be displayed in a “modal window” on the invoice form.

Additional options (still under construction):

  1. In your own IP account you can indicate whether you want to receive a reminder (mail / calendar item) when the due date of your invoices has been reached. Your e-mail application will then inform you about this.
  2. An electronic SEPA Credit Transfer or Direct Debit file could also be created and sent along in the same way as an e-invoice. A (business) customer can then use this electronic file to upload into his payment application.

Whether this is useful to include in Invoice Plane is up to the developers.
I want to hand over my adapted code files to the developers (community) so they can rework them in a proper way according to the IP developers rules.

For additional information about UBL and electronic invoices you can visit the EU CEF website: CEF Digital - eInvoicing.