diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java
index cc08da5c7acbc281ac899c2f2ddeb79979c51a9b..7040a7e28e8e5593e912f6e7fa9d9e4cb6ba7fa2 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java
@@ -3,9 +3,9 @@ package de.deadlocker8.budgetmaster.database.model.v5;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.charts.Chart;
-import de.deadlocker8.budgetmaster.database.model.Converter;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.database.model.BackupDatabase;
+import de.deadlocker8.budgetmaster.database.model.Converter;
 import de.deadlocker8.budgetmaster.database.model.v5.converter.*;
 import de.deadlocker8.budgetmaster.images.Image;
 import de.deadlocker8.budgetmaster.templates.Template;
@@ -132,4 +132,26 @@ public class BackupDatabase_v5 implements BackupDatabase
 	{
 		return null;
 	}
+
+	public static BackupDatabase_v5 createFromInternalEntities(Database database)
+	{
+		final List<BackupCategory_v5> convertedCategories = convertItemsToExternal(database.getCategories(), new CategoryConverter_v5());
+		final List<BackupAccount_v5> convertedAccounts = convertItemsToExternal(database.getAccounts(), new AccountConverter_v5());
+		final List<BackupTransaction_v5> convertedTransactions = convertItemsToExternal(database.getTransactions(), new TransactionConverter_v5());
+		final List<BackupTemplate_v5> convertedTemplates = convertItemsToExternal(database.getTemplates(), new TemplateConverter_v5());
+		final List<BackupChart_v5> convertedCharts = convertItemsToExternal(database.getCharts(), new ChartConverter_v5());
+		final List<BackupImage_v5> convertedImages = convertItemsToExternal(database.getImages(), new ImageConverter_v5());
+
+		return new BackupDatabase_v5(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages);
+	}
+
+	private static <T, S> List<S> convertItemsToExternal(List<T> backupItems, Converter<T, S> converter)
+	{
+		List<S> convertedItems = new ArrayList<>();
+		for(T backupItem : backupItems)
+		{
+			convertedItems.add(converter.convertToExternalForm(backupItem));
+		}
+		return convertedItems;
+	}
 }