/** TODO: The memo payee and number should be user configurable by the user */ @Override protected Transaction buildTransaction() { String number = "TRAN"; String payee = rb.getString("Tab.Transfer"); Transaction transaction; final int signum = amountField.getDecimal().signum(); if (panelType == PanelType.DECREASE && signum >= 0 || signum == -1) { if (hasEqualCurrencies()) { transaction = TransactionFactory.generateDoubleEntryTransaction( accountPanel.getSelectedAccount(), getAccount(), amountField.getDecimal().abs(), datePanel.getDate(), memoField.getText(), payee, number); } else { transaction = TransactionFactory.generateDoubleEntryTransaction( accountPanel.getSelectedAccount(), getAccount(), accountPanel.getExchangedAmount().abs(), amountField.getDecimal().abs().negate(), datePanel.getDate(), memoField.getText(), payee, number); } } else { if (hasEqualCurrencies()) { transaction = TransactionFactory.generateDoubleEntryTransaction( getAccount(), accountPanel.getSelectedAccount(), amountField.getDecimal().abs(), datePanel.getDate(), memoField.getText(), payee, number); } else { transaction = TransactionFactory.generateDoubleEntryTransaction( getAccount(), accountPanel.getSelectedAccount(), amountField.getDecimal().abs(), accountPanel.getExchangedAmount().abs().negate(), datePanel.getDate(), memoField.getText(), payee, number); } } ReconcileManager.reconcileTransaction(getAccount(), transaction, reconciledButton.isSelected()); return transaction; }