Retext

Pricing proposal email templates

A proposal email should put the price where the reader can find it, not on page six of a PDF. This template states the total first, lists what's included and what's not, gives the validity date, and asks for one decision. The options version helps when the buyer wants to choose a tier; the procurement version adds the details finance will ask for.

Template;sl-proposal
Hi First name, As promised, here's the proposal for Company. Total: Price per Billing period, for Seats or scope. Included: - Included item - Onboarding with Onboarding detail Not included: Excluded item. This pricing holds until Date in 14 days. Does this work, or would you like to go through it together? ;sig-work
Then type ;sl-proposal in any app.

Variations

The same message for a different channel or tone. Copy the one that fits.

When the buyer is weighing a smaller start against the full rollout.

Two options
Hi First name, Two ways to start, based on what we discussed: Option A, Option A name: Option A price. Best if you want to start with Option A scope. Option B, Option B name: Option B price. Best if you want Option B scope from day one. My suggestion would be Which feels closer? ;sig-work

When the email will be forwarded to finance or purchasing.

For procurement
Hi First name, Proposal details for your procurement team: Vendor: [Your company's legal name] Product: Product name Term: Term length, starting Start date Total: Price per Billing period Payment terms: Payment terms Valid until: Date in 14 days Attached: Documents attached. Tell me what else your team needs. ;sig-work

When to use it

  • You agreed scope on a call and promised a price.
  • The buyer asked for options before deciding.
  • Finance or procurement needs the details in writing.

What to avoid

  • Don't bury the price. If they have to open an attachment to find it, they'll put it off.
  • Don't leave out what's excluded. Surprises later cost you the renewal.
  • Don't invent a deadline. Only set a validity date if your pricing really changes.

The fields in this template

Retext fills these in when the snippet expands. In plain text they become [brackets] to replace by hand.

First name{fill:First name}
The buyer's first name.
Company{fill:Company}
The buyer's company name.
Price{fill:Price}
The total, with currency.
Billing period{fill:Billing period}
"month" or "year".
Seats or scope{fill:Seats or scope}
What the price covers, e.g. "25 seats".
Included item{fill:Included item}
The main thing included beyond the product itself.
Onboarding detail{fill:Onboarding detail}
What onboarding looks like, e.g. "two live training sessions".
Excluded item{fill:Excluded item}
The thing most likely to be assumed but not included.
Date in 14 days{date+14}
Inserts the date 14 days from today, worked out when the snippet expands. Useful for deadlines and return dates.
Cursor{cursor}
Where your cursor lands after the snippet expands, so you can start typing the personal part straight away.
;sig-work{snippet:sig-work}
Pulls in your ;sig-work snippet, so a change to that snippet updates every reply that uses it. Create a snippet with that trigger first (any template in the email signatures pack works), or the field stays as typed.
Option A name{fill:Option A name}
Name of the smaller option.
Option A price{fill:Option A price}
Price of the smaller option.
Option A scope{fill:Option A scope}
Who or what it covers.
Option B name{fill:Option B name}
Name of the larger option.
Option B price{fill:Option B price}
Price of the larger option.
Option B scope{fill:Option B scope}
Who or what it covers.
Product name{fill:Product name}
The product or plan being bought.
Term length{fill:Term length}
E.g. "12 months".
Start date{fill:Start date}
When the contract starts.
Payment terms{fill:Payment terms}
E.g. "annual, net 30".
Documents attached{fill:Documents attached}
What procurement asked for, e.g. "our security questionnaire and W-9".
More about dynamic fields

Tips

  • •{date+14} sets a realistic validity window. Change it to match your company's policy.
  • •Use the {cursor} line in the main version to connect the price to the outcome they care about.
  • •In the procurement version, replace [Your company's legal name] once after installing. It never changes, so it isn't a fill-in you'd retype every time.

Works in Gmail, Outlook, HubSpot, Salesforce and every other app

Retext types the snippet wherever your cursor is. To use a different version in one app, give it the same trigger and limit it to that app with per-app snippets. They go by app, not website, so every tab in your browser counts as one app.

Use it with your team

Keep proposal wording in the team pack so everyone describes inclusions and exclusions the same way. When packaging changes, an admin edits it once and every rep's snippet syncs.

See Retext for Teams

Questions

How do I write a proposal email?

State the total price first, list what's included and what isn't, give a validity date if there is one, and ask for one decision. Attach a detailed PDF only if they need it.

Should I offer pricing options in a proposal?

Two options often help when the buyer is unsure about scope: a smaller start and a full rollout. More than three tends to slow the decision down.

Type ;sl-proposal, get the whole reply

Retext expands your snippets in every Mac app and fills in names, dates and order numbers for you.

Free to start. No account required on the Mac.