diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/keywords/TransactionNameKeyword.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/keywords/TransactionNameKeyword.java
new file mode 100644
index 0000000000000000000000000000000000000000..3aa9a9bf0607cefa1a40a56789d6e557087af809
--- /dev/null
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/keywords/TransactionNameKeyword.java
@@ -0,0 +1,83 @@
+package de.deadlocker8.budgetmaster.transactions.keywords;
+
+import com.google.gson.annotations.Expose;
+import de.deadlocker8.budgetmaster.utils.ProvidesID;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import java.util.Objects;
+
+@Entity
+public class TransactionNameKeyword implements ProvidesID
+{
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Expose
+	private Integer ID;
+
+	@Expose
+	private String value;
+
+	public TransactionNameKeyword()
+	{
+	}
+
+	public TransactionNameKeyword(String value)
+	{
+		this.value = value;
+	}
+
+	public TransactionNameKeyword(Integer ID, String value)
+	{
+		this.ID = ID;
+		this.value = value;
+	}
+
+	@Override
+	public Integer getID()
+	{
+		return ID;
+	}
+
+	@Override
+	public void setID(Integer ID)
+	{
+		this.ID = ID;
+	}
+
+	public String getValue()
+	{
+		return value;
+	}
+
+	public void setValue(String value)
+	{
+		this.value = value;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "TransactionNameKeyword{" +
+				"ID=" + ID +
+				", value='" + value + '\'' +
+				'}';
+	}
+
+	@Override
+	public boolean equals(Object o)
+	{
+		if(this == o) return true;
+		if(o == null || getClass() != o.getClass()) return false;
+		TransactionNameKeyword transactionNameKeyword = (TransactionNameKeyword) o;
+		return Objects.equals(ID, transactionNameKeyword.ID) && Objects.equals(value, transactionNameKeyword.value);
+	}
+
+	@Override
+	public int hashCode()
+	{
+		return Objects.hash(ID, value);
+	}
+}
diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/keywords/TransactionNameKeywordRepository.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/keywords/TransactionNameKeywordRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..e7cc1bcfab920124674ab818fb1706bbe58907de
--- /dev/null
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/keywords/TransactionNameKeywordRepository.java
@@ -0,0 +1,10 @@
+package de.deadlocker8.budgetmaster.transactions.keywords;
+
+import de.deadlocker8.budgetmaster.transactions.Transaction;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+
+public interface TransactionNameKeywordRepository extends JpaRepository<TransactionNameKeyword, Integer>, JpaSpecificationExecutor<Transaction>
+{
+}
\ No newline at end of file