@Override
  public TransactionEntry buildTransactionEntry() {
    TransactionEntry entry = new TransactionEntry();

    entry.setMemo(memoField.getText());

    entry.setDebitAccount(getAccount());
    entry.setCreditAccount(accountPanel.getSelectedAccount());

    entry.setDebitAmount(amountField.getDecimal().abs().negate());

    if (hasEqualCurrencies()) {
      entry.setCreditAmount(amountField.getDecimal().abs());
    } else {
      entry.setCreditAmount(accountPanel.getExchangedAmount().abs());
    }

    entry.setTransactionTag(TransactionTag.INVESTMENT_FEE);

    if (reconciledButton.isSelected()) {
      entry.setReconciled(account, ReconciledState.RECONCILED);
    } else {
      entry.setReconciled(account, ReconciledState.NOT_RECONCILED);
    }

    return entry;
  }