public function updateEntryFromInvoice(CashBookEntry $entry, Invoice $invoice, $amount) { $this->client->connect(); try { $this->client->CashBookEntry_SetAmount(array('cashBookEntryHandle' => $entry->getHandle(), 'value' => $amount)); $number = $invoice->getHandle(); if (is_array($number)) { $number = current($number); } $this->client->CashBookEntry_SetDebtorInvoiceNumber(array('cashBookEntryHandle' => $entry->getHandle(), 'value' => $number)); $this->client->CashBookEntry_SetText(array('cashBookEntryHandle' => $entry->getHandle(), 'value' => "Invoice: {$number}, Other Reference: {$invoice->getOtherReference()}")); return $entry; } catch (\SoapFault $e) { throw new EconomicException($e->getMessage()); } }