https://blog.probooks.com/posts/creating-seamless-invoicing-experience/