Izveidot kontuCreate account
‹ All playbooks
Prepare a written commercial offer

sales.prepare-offer·version 1.0.0·draft2 to verify

Prepare a written commercial offer

The customer has a numbered offer PDF with a fixed scope, price, validity and payment terms, and a follow-up task is set.

ElīnaSales Leadruns itProfile ›
Whenon request — owner or salesperson asks for an offer to a customer or prospect
Who actsthe agent acts after approval
Time30–45 min active; offer validity typically 14–30 days
Countryany country
Sign in to run thisThis playbook opens inside Brain Club. Sign in to read and run it.

When to use

A customer or qualified prospect has asked what the work or product costs, and the answer must be a document, not a chat message. Not for a lead that has not been qualified — run sales.qualify-lead first. Not for chasing an offer already sent — use sales.follow-up-offer. Not for a one-line price answer with no scope; a number without scope becomes the scope.

Before you start

  • The request is written down somewhere the agent can read (e-mail, call note, tender questions).
  • The price list and any standing discount rules are current in the money module.
  • The customer is in the CRM with the right legal name and address — this text goes on the offer.

What a run requires2

  • Approval · S5 · ownerthe run stops until a named person records the decision
  • Approval · S7 · ownerthe run stops until a named person records the decision

Any step can wait until a date and reopens by itself; every closed step leaves evidence (a note, a link, a number).

The trail8 steps

  1. Restate the askagent

    Write 2–4 lines: what the customer wants, by when, any constraints they named. Send it to the requester for a one-word confirm ("yes").

    Done when the requester has confirmed the restatement.

    ⛔ An offer built on a half-remembered call prices the wrong thing.

  2. Pull historyagent

    Previous offers and invoices to this customer, prices given to similar customers, anything owed (bc mail search <customer> for the correspondence).

    Done when the offer file notes prior prices and open items, or "none found".

  3. Draft the offeragent

    Fixed sections, in this order: scope (what is included and what is explicitly not), deliverables and dates, price per line, payment terms, validity date, the company's legal details. Number it OFFER-<year>-<seq>.

    Done when the draft exists in the documents module with that number.

    ⛔ Write exclusions ("does not include hosting, translation, …") — silence is read as inclusion.

  4. Check the numbersagent

    Recompute every line and the total by hand; apply the VAT rule for the buyer's country (⚠ verify rate and reverse-charge wording — vid.gov.lv for LV, or the buyer's tax authority); check margin against the discount rules.

    Done when a second computation matches the total and the margin is inside the standing rules or flagged.

  5. Approve scope and priceownerneeds approval · owner

    Approval · S5 · owner — the run stops until a named person records the decision

    Present the draft with the margin and any flagged discount.

    Done when the owner has approved the version, or named changes that go back through S3.

  6. Produce the PDFagent

    Export the approved version to PDF from the documents module; check the render (totals, dates, legal details, no placeholder text).

    Done when the PDF of the approved version number exists and reads clean.

  7. Approve sendingownerneeds approval · owner

    Approval · S7 · owner — the run stops until a named person records the decision

    Show the final PDF and the recipient address.

    Done when the owner has named the recipient and approved sending.

  8. Send and recordagent

    Send the PDF to the approved recipient from the company address. Record in the pipeline: offer sent, date, amount, validity date. bc tasks add a follow-up at half the validity period (e.g. day 7 of 14).

    Done when the sent copy is in the documents module, the pipeline shows "offer sent", and the follow-up task exists.

Checks — how we know it worked

  • Total on the PDF equals the sum of the lines, recomputed independently (read the PDF, not the draft).
  • VAT line names the rate and rule actually applied to this buyer.
  • Validity date is in the future and matches what was told to the customer.
  • Customer's legal name and registration number match the company register / prior invoices.
  • No "TBD", "XX" or template placeholder anywhere in the PDF.

If it goes wrong

SymptomResponse
Wrong total or VAT found after sendingIssue a corrected offer with a new version number the same day; do not annotate the old one; note which check in S4 failed.
Customer asks for scope beyond the offerDo not renegotiate by e-mail thread; write a revised offer through S3–S7.
Owner unavailable at S5/S7Offer waits; record the blocker date. Never send on an oral approval without a named person and date.
Offer expires with no answerRun sales.follow-up-offer; if still silent, close as lost and run sales.lost-deal-review.
Customer asks for a big discountTake it back through S5 with the margin impact shown; never quote a new number in the thread.

What each step leaves behind

  1. S1the requester has confirmed the restatement.
  2. S2the offer file notes prior prices and open items, or "none found".
  3. S3the draft exists in the documents module with that number.
  4. S4a second computation matches the total and the margin is inside the standing rules or flagged.
  5. S5the owner has approved the version, or named changes that go back through S3.
  6. S6the PDF of the approved version number exists and reads clean.
  7. S7the owner has named the recipient and approved sending.
  8. S8the sent copy is in the documents module, the pipeline shows "offer sent", and the follow-up task exists.

Evidence to keep

Offer number and version · the approved draft and the sent PDF · the owner's approval in S5 and S7 (who, when, which version) · send date and recipient · the follow-up task id · the pipeline entry.

How this playbook improves

After every 10 offers ask: how long from ask to sent, and which step waited? How many first versions were approved unchanged (target: most)? Did any sent offer need a correction, and which check in S4 or S6 should have caught it? Did any offer expire with no follow-up having fired? A new version changes the step that caused the wait or the miss, and says so in its change note.