add invoice/invoice repository classes and tests