diff --git a/core/views/uploads.py b/core/views/uploads.py
index 62ed56e..500e4bd 100644
--- a/core/views/uploads.py
+++ b/core/views/uploads.py
@@ -23,12 +23,12 @@ from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
 #from troggle import settings
 from troggle.parsers.imports import import_caves, import_people, import_surveyscans
 from troggle.parsers.imports import import_logbooks, import_QMs, import_drawingsfiles, import_survex
-from troggle.parsers.scans import wallet_blank_json, wallet_blank_html, contentsjson, indexhtml
+from troggle.parsers.scans import wallet_blank_json, wallet_blank_html, contentsjson, indexhtml, CopyWalletData
 # from databaseReset import reinit_db # don't do this. databaseRest runs code *at import time*
 from troggle.core.models.troggle import DataIssue
 from troggle.core.models.troggle import Expedition, Person, PersonExpedition
 from troggle.core.models.caves import LogbookEntry, QM, Cave, PersonTrip
-from troggle.core.models.survex import DrawingFile
+from troggle.core.models.survex import DrawingFile, Wallet
 from troggle.core.views.scans import oldwallet, walletindex
 from troggle.core.views.caves import getCave
 
@@ -93,7 +93,7 @@ xlate = {"url": "description url",
         "electronic": "electronic survey",
         "pland": "plan drawn",
         "elevd": "elev drawn",
-        "psg": "name", # not real ?
+        "psg": "name", # a name for this wallet
         "survex": "survex file",
         }
 
@@ -115,13 +115,14 @@ def get_complaints(complaints, waldata, svxfiles, files, wallet, wurl):
         if not type(waldata["survex file"])==list: # a string also is a sequence type, so do it this way
             waldata["survex file"] = [waldata["survex file"]]       
         for svx in waldata["survex file"]:
-            svxfiles.append(svx)
-            if not (Path(settings.SURVEX_DATA) / svx).is_file():
-                file_complaint = f"{wallet} Incorrect survex file name in wallet data: {svx} not found in LOSER repo"
-                complaints.append(file_complaint)
-                message = f"! {file_complaint}"
-                print(message)
-                DataIssue.objects.create(parser='scans', message=message, url=wurl) # set URL to this wallet folder
+            if svx !="":
+                svxfiles.append(svx)
+                if not (Path(settings.SURVEX_DATA) / svx).is_file():
+                    file_complaint = f"{wallet} Incorrect survex file name in wallet data: {svx} not found in LOSER repo"
+                    complaints.append(file_complaint)
+                    message = f"! {file_complaint}"
+                    print(message)
+                    DataIssue.objects.create(parser='scans', message=message, url=wurl) # set URL to this wallet folder
 
     if waldata["survex not required"] and waldata["survex file"] != "":
         survex_complaint = "Survex is stated as not required and yet there is a survex file!"    
@@ -290,6 +291,21 @@ def scanupload(request, path=None):
                 with open(contents_path, "w") as jfile:
                     json.dump(wd, jfile, indent = 1)
                 # print(f'--- FINISHED saving to JSON\n')
+                
+                # This copies the new data to the drawings repo and commit it
+                # needs the troggle object wallet, not a string
+ 
+                try:
+                    w, created = Wallet.objects.get_or_create(walletname=wallet)
+                    print(f'wallet string {wallet}, wallet object {w} created new?: {created}')   
+                    if created:
+                        w.fpath = Path(settings.SCANS_ROOT, wallet[0:4], wallet)
+                        w.save()
+                    CopyWalletData(w)
+                except:
+                     print(f'wallet string {wallet}, FAIL TO GET WALLET OBJECT, maybe we need to create it ?')
+                     raise
+               
             else:
                 print(f'--- INVALID JSON Update form submitted')
                 print(formj.errors)
diff --git a/parsers/scans.py b/parsers/scans.py
index c75b7f2..8b8f92f 100644
--- a/parsers/scans.py
+++ b/parsers/scans.py
@@ -80,6 +80,8 @@ def LoadListScansFile(wallet):
                 c = 0
 def CopyWalletData(wallet):
     '''Copies all the contents.json to a parallel set of folders in the drawings repo
+    refreshes everything during a ful import, but it shoudl all be up to date as every time
+    wallet data gets saved it should also be copied across and committed.
     '''
     year = wallet.walletname[0:4]
     destfolder = Path(settings.DRAWINGS_DATA,'walletjson', year, wallet.walletname)