diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/AmountParser.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/AmountParser.java
index 4b3ef7fdbf91c122a789129211d7536ac22edab4..11a00e245f8fba7511cc048cb4b163798bf83488 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/AmountParser.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/csvimport/AmountParser.java
@@ -1,9 +1,8 @@
 package de.deadlocker8.budgetmaster.transactions.csvimport;
 
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.text.MessageFormat;
-import java.text.ParseException;
+import org.springframework.security.core.parameters.P;
+
+import java.text.*;
 import java.util.Optional;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -35,7 +34,7 @@ public class AmountParser
 
 			final String amount = matcher.group(2);
 
-			final DecimalFormat decimalFormat = new DecimalFormat();
+			final DecimalFormat decimalFormat = new DecimalFormat("#,###.#");
 			final DecimalFormatSymbols symbols = new DecimalFormatSymbols();
 			symbols.setDecimalSeparator(decimalSeparator);
 			symbols.setGroupingSeparator(groupingSeparator);
@@ -43,9 +42,15 @@ public class AmountParser
 			decimalFormat.setDecimalFormatSymbols(symbols);
 
 			final String parseableString = MessageFormat.format("{0}{1}", sign, amount);
+			final ParsePosition parsePosition = new ParsePosition(0);
 			try
 			{
-				final double parseDouble = decimalFormat.parse(parseableString).doubleValue();
+				final double parseDouble = decimalFormat.parse(parseableString, parsePosition).doubleValue();
+				if(parsePosition.getIndex() != parseableString.length())
+				{
+					throw new ParseException("String not fully parsed", parsePosition.getIndex());
+				}
+
 				return Optional.of((int) (parseDouble * 100));
 			}
 			catch(ParseException e)
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/transaction/csvimport/AmountParserTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/transaction/csvimport/AmountParserTest.java
index ed074cb52890bfbe2cf9eb9a66a2ff4f8d545ed4..3f64af30a1b90f7e5aa3132b6bd5533a4be1a224 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/transaction/csvimport/AmountParserTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/unit/transaction/csvimport/AmountParserTest.java
@@ -246,6 +246,21 @@ class AmountParserTest
 				.get().isEqualTo(-123403);
 	}
 
+	@Test
+	void test_thousandsDelimiter_specialDelimiter_invalid()
+	{
+		assertThat(AmountParser.parse("-234.03 €", 'e', 't'))
+				.isEmpty();
+	}
+
+	@Test
+	void test_thousandsDelimiter_specialDelimiter_valid()
+	{
+		assertThat(AmountParser.parse("-1t234e03 €", 'e', 't'))
+				.isPresent()
+				.get().isEqualTo(-123403);
+	}
+
 	@Test
 	void test_thousandsDelimiter_bigNumber()
 	{