Opening with company background
Proposals that start with three pages about the supplier — history, awards, team — get skimmed. The buyer wants to know what they will get. Reorder so the outcome leads and the company background is at most a single sentence near the end.
Vague scope
A scope written as 'Design work' or 'Marketing support' triggers a follow-up email that delays the deal by a week. A scope written as 'Design five landing pages and migrate 12 existing blog posts' is acted on the same day.
Add an explicit 'Not included' list. It feels uncomfortable; it prevents most disputes.
Pricing buried in terms
Setup fees, rush fees, and third-party costs that appear inside the terms section feel hidden — even when they were always going to be charged. Move all costs into the pricing section, even if the result is a longer pricing block.
No clear acceptance step
Proposals that end with 'let me know what you think' get replied to with feedback, not acceptance. End with a specific instruction: reply with 'I accept', sign and return the attached page, or click the acceptance link. Make saying yes easier than not saying anything.