AI should draft the proposal, not sign promises for you
I would let AI draft a commercial proposal, but not search prices in a folder of old proposals. A polished proposal with last year’s rates is not time saved—it is sales risk.
The mistake I would remove first: The model is good at assembling text from correspondence, but it does not know which deadline and discount are actually approved. So store the source of every number next to the draft.

What to prepare and what result to expect
- Outcome: The manager gets a document to edit and verify—not rewrite from scratch or hunt prices in old files.
- Create a brief template: client, problem, scope, constraints, deadline, budget range, required sections, and forbidden promises.
- Keep source data and access rights separate from the result so you can audit what the commercial proposal draft actually did.
- Compare the proposal to the brief and price list: every amount and date must have a source.
Build the proposal from a brief and verifiable data
- Collect price and terms sources
Move price list, timelines, and limits into a table with effective_from and owner. Do not connect a folder of all old proposals without a currency/status flag.
Проверьте: For every number you can name the source and date.
Если не сработало: Leave requires_review instead of guessing.
- Fill the brief before the prompt
Pass the model fields for client, problem, scope, and constraints—not a long thread. Keep a link to the original correspondence next to the draft.
Проверьте: The model does not mix the client’s goal with an internal manager comment.
Если не сработало: First ask AI to extract facts and questions, not write the proposal.
- Generate by section
Ask for blocks: problem, approach, scope of work, timeline, what is needed from the client, price, and next step. Each block should have status confirmed or review.
Проверьте: The manager sees which parts need manual review.
Если не сработало: Disable auto-formatting and verify data in the table.
- Run a final check
Before send, verify name, currency, tax, timelines, promises, and contact. Sending from the workflow must be a separate action with approval.
Проверьте: Without approval the email does not go to the client.
Если не сработало: Leave a “Download draft” button and send manually.

First create brief and price list
In the brief keep client, problem, scope, exclusions, deadline, budget_range, required_sections, and forbidden_promises. In the price list—product_id, price, currency, effective_from, effective_to, and owner. Do not delete old documents; mark them archived.
The prompt should request blocks: problem, approach, scope of work, timeline, price, what is needed from the client, next step. For each block add status confirmed or review. If a fact is missing from the source, the model should return requires_review instead of filling the gap with persuasive text.
- Before send check name, currency, tax, and deadline.
- Generation and send must be two different buttons.
Minimal approval
Save the document as draft, send the manager a link, and do not give the workflow permission to call Send email. After approve record who confirmed and the price list version. If data changed, the old draft should become invalid—not go to the client automatically.
The price source must be a price list row
In the price list store `product_id`, `price`, `currency`, `effective_from`, `effective_to`, and `owner`. In the brief—`client`, `problem`, `scope`, `exclusions`, `deadline`, `budget_range`, and `forbidden_promises`. AI assembles document blocks, but every amount and date gets `source_id` and `status = confirmed/review`.
Save the document as draft and send the manager a link. A separate approve button checks price list currency and only then allows Send email. If price changed, move the old draft to `invalid` instead of sending automatically.
What you can generate vs only review
| Criterion | Question | Good sign |
|---|---|---|
| Input | What exactly enters the commercial proposal draft? | Create a brief template: client, problem, scope, constraints, deadline, budget range, required sections, and forbidden promises. |
| Action | What is the system allowed to do on its own? | Only pre-listed actions, without access to the whole account |
| Verification | How do you know the result is acceptable? | Compare the proposal to the brief and price list: every amount and date must have a source. |
| Failure | Where does an unclear case go? | Mark the document draft, highlight unconfirmed fields, and return it to the manager without sending to the client. |
What should change after setup
The manager gets a document to edit and verify—not rewrite from scratch or hunt prices in old files.

Why a polished proposal still needs a rewrite
Giving the model a folder of outdated price lists.
Asking it to write persuasively without rules about facts.
Mixing internal comments with client-facing text.
Sending the document automatically after generation.
When you need a protected document pipeline
You need a specialist if the proposal is assembled from multiple systems, depends on complex calculation, or includes legally binding terms.
What to check before sending to the client
Who is this commercial proposal draft approach for?
AI for commercial proposals works well for a first draft when it gets a structured brief and approved prices. Final promises, timelines, discounts, and legal terms still need a human review.
Where to start if everything is still manual?
Create a brief template: client, problem, scope, constraints, deadline, budget range, required sections, and forbidden promises.
How do you check the setup will not hurt you?
Compare the proposal to the brief and price list: every amount and date must have a source.
What if the result is unclear?
Mark the document draft, highlight unconfirmed fields, and return it to the manager without sending to the client.






