diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java
new file mode 100644
index 0000000000000000000000000000000000000000..d08eaeb1b40e7ba49caec9ddf754643690475359
--- /dev/null
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/common/migration/M014_AddItemNameBescheidToPatchAttachedItemCommand.java
@@ -0,0 +1,49 @@
+package de.ozgcloud.vorgang.common.migration;
+
+import java.util.List;
+
+import org.bson.Document;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.aggregation.Aggregation;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+
+import de.ozgcloud.command.Command;
+import io.mongock.api.annotations.ChangeUnit;
+import io.mongock.api.annotations.Execution;
+import io.mongock.api.annotations.RollbackExecution;
+
+@ChangeUnit(id = "2025-01-17 16:00:00 OZG-7515", order = "M014", author = "freichenbach", runAlways = true)
+public class M014_AddItemNameBescheidToPatchAttachedItemCommand { // NOSONAR
+
+	private static final String ORDER_FIELD = "order";
+	private static final String SEND_BESCHEID_ORDER = "SEND_BESCHEID";
+	private static final String PARENT_ID_FIELD = "bodyObject.parentId";
+	private static final String PATCH_ATTACHED_ITEM_ORDER = "PATCH_ATTACHED_ITEM";
+	private static final String ITEM_NAME_FILED = "bodyObject.itemName";
+	private static final String BESCHEID_ITEM_NAME = "Bescheid";
+
+	@Execution
+	public void doMigration(MongoTemplate template) {
+		var parentIds = getSendBescheidCommandIds(template);
+		template.aggregate(buildAggregationPipeline(parentIds), Command.COLLECTION_NAME, Document.class);
+	}
+
+	List<String> getSendBescheidCommandIds(MongoTemplate template) {
+		var commands = template.find(Query.query(Criteria.where(ORDER_FIELD).is(SEND_BESCHEID_ORDER)), Command.class);
+		return commands.stream().map(Command::getId).toList();
+	}
+
+	private Aggregation buildAggregationPipeline(List<String> parentIds) {
+		var matchingCriteria = new Criteria().andOperator(Criteria.where(PARENT_ID_FIELD).in(parentIds),
+				Criteria.where(ORDER_FIELD).is(PATCH_ATTACHED_ITEM_ORDER),
+				Criteria.where(ITEM_NAME_FILED).exists(false));
+		return Aggregation.newAggregation(Aggregation.match(matchingCriteria),
+				Aggregation.addFields().addFieldWithValue(ITEM_NAME_FILED, BESCHEID_ITEM_NAME).build());
+	}
+
+	@RollbackExecution
+	public void rollback() {
+		// kein rollback implementiert
+	}
+}
\ No newline at end of file