Recfactored Invoice Class