Earlier this month, we quietly rolled out a new design for our monthly invoices. It's a breath of fresh air compared to the previous iteration, and we thought it would be interesting to share what goes into a design like this.
At Heroku, billing is complex. Dyno hours are calculated to the second. Add-ons are calculated based on each provider’s pricing plan, which can be monthly or by usage depending on the add-on. There are support expenses, credits, free dyno hours, and packages. This all has to be wrangled into a format that not only makes sense for the back-end systems that run calculations, but also for the human beings that use Heroku and need to understand what they’re paying...