They’ve read the proposal. They love the work. Then the message lands: “Is there any flexibility on the price?” Your stomach drops, because you know what comes next, either you cave and resent the project, or you hold and maybe lose the deal. There’s a third option, and it’s the one most freelancers never learn.
The discount request isn’t actually about price most of the time. It’s a test. The client wants to see how you respond. Fold instantly and you signal the rate was inflated. Get defensive and you signal insecurity. Treat it like a professional negotiation and you signal you know what you’re worth.
Ten scripts, with context for when to use each. Every one of them holds your rate or negotiates to something better than a straight discount.
First: read the request before responding
Not every discount request is the same. Respond based on which of the four is actually happening.
Type 1, Anchoring. They always ask. It’s a reflex. No specific reason given.
Type 2, Budget constraint. They give a number and a reason. “We only have $X allocated.”
Type 3, Value doubt. They’re not sure the work is worth the price. Subtle: “Can you help me understand what we’re really paying for?”
Type 4, Shopping. You’re being compared. “Competitor X quoted $Y.”
The script that wins a Type 1 loses a Type 4. Match the response to the type.
A discount request is information. If you treat it as a crisis, you lose the deal by panicking. If you treat it as data, you usually close at or near your rate.
Script 1: The reflex ask (hold with confidence)
Use when: no reason given, just “can you do it cheaper?”
Script:
“I appreciate you asking directly, a lot of people don’t. The rate reflects the scope we discussed, and it’s priced against the outcome, not the hours. Happy to show you what I’d adjust on scope if budget is tight, but the rate itself is firm. Want me to share a scaled-down version?”
Why it works: you validate the ask, refuse the discount, and pivot to a scope conversation. The phrase “I’d adjust on scope, but the rate is firm” is the most important line in freelance negotiation, memorize it.
Script 2: The budget constraint (trade-off offer)
Use when: they give a specific budget number.
Script:
“Got it, $X is what you have to work with. Here’s the honest answer: at that number, I can’t deliver the full scope we discussed and keep the quality bar where I’d want it. Two ways forward:
We cut scope to fit $X, I’d recommend removing [deliverable]. Final price: $X. Timeline stays the same.
We keep scope as-is at $Y, and I work with you on payment structure, 40/40/20 instead of 50/50, or monthly installments.
Which is a better fit for what you’re solving for?”
Why it works: you don’t argue. You offer two real paths that both protect your rate-per-hour. Most clients pick option 2, they wanted the full thing, they just needed flexibility on when they pay.
Script 3: The “we’re a small business” appeal
Use when: they lean on sympathy (“we’re bootstrapped, every dollar matters”).
Script:
“I hear you, and I respect that, I run a small business too. That’s exactly why my pricing is structured the way it is: I can only take on X clients at this rate to keep quality where I promise. What I can do is [one specific concession: extended payment terms / a smaller starter project / including the kickoff hour at no charge]. But the rate itself is the rate.”
Why it works: mirrors the small-business energy back at them. You’re not an employee they can negotiate down, you’re a peer business with constraints too. The small concession signals goodwill without moving the headline number.
Script 4: The value doubt (reframe the return)
Use when: “can you help me understand what I’m really paying for?”
Script:
“That’s a fair question, and I want to answer it clearly. The $X isn’t paying for the hours I put in, it’s paying for the outcome. Specifically: [outcome 1, outcome 2, outcome 3]. Based on past projects, clients in your position have seen [specific result: 3x ROI in 90 days / 20% conversion lift / saved 15 hours a week on their end].
If those outcomes aren’t what you need, the project might be the wrong fit. If they are, the price is the price.”
Why it works: moves the conversation from “is the rate fair” to “is the outcome what we want.” Price becomes secondary. And the last line, “if they are, the price is the price”, gives the client permission to say yes without feeling like they’re overpaying.
Script 5: The competitor comparison
Use when: “Competitor X quoted $Y, can you match?”
Script:
“Glad you got other quotes, that’s the right way to buy this kind of work. I can’t match $Y, and I’ll tell you why: the scope I proposed includes [specific differentiators]. If you ran the same brief past me that Competitor X quoted on, you’d probably see a lower number from me too.
Two questions:
- Are we actually comparing the same scope?
- What does your gut say about which of us will get you the outcome you actually need?
If Competitor X’s scope and approach is what you want, go with them, no hard feelings. If it’s not, let’s talk about what my number buys you.”
Why it works: no defensiveness, no trash-talk about the competitor, but real confidence. The two questions force the client to think past price and into fit. About half the time, they realize the competitor’s scope was thinner.
Script 6: The “just this once” (future-value trade)
Use when: it’s a brand-name client and landing them would be strategically valuable.
Script:
“Here’s what I’ll do. I’m not going to discount this rate because it’d break the way I price for everyone. But I’d love to land this as a showcase project, so I’ll do this: full rate, and if you’re thrilled at the end, I’d ask for [a case study / a specific testimonial / an intro to 2 people in your network]. Deal?”
Why it works: you trade future marketing value for full rate, which protects the rate for all future clients while still making the deal attractive. Never trade price for future work from the same client, that almost never converts.
Script 7: The retainer conversion
Use when: a one-off project request where you’d prefer retainer.
Script:
“I understand the budget constraint. One alternative that might actually work better for you: instead of $X for this project, what about $Y/month for 3–6 months? That gives you [project] plus [ongoing value], lower total up-front, and locks in my availability.
Same or less outflow for you in the first 60 days, more total value, and I get to work more deeply on your business. Want me to send over what that would look like?”
Why it works: reframes a discount request into a relationship upgrade. Retainers are worth 2–5x project revenue over time. Clients who balk at $10K for a project often happily spend $3K/month for 6 months, which is $18K.
Script 8: The deposit structure flex
Use when: budget is real but short-term, and you trust the client.
Script:
“I can’t come down on the rate, but I can come down on the deposit. Standard is 50% up front, for you, I can do 25% up front and 25% at milestone 1, with the remaining 50% on delivery. Cash flow gets easier; total stays the same. Would that help?”
Why it works: solves for cash flow, which is often the real issue. Only use with clients who’ve passed a basic credit/reference check, smaller deposit means more exposure on your end.
Script 9: The walk-away (firm close)
Use when: they’ve pushed twice and you’re not interested in going lower.
Script:
“I’ve given this my best price, and it’s where I need to be for this scope. I’d love to work together, and I completely understand if the budget isn’t there right now. If the price isn’t going to work, I’d rather you go with someone else than have us start with pricing regret on either side. The proposal is open for another 7 days. Let me know what you decide, no pressure either way.”
Why it works: removes urgency, removes neediness. “Pricing regret on either side” names the real risk. Half the time, clients who were pushing come back within 48 hours and accept.
Script 10: The “I’ll think about it” (give them room, then close)
Use when: client goes quiet after the discount ask and you sense they’re deciding.
Script (send 3 days after the ask, if no response):
“Hey [Name], wanted to follow up on the pricing conversation. I’ve been thinking about it, and my answer is still the same: rate is firm at $X, but I want to make sure you have what you need to decide.
Three things I can offer that aren’t a discount:
- A 15-minute call with my last similar client so you can hear how the project went for them
- A scoped-down version at $Y that hits the 3 highest-impact pieces
- Extended payment terms (split into 3)
Which, if any, helps? Or if you’ve decided to go a different direction, no hard feelings, just let me know.”
Why it works: it’s a follow-up that doesn’t feel desperate. The three offers are real, not fake concessions. The last line gives them permission to say no, which paradoxically makes “yes” more likely. For more follow-up patterns, see how to follow up without being annoying.
The rules underneath all 10 scripts
You can write your own scripts once you see the pattern. Five rules.
Never apologize for your rate. “Sorry, I can’t go lower” teaches the client your rate is negotiable next time. Use “that’s the rate” or “it’s firm at X.” Neutral, confident.
Always offer an alternative. Never just say no. Say no + “here’s what I can do instead.” That turns a rejection into a negotiation.
Reframe price as outcome. If the conversation stays on dollars, you lose. Move it to results, ROI, timeline, quality, any axis where your value is clear.
Ask what’s driving the ask. One good question beats five defensive sentences. “What’s driving the budget number?” reveals whether it’s real or reflexive.
Protect the rate for future clients. Every discount you give teaches the market what your work costs. A $500 discount today costs you $5,000 over a career, because it’s the number the client tells their network.
What NOT to say
These phrases are common freelance mistakes:
- “Let me see what I can do”, you just signaled movement is possible
- “I could maybe knock off 10%”, you just cut 10% for no reason
- “Others pay more than this”, irrelevant to them, and defensive
- “I need to pay my bills”, unprofessional, they don’t care
- “How about I throw in X for free?”, teaches them to ask for free add-ons
If you catch yourself about to say any of these, pause. Pick a script from above instead.
How to practice before the next ask
Before you need these scripts live, rehearse. Seriously.
- Pick 3 scripts you’d use most often
- Say them out loud, not in your head
- Record yourself if you’re brave
- Adjust the language until it sounds like you, not like a template
The difference between freelancers who hold rate and freelancers who cave is 80% practice. The scripts don’t save you in the moment if you’ve never said the words before.
Tools that reduce the ask
You get fewer discount requests when:
- Your proposal is clear about value. Vague scope invites price negotiation. See proposal software that makes pricing clear.
- You use analytics to know when they’re reading. When a client reads your proposal twice, they’re usually deciding, if you reach out at exactly the right moment with a clarifying answer, you avoid the discount conversation entirely. See how to know if a client read your proposal.
- Your pricing page is well-structured. A well-laid-out pricing section reduces “what am I paying for?” confusion. Covered in proposal pricing strategies.
The mindset behind the scripts
The scripts work because of what they signal, not just what they say. Every script above signals three things:
- You’ve thought about your pricing, it’s not arbitrary
- You’re willing to walk away, you’re not desperate
- You want the deal, but on terms that respect both sides
Clients hire people who signal those three things. People who apologize for their rates, cave quickly, or act needy get fewer deals at worse prices.
The next time “can you do it cheaper?” lands in your inbox, don’t react. Breathe. Pick the script that matches the type. Send it within 24 hours.
Half the time, you’ll close at full rate. The other half, you’ll close at full rate with a small structural concession (payment terms, scope trim, deposit flex). Either way, the deal is yours on your terms.
That’s the third option.
Ready to send stronger proposals?
Build, send, and track proposals in one place so follow-up is easier.
Start your free trial →





