I cannot solve that issue, but it reminded me of this, if you are bored and want to dig in.
We did implement the “batching” and have been at it for a few years.
To get #1 to happen, I made a uBAQ that is run on a schedule. Otherwise you are manually keeping up with the make-direct option on the order (or recipient job) every day/week