public function saveGLTransaction(&$data, &$errors) { $db = DB::Instance(); $db->StartTrans(); // Write to General Ledger $gl_trans = GLTransaction::makeFromLedgerJournal($this, $data, $errors); if ($gl_trans === false || !GLTransaction::saveTransactions($gl_trans, $errors)) { $db->FailTrans(); } else { // Return the Ledger Transaction Id $data['ledger_transaction_id'] = $this->id; $data['payment_value'] = $this->gross_value; } return $db->CompleteTrans(); }