diff --git a/arkindex/documents/management/commands/load_export.py b/arkindex/documents/management/commands/load_export.py
index bc86530c4cec56e8b2d6a45329bb7009ed5e5933..d5f016307b9ebb2e4e5b26980a147ad536ec4358 100644
--- a/arkindex/documents/management/commands/load_export.py
+++ b/arkindex/documents/management/commands/load_export.py
@@ -38,7 +38,8 @@ from arkindex.process.models import (
 from arkindex.training.models import Dataset, DatasetElement, DatasetSet, Model
 from arkindex.users.models import Role, User
 
-EXPORT_VERSION = 9
+EXPORT_VERSION_MIN = 8
+EXPORT_VERSION_MAX = 9
 
 TABLE_NAMES = {
     "export_version",
@@ -519,13 +520,16 @@ class Command(BaseCommand):
 
         # Check database tables
         db_results = self.db.execute(SQL_TABLES_QUERY).fetchall()
-        if not set([table["name"] for table in db_results]) == TABLE_NAMES:
-            raise CommandError(f"The SQLite database {db_path} is not a correct Arkindex export")
+        # Database's tables must be a superset of TABLE_NAMES, so we keep compatibility when removing things
+        if (missing := TABLE_NAMES - set([table["name"] for table in db_results])):
+            raise CommandError(f"The SQLite database {db_path} miss some expected tables: {sorted(missing)}")
 
         # Check export version
         db_results = self.db.execute(SQL_VERSION_QUERY).fetchall()
-        if len(db_results) != 1 or db_results[0]["version"] != EXPORT_VERSION:
-            raise CommandError(f"The SQLite database {db_path} does not have the correct export version")
+        if len(db_results) != 1 or not (
+            EXPORT_VERSION_MIN <= db_results[0]["version"] <= EXPORT_VERSION_MAX
+        ):
+            raise CommandError(f"The SQLite database {db_path} does not have a supported export version")
 
         # Retrieve corpus name
         date = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M")