diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java
index 314888174266c0e8383e2ba681f3eba7196a83e3..d405b46fe92a9a9a79210f67ea196cb04cae6159 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java
@@ -198,6 +198,43 @@ public class TransactionImportController extends BaseController
 		final CsvTransaction csvTransaction = transactionOptional.get();
 		csvTransaction.setStatus(CsvTransactionStatus.IMPORTED);
 
+		final Transaction newTransaction = createTransactionFromCsvTransaction(csvTransaction);
+
+		// TODO use csvTransaction.getDate() instead of debug date
+		transactionService.prepareModelNewOrEdit(model, false, LocalDate.now(), false, newTransaction, accountService.getAllActivatedAccountsAsc());
+
+		if(type.equals("transfer"))
+		{
+			return ReturnValues.NEW_TRANSACTION_TRANSFER;
+		}
+		return ReturnValues.NEW_TRANSACTION_NORMAL;
+	}
+
+	@PostMapping("/{index}/newTransactionInPlace")
+	public String newTransactionInPlace(WebRequest request,
+										@PathVariable("index") Integer index,
+										@ModelAttribute("NewTransactionInPlace") CsvTransaction newCsvTransaction)
+	{
+		final Optional<CsvTransaction> transactionOptional = getTransactionByIndex(request, index);
+		if(transactionOptional.isEmpty())
+		{
+			return ReturnValues.REDIRECT_IMPORT;
+		}
+
+		final CsvTransaction csvTransaction = transactionOptional.get();
+		csvTransaction.setStatus(CsvTransactionStatus.IMPORTED);
+
+		// update original CsvTransaction attributes with values from user (from newCsvTransaction)
+		csvTransaction.setName(newCsvTransaction.getName());
+
+		final Transaction newTransaction = createTransactionFromCsvTransaction(csvTransaction);
+		transactionService.getRepository().save(newTransaction);
+
+		return ReturnValues.REDIRECT_IMPORT;
+	}
+
+	private Transaction createTransactionFromCsvTransaction(CsvTransaction csvTransaction)
+	{
 		final Transaction newTransaction = new Transaction();
 		// TODO parse first
 //		newTransaction.setDate(csvTransaction.getDate());
@@ -208,14 +245,7 @@ public class TransactionImportController extends BaseController
 		newTransaction.setAccount(helpers.getCurrentAccountOrDefault());
 		newTransaction.setCategory(categoryService.findByType(CategoryType.NONE));
 
-		// TODO use csvTransaction.getDate() instead of debug date
-		transactionService.prepareModelNewOrEdit(model, false, LocalDate.now(), false, newTransaction, accountService.getAllActivatedAccountsAsc());
-
-		if(type.equals("transfer"))
-		{
-			return ReturnValues.NEW_TRANSACTION_TRANSFER;
-		}
-		return ReturnValues.NEW_TRANSACTION_NORMAL;
+		return newTransaction;
 	}
 
 	private void removeAllAttributes(WebRequest request)
diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvTransaction.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvTransaction.java
index 073da472e0bdebcb262589fb65cb0a57ac7347cf..0e698def17a8aa03ec900a9fcda55f98d4b8d9e2 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvTransaction.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/CsvTransaction.java
@@ -5,7 +5,7 @@ import java.util.Objects;
 public final class CsvTransaction
 {
 	private final String date;
-	private final String name;
+	private String name;
 	private final String amount;
 	private CsvTransactionStatus status;
 
@@ -27,6 +27,11 @@ public final class CsvTransaction
 		return name;
 	}
 
+	public void setName(String name)
+	{
+		this.name = name;
+	}
+
 	public String getAmount()
 	{
 		return amount;
diff --git a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl
index c162a70f813f904b215f01815cc288049adeb2ef..c31894679e0d797b772b0ae83d25de22a038a4be 100644
--- a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl
@@ -206,32 +206,41 @@
 
 <#macro renderCsvRow csvTransaction index>
     <tr>
-        <td><@statusBanner csvTransaction.getStatus()/></td>
-        <td>${csvTransaction.getDate()}</td>
-        <td>${csvTransaction.getName()}</td>
-        <td>${csvTransaction.getAmount()}</td>
-        <td>
-            <div class="fixed-action-btn edit-transaction-button">
-                <a class="btn-floating btn-flat waves-effect waves-light no-padding text-default edit-transaction-button-link">
-                    <i class="material-icons">edit</i>
-                </a>
-                <ul class="new-transaction-button-list">
-                    <li>
-                        <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.normal"))}</a>
-                        <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn background-orange"><i class="material-icons">payment</i></a>
-                    </li>
-                    <li>
-                        <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.transfer"))}</a>
-                        <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn background-green-dark"><i class="material-icons">swap_horiz</i></a>
-                    </li>
-                    <li>
-                        <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.from.template"))}</a>
-                        <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn background-blue-baby"><i class="material-icons">file_copy</i></a>
-                    </li>
-                </ul>
-            </div>
-            <@header.buttonFlat url='/transactionImport/' + index + '/skip' icon='block' localizationKey='' classes="no-padding text-default button-request-transaction-import-skip"/>
-        </td>
+        <form name="NewTransactionInPlace" method="POST" action="<@s.url '/transactionImport/' + index + '/newTransactionInPlace'/>">
+            <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
+            <td><@statusBanner csvTransaction.getStatus()/></td>
+            <td>${csvTransaction.getDate()}</td>
+            <td>
+                <div class="input-field">
+                    <input id="name-${index}" type="text" name="name" required value="${csvTransaction.getName()}">
+                    <label class="input-label" for="name-${index}">${locale.getString("transaction.new.label.name")}</label>
+                </div>
+            </td>
+            <td>${csvTransaction.getAmount()}</td>
+            <td>
+                <@header.buttonSubmit name='action' icon='save' localizationKey='' classes='text-white'/>
+                <div class="fixed-action-btn edit-transaction-button">
+                    <a class="btn-floating btn-flat waves-effect waves-light no-padding text-default edit-transaction-button-link">
+                        <i class="material-icons">edit</i>
+                    </a>
+                    <ul class="new-transaction-button-list">
+                        <li>
+                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.normal"))}</a>
+                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn background-orange"><i class="material-icons">payment</i></a>
+                        </li>
+                        <li>
+                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.transfer"))}</a>
+                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn background-green-dark"><i class="material-icons">swap_horiz</i></a>
+                        </li>
+                        <li>
+                            <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.from.template"))}</a>
+                            <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn background-blue-baby"><i class="material-icons">file_copy</i></a>
+                        </li>
+                    </ul>
+                </div>
+                <@header.buttonFlat url='/transactionImport/' + index + '/skip' icon='block' localizationKey='' classes="no-padding text-default button-request-transaction-import-skip"/>
+            </td>
+        </form>
     </tr>
 </#macro>