For most small businesses, this is what I would use. Not because the more elaborate frameworks are wrong, but because a framework only helps if it is applied consistently, and short frameworks get applied while long ones get abbreviated in a hurry until they mean nothing.
What are you trying to fix
Ask for the situation, not the product. Someone who asks the price of a particular model is telling you what they think the answer is; the underlying problem is usually more useful and often points at something different. This question also produces the language you should use for the rest of the sale.
Who else is involved
Phrase it as a helping question rather than a screening one: is there anyone else who should see this, so I send it in a format they can use. That framing gets an honest answer, whereas asking whether they are the decision maker frequently produces a defensive yes from someone who is not.
When do you need this
The most predictive answer of the four and the one most often left blank. A vague eventually is itself an answer and should be recorded as one. Timing determines whether this belongs in your working pipeline or in a dated follow-up list, and getting it wrong is the most common cause of a bloated pipeline.
Roughly what range
Offer a range rather than requesting one. As an illustrative example, saying that jobs like this usually fall between one figure and another, then asking whether that is roughly what they expected, gets a usable answer far more reliably than asking what they have budgeted. It also surfaces the mismatch early, which is a kindness to both sides.