I took a quick look through the service creation process and it looks like if you create a service and append it to an existing invoice then you receive a fatal error. I created a task to resolve that issue CORE-2480, which was introduced by CORE-2167.
If this is the issue you are having, just add this code to the beginning of Invoices::appendServices() and you should be good:
if (!isset($this->ServiceInvoices)) {
Loader::loadModels($this, ['ServiceInvoices']);
}