public function createSimpleExpenseTransaction(Account $expenseAccount, Account $assetAccount, $amount, $date) { $transaction = new Transaction(); $description = $this->translator->trans("transaction.description.simple_expense", array("%account_to%" => $expenseAccount->getName()), 'Finance'); $transaction->setDescription($description); $transaction->setCircuit(Transaction::CIRCUIT_TWO); $transaction->setDate($date); $expenseEntry = new JournalEntry(); $expenseEntry->setAccount($expenseAccount); $expenseEntry->setTransaction($transaction); $expenseEntry->setDebit($amount); $expenseEntry->setDate($date); $transaction->addJournalEntry($expenseEntry); $assetEntry = new JournalEntry(); $assetEntry->setAccount($assetAccount); $assetEntry->setCredit($amount); $assetEntry->setDate($date); $assetEntry->setTransaction($transaction); $transaction->addJournalEntry($assetEntry); /* persist */ $this->transactionRepository->save($transaction); return $transaction; }