Skip to content

How to write a client proposal with AI, without invented numbers

A language model can draft a convincing proposal in minutes. It can also put a wrong total on page three with the same confidence. This guide shows how to split the work so the words come from the model and every number comes from your rate and a calculation.

· 8 min read · by Dorian Richard

Pandore Mission plan waiting for approval, with its steps, what it will read and write, and buttons to approve or revise, shown with fictional data
A Mission shows its plan, what it will read and what it will write before any work starts. Shown with fictional data.

Why language models get numbers wrong

A language model writes by predicting the next piece of text. That works well for sentences. It works less well for arithmetic, because the model does not run a calculation: it produces digits that look like a plausible result. A short multiplication often comes out right. In a proposal with six lines and tax, one slip is enough to break the total, and nothing in the output tells you which number is wrong.

Prices are a different problem. When you ask a model "how much should I charge for this?", it has no access to your rate, your costs or your market. It answers with something that sounds typical, based on what it saw during training. That figure may come from another country, another year or another kind of work. It is not your price.

The third problem is the quietest. When information is missing, a model fills the gap. If your notes do not mention a day rate, a draft may still contain one. If the scope is vague, the model may decide it for you. And when the same total appears in the proposal and in the cover email, nothing guarantees that the two match.

None of this makes AI useless for proposals. It means the model should do the parts it is good at, and only those.

Separate the writing from the pricing

A proposal mixes three kinds of work, and each deserves different treatment.

  • Writing. Restating the client's need in their words, describing the approach, listing deliverables, answering likely objections. A model does this well, and you edit the result.
  • Estimating. How many days will each part take? A model can propose an estimate from the scope, but it is a judgment. It should come with its reasoning, so you can disagree with it.
  • Pricing. Days multiplied by your rate, summed, plus tax. This is arithmetic on numbers you own. It belongs in a spreadsheet or in code, never in generated text.

The practical rule follows: the model never writes an amount. It writes the text and proposes days. Your rate and a calculation produce every figure, and the figures go into the document afterwards.

A day-rate estimate you can defend

You can apply this method with a spreadsheet and any chat tool. The steps are the same with or without Pandore.

  1. 01Split the work into packages

    Cut the project into pieces the client can recognise: a discovery workshop, a design phase, a build, a handover. Avoid a package called "miscellaneous": it is where estimates go to hide.

  2. 02Estimate days for each package, with a basis

    Next to each estimate, write why: "two half-day workshops plus one day of synthesis". A basis turns a guess into something the client, or you next week, can discuss.

  3. 03Round to a sensible unit

    Days estimated to the hour suggest a precision nobody has. Rounding to the half day keeps the estimate honest and the pricing readable.

  4. 04Multiply by your day rate, then add tax

    Rate times days for each line, a sum, then VAT if you charge it. Do this with a formula, not by hand and not in a prompt.

  5. 05Write down where each number comes from

    Which rate, and from where. Which VAT rate, and from where. Which estimates were rounded. This short list is what you check before sending.

Say a consultant charges a hypothetical 600 euros per day before tax, and charges 20% VAT. The model proposes three packages:

PackageDays estimatedDays pricedTotal before tax
Discovery workshops2.52.51,500
Process design3.842,400
Rollout support3.53.52,100
Total106,000

VAT at 20% adds 1,200, for 7,200 including tax. Notice the 3.8 days priced as 4: the change is small, but it should be visible, not silent.

How a Pandore Mission prepares a proposal

Missions in Pandore apply this split by design. A Mission takes a goal, proposes a plan, has the work done step by step, reviews it and keeps the deliverables. Missions run with Claude Code, using your own account. If you have never used one, this walkthrough covers the basics. Here is what is specific to a proposal.

It starts from the deal

Proposals live in the Professional space, next to clients and the deals pipeline. You can start a Mission from a client or prospect that has an open deal, or describe the goal in Missions and pick the deal when asked. The Mission then reads the deal, its notes, the logged exchanges and the client record. It reads nothing from your Personal space.

It asks for what is missing

Before showing you a plan, Pandore checks that it has what a proposal needs. If no deal is linked, it asks which one. For the rate, it looks first at an answer you gave in the Mission, then at the day rate on the client record, then at the default day rate in Settings. If there is none, it asks, and offers the rates already set on your client records as one-click choices. The question says why: Pandore never sets a price for you.

If the plan needs other details, it asks for those too, for at most two rounds. A question left unanswered becomes a starting assumption, written in the plan where you can see it.

You approve the plan

The plan lists the work steps and who does each one: a Commercial analyst for the needs analysis, an Estimator for the pricing, a Commercial writer for the proposal and the email. It also shows what the Mission will read, what it will write after your approval, and its starting assumptions. Click Approve and start, or Revise plan to say what should change. Nothing runs before that.

The agent analyses, the code prices

The needs analysis restates the need from the deal's notes and exchanges, sets what is in and out of scope, and splits the work into packages. Each package gets an estimate in days and the basis for it, presented as an assumption. The analysis also names the risks, with a way to handle each, and the questions to ask the client before signing.

The pricing step is not an agent. It is code. It takes the estimated days, rounds each one to the nearest half day (never below half a day), multiplies by your rate, and computes the totals before tax, the VAT and the total including tax, in euros. The VAT rate comes from your tax profile, and the pricing marks it as to be confirmed. The pricing document ends with a section explaining where each number comes from, including every rounding.

Then the writer drafts the proposal for the decision maker: their situation, the approach in phases, the deliverables, the conditions, and answers to likely objections. The pricing table in the proposal is not written by the agent: Pandore inserts the computed one.

An amount written by an agent is a defect

Every agent in the chain is told not to write a price, a rate or a total. Pandore then checks what comes back. An amount with a currency in the analysis, the proposal or the email is flagged as a major issue, and the step is sent back to be redone. The pricing is recalculated from scratch, line by line, and any mismatch stops it. The proposal's phases are also compared with the priced days, and a large gap is flagged.

An independent review, then delivery

A separate review step then reads the whole result, along with the results of those code checks. If it finds serious problems, the Mission runs one correction round on its own. If problems remain, it asks you: correct with your instructions, or deliver as it is.

The deliverables stay in the Mission: the needs analysis, the pricing, the proposal and a short cover email draft, which the agent is asked to keep under 150 words. In the email, the agent writes a placeholder where the total goes, and Pandore fills in the computed figure. The total in the email is the same one as in the proposal.

When the Mission is linked to a deal, the plan can also add the proposal and the email draft to the deal's notes. Updating the deal itself, for example moving it to the proposal stage and setting its amount to the computed total before tax, is a sensitive action: Pandore asks you to approve that precise change when it gets there. The Mission never sends the email. Sending stays your decision.

What to check before you send

The method removes arithmetic errors. It does not remove judgment. Before the proposal leaves your computer, go through this list:

  1. The days. Do the estimates match how you actually work? The basis next to each package makes this quick. Change the days, not the total.
  2. The scope. Is what you will not do written down? Many disagreements start there.
  3. The rate and its source. Is it the rate you meant for this client, or a default?
  4. The VAT. Is the rate right for your situation and for this client?
  5. The roundings. Are you comfortable with each one?
  6. The conditions. Validity, billing terms, payment schedule. The writer is told not to invent legal clauses, so add your own.
  7. The names. Client, contact, company. A wrong name costs more than a wrong comma.
  8. The questions for the client. Some are worth asking before you send, not after.

If you prepare proposals for several clients, this guide to a freelance client workflow with AI agents shows where they fit in the rest of your client work.

Questions

Before you start.

Can I use this method without Pandore?

Yes. Ask any model for the needs analysis and the day estimates with their basis, and tell it not to write amounts. Put the days in a spreadsheet with your rate, then paste the resulting table into the proposal yourself.

Why not let the model compute the total if it is usually right?

Because "usually" is not enough on a document a client signs, and the output does not tell you when it got it wrong. A formula gives the same answer every time, and you can show how it was reached.

What happens if no day rate is recorded?

The Mission asks before it starts the work. It offers the rates already set on your client records, and you can type another one. It never picks a rate on its own.

Does a Mission send the proposal to the client?

No. A Mission prepares the documents and an email draft inside Pandore. You review them and send them yourself.

Prepare your next proposal with a Mission.

Free for Mac and Windows. No account required.

Version 0.9.0 · free · macOS 11+ Apple Silicon · Windows 10/11 x64