This is actually a really big problem called invoice fraud. Many companies struggle in setting up some workable system to prevent it.
The problem usually is that someone at the accounts payable department (sometimes in a different building or country) must pay all the hundreds or thousands of incoming invoices. Having a robust system in place for them to check if the product/service is actually delivered for the price agreed upon (or even delivered at all) is hard.
Usually they use purchase orders initiated by the buyer/manager to solve this sort of problem.
Hiring a freelancer? Issue a purchase order to the freelancer for the maximum amount you think you'll pay them. They then bill you for how many hours it actually took, after completing the job. Then accounting can process it if it's under the PO value.
This happens more than you would like to know. Especially during summer vacations. You need some sort of tracking system to know what to pay and what not to.