Thanks for the info.

After spending a while trying a combination of different settings I have now managed to get this working.

I needed to specify a content filter in which forces all mail through the filter (in this case it is ClamAV) and then on the listener which injects the mail back into Postfix I put the SpamAssasin filter on there and this seems to force all mail through the content filters which is working well.

I did find that I also had to add the domains and users into the virtual_users and virtual_domains tables in the database otherwise it rejects the domain as relay access denied and rejects the users saying the user was not found. I suppose this is required as I wouldn't want to allow the server to relay for anything.

So I think everything is sorted now.
It may not be the best way but at least it seems to work.