I haven't used an agent for a long time, but my wife's employers do: apparently the agent gets invoiced every month for the total they've spent that month.
This whole business of 'booking fees' is to my mind, dishonest. It's part of the cost of doing business - just as bank charges are!
A good job garages were stopped from charging extra - taking cash encouraged crime, yet they weren't charged higher council rates for that!