← Back to the library

TEMPLATEQuotes & pricing

Quote in three honest packages: Basic, Standard and Premium

Turn one customer request and your own price list into three real packages, with no fake "was" prices or invented deadlines, and totals checked in a spreadsheet.

WHAT YOU’LL GET

A reusable template that builds Basic, Standard and Premium from your price list only, flags unknown items, lists assumptions and questions, and drafts a cover message you send.

WHO IT’S FOR

Businesses that quote per job: bakeries, caterers, renovation, aircond, events, printing, freelancers.

DIFFICULTY

Beginner

TIME

About 20 minutes

WORKS WITH

Claude ChatGPT Gemini

Get the full file

The whole resource as one Markdown file for your notes or your AI workspace.

FREE

Who this is for, and the job

You send quotes: cakes, catering, renovation, aircond, events, printing, design work. Most of your quotes offer one price. The customer has two choices, yes or no, and often the answer is "let me think first".

Three packages give the customer a third option: choosing which one. A good Premium package also changes how the middle one looks. People judge a price partly against the other prices beside it, so a real, higher option shown first can make your recommended package feel easier to choose. That is the anchoring idea. It only stays honest if every package is real.

This template does one job. It turns one customer request and your own price list into Basic, Standard and Premium packages. Every line comes from your price list. There are no fake "was RM..." prices or invented deadlines. A spreadsheet does the maths, not the AI.

What you need first

  • Claude, ChatGPT or Gemini, any plan.
  • Your price list in plain text, with units, what's included, and a "Last checked" date. If it isn't written down yet, do Put your price list in a shape AI can read correctly first.
  • Your quote rules: deposit, notice period, how long a quote is valid, how you show SST, and "discounts are owner only".
  • One real customer request, cleaned of names, phone numbers and full addresses.
  • A spreadsheet (Google Sheets or Excel) for the totals.
  • About 20 minutes for the first run.

The template

Paste this into a new chat and fill in the brackets.

TEXT
THREE HONEST PACKAGES

BUSINESS: [name, type of business, area]

PRICE LIST (Last checked: [date])
[item | unit | price]
[item | unit | needs owner price]

QUOTE RULES
[currency, SST practice, notice period, deposit, quote validity]
Discounts: owner only. Never add one.

CUSTOMER REQUEST (cleaned)
Channel: [WhatsApp / email / form]
Area: [area only]
Message: "[...]"

Build three packages for this customer: Basic, Standard and Premium.
- Basic: the smallest package that fully does the job the customer asked for.
- Standard: Basic plus the add-ons most customers with this request really take. This is the one we recommend.
- Premium: Standard plus real extras from the price list that this customer might want. Only things we really deliver.

For each package give:
1. Line items as CSV: item, unit, qty, unit price, price list line it came from.
2. One sentence on who this package suits.
3. What is NOT included.

Then give:
4. NEEDS OWNER PRICE: anything the customer asked for that is not on the price list.
5. ASSUMPTIONS: every guess you made about quantity, date or size.
6. QUESTIONS to ask the customer before the quote is final.
7. A short cover message in [BM / English] that lists the packages Premium first, then Standard, then Basic, and says in one sentence which one we recommend and why.

RULES
- Use only prices from the price list. Never estimate a price.
- Do not add up totals. I will total in a spreadsheet.
- No "was RM..." or "normal price" figures, no "save RM...", no crossed-out prices, no "today only", "last slot" or any deadline that is not in the quote rules.
- No discount unless the quote rules list one.
- Every package must fully do the job. Do not make Basic deliberately weak to push the customer up.

Then paste each CSV block into your spreadsheet (in Google Sheets, Data > Split text to columns). Use Find and replace to remove "RM" from the price column so it holds plain numbers. Total each package with a formula, for example =SUMPRODUCT(C2:C9, D2:D9) for quantity times unit price. Put the totals into the cover message yourself.

Why Premium goes first

Listing Premium first is the anchoring part. The customer sees the fuller package, then the one you recommend, then the smallest. Nothing is hidden and every price is real, so the customer is comparing true options, not a made-up reference price. We have not measured how much this changes what customers pick, so treat any lift as a guess until your own quotes show it.

Worked example (test run on a made-up business)

We ran the template once, in a fresh chat, for an invented home bakery in Bangi. The bakery, its price list (RM85 for a 1 kg cake, RM150 for 2 kg, RM40 for a fondant topper, RM48 for 12 cupcakes, and so on) and the customer are all made up. The prices are not market rates.

The cleaned request:

TEXT
"Hi kak, nak order kek birthday anak umur 6, tema dinosaur. Lebih kurang 25 orang. Sabtu depan, boleh hantar Kajang? Ada cupcake sekali tak?"

A short excerpt of what came back (shortened):

TEXT
STANDARD (recommended)
"Chocolate moist cake, round, 2 kg (serves about 25)",per cake,1,RM150,"Chocolate moist cake, round, 2 kg"
"Custom fondant topper (dinosaur theme)",per topper,1,RM40,Custom fondant topper
"Name and message on cake",per cake,1,RM0 (included),Name and message on cake
"Cupcakes with buttercream, box of 12",per box,1,RM48,"Cupcakes with buttercream, box of 12"
"Theme picks on cupcakes (dinosaur paper toppers)",per box of 12,1,RM10,Theme picks on cupcakes
"Candles and cake knife set",per set,1,RM5,Candles and cake knife set
"Delivery to Kajang",per trip,1,RM15,Delivery to Bangi or Kajang
Suits: A customer who wants the cake plus the cupcakes they asked about, with candles and a knife ready for the party.

NEEDS OWNER PRICE: nothing in her message is off the price list. It will need your price if she asks for a sculpted or tiered cake, sugar figurines, a dessert table, or an address outside Kajang or Bangi.

ASSUMPTIONS: "Sabtu depan" means Saturday 10 Oct. Tomorrow (3 Oct) would break the 5-day notice rule.

COVER MESSAGE (end): Kami cadangkan Standard sebab akak tanya tentang cupcake, dan pakej ni dah siap dengan lilin dan pisau kek untuk majlis.

The AI gave no totals, as told. We totalled the three CSV blocks outside the chat: Basic RM205, Standard RM268, Premium RM376 (all made-up prices). Every one of the 19 lines pointed to a price-list line at its listed price. Basic still did the whole job (cake for about 25, dinosaur topper, name, delivery), and the cover message had no "was" price, no discount and no deadline beyond the real notice and validity rules.

The full input and output of this test are kept with our records.

Check before you use it

  • Every line item points to a price-list line, and the price matches that line exactly.
  • Totals come from your spreadsheet formula, not from the AI.
  • Basic really does the job the customer asked for. If you would be embarrassed to deliver it, fix it.
  • Premium contains only things you can deliver on that date with your current staff and stock.
  • No "was", "normal price", "save", crossed-out price, discount or urgency line anywhere, including the cover message.
  • Every assumption that changes the price has become a question to the customer.
  • You read the cover message and send it yourself.

What to watch out for

  • Fake reference prices. A "was RM300, now RM220" line that was never a real price misleads the customer. Malaysia's Trade Descriptions Act 2011 prohibits false or misleading statements about services, including their rates or charges, and separately addresses misleading price indications for goods. This guide is not legal advice; check current KPDN guidance or a lawyer before making price claims. Official Act (KPDN).pdf) This guide is not legal advice; if you are unsure about a price claim, check the current rules with KPDN or a lawyer before you use it.
  • Decoy packages. A Premium nobody could reasonably want, or a Basic stripped so far it fails, is a trick, not a choice. Every package should be one you'd be happy to sell.
  • Invented urgency. "Last slot this week" is only allowed when it is true and you can show it. The template blocks it unless it is in your quote rules.
  • AI arithmetic. Language models can make adding slips. The template tells the AI not to total, so the spreadsheet always does.
  • Too many choices. Three is enough. More packages make the decision harder, not easier.
  • Assuming it works. Three packages are a reasonable idea, not a proven result for your business. Keep a simple tally of which package customers pick for a month before you decide.

Take it further

  • Start from one quote. If you don't have a quote routine yet, start with Turn a customer message into a draft quote, then add the three packages on top.
  • Follow up honestly. If the customer goes quiet, see Follow-ups that stop when they should.
  • Related: Put your price list in a shape AI can read correctly and Check the AI's answer before a customer sees it.

Credit

Inspired by Leon Abboud's post on anchoring, where a far more expensive item seen first makes the next one feel cheaper (original post on X, September 2026). The packaging rules, the honesty limits, the template and the test are our own.