What you just said is what we do. We use EDIINT. here is the document path:
It comes from the partner, they call a custom receive service as a wrapper using EDIINT (wm.EDIINT:receive).
The deposited document is sent to TN.
TN identifies the document and calls the processing rule.
The processing rule extracts information (EDIData) from the document and publishes that data in a custom structure (PRStandardSRI).
A trigger that has subscribed to that custom structure finds the document and calls the custom processing service (PRStandardSRIMakeFA).
The custom processing service generates the FA and sends it the TN.
TN routes the document out to the Trading Partner with a custom send serivce as a wrapper using EDIINT (wm.EDIINT:send).
Hopefully you understand the path that the document travels