generate: Move project/timesheet code to model
starting to support an Invoice based on a Transaction