add invoice parser, issue #26

closes #26