https://blog.probooks.com/posts/mastering-client-retention-invoicing/