Because ordering happens by email. The commitment lives in somebody's sent items, the budget knows nothing about it, and the bill lands six weeks later against a budget already spent.
A purchase order is an approved commitment to buy: lines, prices, a vendor and a delivery expectation, raised before the money is spent.
The order is approved against a budget before it is sent. Goods received and the vendor's bill both match back to it, so three-way matching is arithmetic rather than a chase.
Forty of sixty units arrive. The receipt records forty, a bill for forty matches cleanly, and the order shows twenty outstanding with the commitment still held against the budget.
It will not stop someone buying without one. It makes the unmatched bill obvious afterwards, which is what actually changes the behaviour.
It commits budget in the cost centre, appears in the cash flow forecast as expected payment, and becomes the reference both the goods receipt and the bill match against.
It warns, or blocks at a threshold you set.
Yes — order, goods receipt and bill, with tolerances you define.
Yes, inventory can suggest them from reorder points.
Fourteen days, every module, no card. Or half an hour with someone who will run it on your own records and tell you where it does not help.