See for me I don't understand when and where to apply QoS. As one minute your told it's useless the other it's useful. Like what's missing is the context behind the usage. I agree with Jared in that if your enabling it, by that alone it doesn't mean something magical is happening, something specific is.
It's EXTREMELY USEFUL in VERY LIMITED CIRCUMSTANCES.
It's like a shotgun isn't useful at the grocery store, but in the limited case of hunting, it's useful.
You've said that the bosses want the networks to be separate.
You've also said that company B provides a service for company A akin to B providing email services to A, so A needs access to B's network for that single service.
All that said - what is the goal in splitting the networks? Why do it? If you don't know why the bosses want this - ask them. Let's not worry about the how of splitting yet allowing things to continue to work, let's work on the why first - because the helps lead to the correct solution for the goal.
You might want to LEAD with.... since we discovered that QoS was not set up properly and has never been a problem we can assume that QoS and ensuring call quality cannot be the reason.
Let them come up with a reason if you head that off at the pass.
No, it's correct. They didn't do their jobs properly. They neither did the sensible, cost effective thing for the business, which would have been to not have a VLAN at all. Nor did they properly do QoS for your VoIP traffic.
So no matter what, they didn't set up QoS correctly for you.
For a super simple no VPNs network, the USG works great, pretty straight forward and has some nice pictograms in the Controller.
The issue I ran into was a VPN tunnel between two endpoints that both had static IPs. This just didn't work. A few people have posted their work arounds on my UBNT thread about putting the IP into the JSON config file and not using the GUI to enter the static IPs and have it work.