#255. Invoice

Add invoice capabilities with Zoho.
Same here, it's bad practice to do multiple setState calls in one iteration of the render loop. Just combine this into one call:
```js
this.setState({
  loading: false,
  generated: jqXHR.status == 201,
  unauthorized: jqHXR.status != 201,
});
```

Now that I look at it, this function doesn't make sense. 201 is a success error code, so this error handler will never be called for that code. You may as well just directly do `generated: false` and `unauthorized: true`.

And since this handler is for all kinds of errors, we should probably name the state property `error` instead of `unauthorized`.