add invoice functionality