We need to generate a PDF invoice using an html template. Please see the following that we can use as a basis: https://s3-eu-west-1.amazonaws.com/htmlpdfapi.production/free_html5_invoice_templates/example1.zip
Use the following fields:
No need for:

@mariobehling Please check if this is fine

There is a difference between the invoice email and the actual invoice. Therefore the text does not need to be part of the invoice itself.
Gross Revenue is total amount earned. Net revenue is gross - fee
Why do we calculate more than 2 digits behind the dot? Where does this calculation come from?
It reports as much digits as it needs to precisely show the sum of all amounts, I'll round it to 2 digits
Ok, then please only show "Gross Revenue" but instead use "Amount Earned:.." and the fee is shown in the "Fees" column.
According to what I see after checking other services in detail, they usually give 30 days as a due date. So, we should also follow that. Therefore please change due date to 30 days.
I just added payment info into my account at https://eventyay.com/account/billing/payment-info
We also need to show a tax ID for the consumer/organizer as required by tax offices in many countries.
OK
Here is the invoice format that we can use for now. It is inspired by others:
202009U-00001
Invoice Format: YYYYMMU-Running-Invoice-Number

@mariobehling Showing the auto incrementing ID in PDF will not be possible as we only get the new ID once we save the invoice in the database, and we don't want to save the invoice in database before generating PDF, because if due to any error, the PDF is not generated, then the invoice will be in an inconsistent state. We can use a randomly generated identifier instead of running invoice number
The problem is that most companies are required by law to have invoices that increment. That means in their books they need to have an invoice xxx001, xxx002, xxx003 etc. and it is not possible that they skip invoice xxx002. How to deal with that?
Will think of something. Implementing other things for now so that this does not block other progress
Even with DB autoincrementing keys, it may skip a number due to rollback of transactions, so I'm not sure how they implement it. Will search about it.
Rollback meaning e.g. if we have to reimburse or revert a transaction?
In such a case a new invoice would have to be created which would be negative. Not sure if that is what you mean.
No, I meant if there was a DB transaction error (technical), databases are rolled back to revert the changes made, this can lead to skipped numbers
Reference on why it is complex to reliably generate unique incrementing numbers without a gap in a multi process environment: https://stackoverflow.com/questions/31751744/spring-jpa-with-hibernate-fiscal-sequence-generation
https://stackoverflow.com/questions/14215894/how-to-ensure-gap-free-and-safe-invoice-number-generation-legal-issues/35941522
This is final PDF:

Merged as PR was getting large. Please reopen if more changes are required