diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
index 8f3edab07189154a1ba7e8be04ea7bf7c27d38f7..6cce1d62d2a02d518f633c3848667a2337c726b6 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
@@ -2,10 +2,9 @@ package de.deadlocker8.budgetmaster.controller;
 
 import de.deadlocker8.budgetmaster.authentication.User;
 import de.deadlocker8.budgetmaster.authentication.UserRepository;
-import de.deadlocker8.budgetmaster.database.AccountMatch;
+import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatchList;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.database.DatabaseParser;
-import de.deadlocker8.budgetmaster.entities.Account;
 import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.repositories.AccountRepository;
 import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
@@ -33,8 +32,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
 
 
 @Controller
@@ -226,4 +223,12 @@ public class SettingsController extends BaseController
 		model.addAttribute("availableAccounts", accountRepository.findAllByOrderByNameAsc());
 		return "import";
 	}
+
+	@RequestMapping("/settings/database/import")
+	public String importDatabase(Model model, @ModelAttribute("Import") AccountMatchList accountMatchList, BindingResult bindingResult)
+	{
+		System.out.println(accountMatchList);
+		System.out.println(bindingResult);
+		return "settings";
+	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/AccountMatch.java b/src/main/java/de/deadlocker8/budgetmaster/database/accountmatches/AccountMatch.java
similarity index 89%
rename from src/main/java/de/deadlocker8/budgetmaster/database/AccountMatch.java
rename to src/main/java/de/deadlocker8/budgetmaster/database/accountmatches/AccountMatch.java
index 57d9654fe27fbe2f3b0f9140a1a7a68780e67ec5..2cc9da1bccdf9aa74c29f4100cc867419c0f1c99 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/AccountMatch.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/accountmatches/AccountMatch.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.database;
+package de.deadlocker8.budgetmaster.database.accountmatches;
 
 import de.deadlocker8.budgetmaster.entities.Account;
 
@@ -7,6 +7,10 @@ public class AccountMatch
 	private Account accountSource;
 	private Account accountDestination;
 
+	public AccountMatch()
+	{
+	}
+
 	public AccountMatch(Account accountSource)
 	{
 		this.accountSource = accountSource;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/accountmatches/AccountMatchList.java b/src/main/java/de/deadlocker8/budgetmaster/database/accountmatches/AccountMatchList.java
new file mode 100644
index 0000000000000000000000000000000000000000..02c8b66dedb396b85f4058d0894e593f02720b01
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/accountmatches/AccountMatchList.java
@@ -0,0 +1,35 @@
+package de.deadlocker8.budgetmaster.database.accountmatches;
+
+import java.util.List;
+
+public class AccountMatchList
+{
+	private List<AccountMatch> accountMatches;
+
+	public AccountMatchList()
+	{
+	}
+
+	public AccountMatchList(List<AccountMatch> accountMatches)
+	{
+		this.accountMatches = accountMatches;
+	}
+
+	public List<AccountMatch> getAccountMatches()
+	{
+		return accountMatches;
+	}
+
+	public void setAccountMatches(List<AccountMatch> accountMatches)
+	{
+		this.accountMatches = accountMatches;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "AccountMatchList{" +
+				"accountMatches=" + accountMatches +
+				'}';
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
index 61b76954fe97a861b53d76f6795da1a67d196b7a..cd575b98c5086196f23450caa6d5fc2ee70ce943 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
@@ -1,6 +1,6 @@
 package de.deadlocker8.budgetmaster.services;
 
-import de.deadlocker8.budgetmaster.database.AccountMatch;
+import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatch;
 import de.deadlocker8.budgetmaster.entities.Account;
 import de.deadlocker8.budgetmaster.entities.Payment;
 import de.deadlocker8.budgetmaster.entities.Settings;
diff --git a/src/main/resources/static/js/import.js b/src/main/resources/static/js/import.js
new file mode 100644
index 0000000000000000000000000000000000000000..34e587e96813bd11d1378c5f93e8a37c34e10b22
--- /dev/null
+++ b/src/main/resources/static/js/import.js
@@ -0,0 +1,35 @@
+$( document ).ready(function() {
+    // prevent form submit on enter
+    $(document).on("keypress", 'form', function (e) {
+        var code = e.keyCode || e.which;
+        if (code === 13) {
+            e.preventDefault();
+            return false;
+        }
+    });
+});
+
+function validateForm()
+{
+    // handle account matches
+    var accountSources = $('.account-source');
+    var accountDestinations = $('select.account-destination');
+    var parent = document.getElementById("hidden-account-matches");
+
+    for(var i = 0; i < accountSources.length; i++)
+    {
+        var input = document.createElement("input");
+        input.setAttribute("type", "hidden");
+        input.setAttribute("name", "accountMatches[" + i + "].accountSource.name");
+        input.setAttribute("value", accountSources[i].innerText);
+        parent.appendChild(input);
+
+        var inputDestination = document.createElement("input");
+        inputDestination.setAttribute("type", "hidden");
+        inputDestination.setAttribute("name", "accountMatches[" + i + "].accountDestination.name");
+        inputDestination.setAttribute("value", accountDestinations[i].value);
+        parent.appendChild(inputDestination);
+    }
+
+    return true;
+}
\ No newline at end of file
diff --git a/src/main/resources/templates/import.ftl b/src/main/resources/templates/import.ftl
index 5689216870a55578e3d88ddaafbf286d65a88372..587dcd57d365eabe100f9566d752897176c3c469 100644
--- a/src/main/resources/templates/import.ftl
+++ b/src/main/resources/templates/import.ftl
@@ -17,17 +17,17 @@
                 </div>
                 <div class="container">
                     <#import "validation.ftl" as validation>
-                    <form name="Import" action="/settings/database/import" method="post">
+                    <form name="Import" action="/settings/database/import" method="post" onsubmit="return validateForm()">
                         <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
 
                         <table class="bordered">
                             <#list helpers.getAccountMatches(database.getAccounts()) as accountMatch>
                                 <tr>
                                     <td class="import-text">${locale.getString("info.database.import.source")}</td>
-                                    <td>${accountMatch.getAccountSource().getName()}</td>
+                                    <td class="account-source">${accountMatch.getAccountSource().getName()}</td>
                                     <td class="import-text">${locale.getString("info.database.import.destination")}</td>
                                     <td>
-                                        <select>
+                                        <select class="account-destination">
                                             <#list availableAccounts as account>
                                                 <option value="${account.getName()}">${account.getName()}</option>
                                             </#list>
@@ -44,6 +44,8 @@
                             <div class="headline center-align">${locale.getString("placeholder")}</div>
                         </#if>
 
+                        <div id="hidden-account-matches"></div>
+
                         <br>
 
                         <#-- buttons -->
@@ -62,5 +64,6 @@
         <!-- Scripts-->
         <#import "scripts.ftl" as scripts>
         <@scripts.scripts/>
+        <script src="/js/import.js"></script>
     </body>
 </html>
\ No newline at end of file