created for incident 22351
get example pdf working with express
use async of course
grab some data
start bringing in invoice data
transform data structure
use temp dir
possibly premature abstraction
start on footer
new abstraction
finish abstracting header data
now very abstract
unify detail and header convention
move stuff around
add documentation
put everything in the route function
more cleanup
add billto
put report definitions in the database
cleanup