diff --git a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java
index 6c85414970833aa3f646b17454860755d793a160..947cf955e6ae1dc318f2023e9912848c1e57bc2e 100644
--- a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java
+++ b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java
@@ -120,6 +120,7 @@ public class CSVToAssessmentItemConverter {
 			case "type": processType(parts); break;
 			case "titel":
 			case "title": processTitle(parts); break;
+			case "topic": processTopic(parts); break;
 			case "beschreibung":
 			case "description": processDescription(parts); break;
 			case "frage":
@@ -272,7 +273,7 @@ public class CSVToAssessmentItemConverter {
 		String discriminationIndex = parts[1];
 		if(StringHelper.containsNonWhitespace(discriminationIndex)) {
 			try {
-				currentItem.setDifferentiation(new BigDecimal(discriminationIndex.trim()));
+				currentItem.setDifferentiation(new BigDecimal(discriminationIndex.replace(",", ".").trim()));
 			} catch (Exception e) {
 				log.warn("", e);
 			}
@@ -285,7 +286,7 @@ public class CSVToAssessmentItemConverter {
 		String difficulty = parts[1];
 		if(StringHelper.containsNonWhitespace(difficulty)) {
 			try {
-				BigDecimal dif = new BigDecimal(difficulty.trim());
+				BigDecimal dif = new BigDecimal(difficulty.replace(",", ".").trim());
 				if(dif.doubleValue() >= 0.0d && dif.doubleValue() <= 1.0d) {
 					currentItem.setDifficulty(dif);
 				} else {
@@ -303,7 +304,7 @@ public class CSVToAssessmentItemConverter {
 		String stddev = parts[1];
 		if(StringHelper.containsNonWhitespace(stddev)) {
 			try {
-				BigDecimal dev = new BigDecimal(stddev.trim());
+				BigDecimal dev = new BigDecimal(stddev.replace(",", ".").trim());
 				if(dev.doubleValue() >= 0.0d && dev.doubleValue() <= 1.0d) {
 					currentItem.setStdevDifficulty(dev);
 				} else {
@@ -515,6 +516,15 @@ public class CSVToAssessmentItemConverter {
 		}
 	}
 	
+	private void processTopic(String[] parts) {
+		if(currentItem == null || parts.length < 2) return;
+		
+		String topic = parts[1];
+		if(StringHelper.containsNonWhitespace(topic)) {
+			currentItem.setTopic(topic);
+		}
+	}
+	
 	private void processQuestion(String[] parts) {
 		if(currentItem == null) return;
 		
diff --git a/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx b/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx
index 337788a2369fb178b73ae6c206045fc0536fe2a8..1eb189381d65d10d72ff858e70e93da106e30688 100644
Binary files a/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx and b/src/main/resources/org/olat/ims/qti21/questionimport/qti-import-metadata.xlsx differ