https://blog.probooks.com/posts/advanced-customizing-invoicing-tips/