DRYed up invoices