Technically that's the original use case of futures contracts - you pay now, and lock the price. You might lose some (due to prices falling down, supply not fulfilling the contract) or win some (due to issues in supply, prices going up, etc.).
On the other hand, the supplier gets money now, not some time in the future (like after harvest) and this provides a different kind of cash flow that doesn't invoke debt (usually).
And then there's trading on the contracts all around, trying to get best prices :)