I managed to solve this with the following script, which does exactly what i needed
it downloads the files from the sftp site and deletes from the sftp site only what has been downloaded
it does this without the need of having a shell on the sftp site no scp or rsync access.
#connect to sftp and download all files to folder
sftp
user@sftpsite.com <<EOF
mget * /home/download/
quit
EOF
#put list of all downloaded files into filelist.txt
ls /home/download > /home/docs/filelist.txt
# prefix rm command to each file in filelist.txt
sed -i -e 's_.*_rm "&_' /home/docs/filelist.txt
# put each file in filelist.txt into "" to be able to parse spaces
sed -i.bak 's/$/"/' /home/docs/filelist.txt
#prefix sftp connection information at begining of filelist.txt
sed -i '1s/^/sftp
user@sftpsite.com <<EOF\n/' /home/docs/filelist.txt
#append quit and EOF to end of filelist.txt
cat /home/docs/filelist.txt ; echo "quit" >> /home/docs/filelist.txt
cat /home/docs/filelist.txt ; echo "EOF" >> /home/cgerada/sftp/filelist.txt
#make filelist.txt executable
chmod +x /home/docs/filelist.txt
#run filelist.txt as a script to remove all files already downloaded
/bin/bash /home/docs/filelist.txt
# move contents of locally downloaded folder to processed folder to be ready for next download
mv /home/download/* /home/processed/