I got annoyed at all the invoice generators so I recently built my own in a weekend. I put the data in Airtable and a python script generates the pdfs using typst. Much more flexible than any of the solutions I found and it took me less to build it than the time i spent trying out the available solutions.
They assume a specific format of the invoices and conditionals aren’t easily supported - like if I’m removing VAT use one format, if not use another.
Another problem is the annoying data input where things aren’t organized using tables for quick input, rather than forms on different screens. One more thing that comes to mind is it’s hard to reuse elements, sometimes I have a generic template per client and just swap in and out line items etc.