Invoice creation refact