Hi Robert,
There are two ways to so this.
The easiest is to make a web service. Creating a method, and adding a file-upload to the method are all easy to do. Plus it will automatically support both web-encoded posts, or XML posts, whichever is more useful to the client.
WebServices are specifically for doing what you are needing - one program communicating with another program. I would strongly recommend doing it this way.
The alternative is to create a NetWebForm, with a file upload field and the other software can "mimic" a user on this form. This is more work for you, a LOT more work for them, and is subject to breaking if nettalk changes the specifics of what is required from a form.
Because of the security layers in NetTalk it's not enough for them just to POST to the form - they would first have to "open" the form with a GET, then POST the reply (including passing back the FormState and Session ID). Like I say, it's more work.
cheers
Bruce