you can use the newmessage event to do this, so it is moved on arrival
Private Sub Application_NewMail()
Dim msg As MailItem, myfolder As MAPIFolder
Set myfolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set msg = myfolder.Items(myfolder.Items.Count) ' should get the newest file
fldr = msg.SenderName ' you can change this to any suitable property that can match your folder name
msg.Move myfolder.Folders(fldr) ' assumes that named folders are sub folders of inbox, or change to suit like
'msg.move myfolder.parent.folders(fldr)
End Sub