What goes into a quote?
A quote should contain everything the customer needs to accept it without asking questions: what you supply or carry out, in what quantity, at what price, how long the quote is valid and how payment works. Unlike invoices, quotes have no fixed list of mandatory details. Even so, there are four rules you should know.
- Information for consumers: Before a consumer accepts, you must tell them, among other things, the main characteristics of the service, your identity with address and telephone number, the total price, the terms of payment and performance including the date, and the statutory liability for defects, unless these are apparent from the circumstances (§ 312a(2) BGB with Art. 246 EGBGB, the Introductory Act to the Civil Code). Off your business premises, the obligations go further (§ 312d BGB); consumer building contracts for new builds or substantial alterations have their own rules (§ 312(2) BGB).
- Prices for consumers: You must state the total price including VAT (§ 3(1) PAngV, the German Price Indication Ordinance). For business customers, net prices with VAT shown separately are customary.
- Terms and conditions: For consumers, general terms and conditions only become part of the contract if you expressly refer to them and the customer can reasonably take note of their content (§ 305(2) BGB). A sentence in the quote and the terms attached as an enclosure satisfy both requirements.
- Being bound: You are bound by your quote until the acceptance period expires (§ 145 and § 148 BGB). That is why it needs a date.
Template: how to structure a quote or cost estimate
This template divides a quote into ten parts, from the header to the signature. You can recreate it in your letter template or use it as a sample file for an AI agent. All example values are invented.
| Part | What goes in | Example |
|---|---|---|
| Header and subject | Your business, customer address, date, quote number, reference to the enquiry, place of performance | Quote no. 2026-0142 of 23 September 2026: painting work in the stairwell, Lindenstraße 4 |
| Specification of works | Exactly what will be done, with materials, quality and scope | Clean walls and ceilings, fill cracks, apply two coats of white emulsion paint |
| Items | Number, quantity, unit, short description, unit price, total price | 1.3 · 86.5 m² · Wall painting · €9.80 · €847.70 |
| Prices and tax | Net total, VAT with rate, total amount; for small businesses, the note instead of tax | Net €3,412.00 · plus 19% VAT €648.28 · Total €4,060.28 |
| Validity period | Date until which the customer can accept | This quote is binding on us until 31 October 2026. |
| Schedule | Expected period and what the customer provides beforehand | Work expected in calendar week 44, provided the stairwell is freely accessible. |
| Payment terms | Payment period, early payment discount, progress payments (§ 632a BGB) | Payable within 14 days of invoicing without deduction. |
| Not included | Exclusions and assumptions on which the price is based | Work on doors and banisters is not included. Based on the site measurement of 20 September. |
| Notes | Terms and conditions; for small businesses § 19 UStG; for consumers, the note on statutory liability for defects and, where applicable, the withdrawal policy | Our enclosed general terms and conditions apply. |
| Closing | Contact person, how to accept, signature | To place the order, sign the quote and send it back to us. |
For a cost estimate, use the same structure, write “Cost estimate” in the heading and replace the validity period with a sentence such as: “The costs have been estimated to the best of our knowledge; if a significant overrun becomes apparent, we will let you know before we continue working.”
Quote or cost estimate?
A quote binds you; a cost estimate is an estimate, and you must notify the customer without delay of any significant overrun (§ 649 BGB). You decide which of the two documents is produced, not the model: so write the document type into the task.
| Quote | Cost estimate | |
|---|---|---|
| What it is | An offer to enter into a contract on the stated terms | A professional estimate of the expected costs, called “Kostenanschlag” in the statute |
| Binding effect | Binding unless you exclude it, for example with “subject to change” (“freibleibend”, § 145 BGB) | The final price may differ, unless you guarantee its accuracy |
| If it gets more expensive | The quoted prices apply; for additional or changed work you write a supplementary quote | Notify a significant overrun without delay; if the customer terminates for that reason, they only owe the share for the work done and expenses (§ 649 BGB with § 645(1) BGB) |
The statute does not define “significant” as a percentage. If in doubt, the customer does not have to pay for a cost estimate (§ 632(3) BGB). If the customer accepts a quote late or with changes, their reply counts as a new offer, which you can accept or not (§ 150 BGB).
How does an AI agent help with a quote?
An AI agent reads the enquiry, price list and text modules, builds line items from them and writes the cover text; you set the values, and the checking stays with you.
- Put the documents in a folder
Enquiry as a PDF, text or email file, price list as an Excel or CSV file, plus text modules and template. Type up handwritten notes and scans without a text layer beforehand.
- Write the task
Document type, line items, the single price source, units, validity period and the rule for gaps.
- Clear up open points
The draft ends with what is missing from the enquiry: dimensions, preferred materials, date. You clarify these with the customer, not with the model.
- Recalculate and check
Open the line-item list in Excel, recalculate row totals and the grand total with formulas, and check every row against the price list.
- Transfer and send
Transfer line items and text into your quoting software or letter template, assign a quote number, sign, send.
Chat assistant
You paste in the enquiry or upload it and have the cover text drafted. You enter prices and quantities yourself.
AI function of your industry software
Some software for trade businesses and for quoting offers AI functions for service descriptions; master data and layout stay there. Examples with sources are in the guide AI in the skilled trades.
AI agent in the working folder
The agent reads your documents and saves the line-item list and quote text as new files. Layout remains a matter for your template.
How do you phrase the task? Two examples
A usable task names the files, the result, the only permitted price source and what should happen with gaps. The examples show a task for a trade business and one for a service provider; file names and values are invented. General advice is in the guide The first task for an AI agent.
Read the enquiry anfrage-0142.pdf, our site measurement aufmass-0142.xlsx and the price list preisliste-2026.xlsx. Create a draft quote for the painting work following the structure in vorlage-angebot.md. For each service, create a line item with quantity and unit from the site measurement and the unit price from the price list. If a service is missing from the price list, do not enter a price and mark the row with “price missing”. Validity period 30 days. Save positionen-0142.csv with a semicolon as separator, and angebot-0142.md. Do not change any existing file.
- Input
- Enquiry as a PDF with a text layer, site measurement and price list as Excel files, structure and text modules as a Markdown file.
- Result
- Two new files in the folder: a line-item list with quantity, unit, unit price and total price that Excel opens in columns, and the quote text to transfer into your template. Rows without a price are marked in the list.
- Check
- Compare every quantity with the site measurement and every unit price with the price list, and recalculate the totals in Excel. Then read the VAT rate, the validity period and the list of services not included.
Read the enquiry anfrage-autohaus-berg.eml and our hourly rates in stundensaetze.csv. Structure the quote into setup, data migration and training. Suggest hours for each phase and justify each figure in a separate column. Under “Not included”, list everything the enquiry leaves open. Save positionen-berg.csv and angebot-berg.md.
- Input
- Enquiry as an email file, hourly rates as a CSV table.
- Result
- A quote text with three phases and a line-item list in which every number of hours comes with a justification. The open points of the enquiry are listed at the end.
- Check
- The hours are the model's suggestion, not a costing. Compare every figure with your own experience from similar projects before you turn it into a price.
What do you check before sending?
Check an AI draft as you would a new colleague's work: every figure against its source, every total recalculated, every commitment read.
- Quantities and units match the enquiry or site measurement; no line item is missing or duplicated.
- Every unit price appears exactly like this in your price list or was deliberately costed by you; no price comes from the model.
- Row totals and the grand total have been recalculated in Excel, and discounts and surcharges are applied correctly.
- VAT has the right rate and amount; consumers see the total price including tax.
- The top deliberately says “Quote” or “Cost estimate”, and the validity period is a date.
- Exclusions and assumptions are listed under “Not included”; no service is promised by implication.
- The text contains no dates, discounts or guarantees that you did not specify yourself.
- Salutation, customer number and reference to the enquiry are correct; the note on the terms and conditions and the enclosure are included.
- For consumers, the quote includes your address and telephone number, the performance date and the note on statutory liability for defects.
Text and line items yes, letterhead and costing no: Biwak for quotes
Biwak drafts the quote text and line-item list from your files; the finished quote with letterhead is still produced in your template or quoting software. The agent works in a folder on your computer, reads PDFs with a text layer, Word, Excel, CSV and email files (.eml), and saves the quote text as a Markdown or HTML file and the line-item list as CSV. Before every task, Biwak backs up the folder; one click restores the previous state.
On the Biwak home page, a second use case is called “Quotes: folder → overview”: bringing incoming quotes from a folder into an overview. How that works is explained in the guide Comparing quotes.
- Draft quote from enquiry, price list and text modules
- Line-item list as CSV that Excel opens and that you can recalculate
- Checkpoint before every task, one-click rollback
- Several incoming quotes from one folder in a single overview
- No finished Word or PDF quote from the desktop app; tools for that exist only in the browser workspace at biwak.ai/chat, a preview feature
- No text recognition for scans, photos or a handwritten site measurement
- No connection to quoting or trade software; exchange runs via files such as CSV
- No web search for market prices in the desktop app
Frequently asked questions
Is a quote legally binding?
As a rule, yes. Anyone who offers to enter into a contract with another party is bound by that offer unless they have excluded this (§ 145 BGB), for example with the addition “freibleibend” (subject to change). If the customer accepts in time and without changes, the contract is concluded on your terms.
How long is a quote valid?
For as long as you specify in the quote (§ 148 BGB). Without a deadline, a quote sent by post or email can only be accepted for as long as you could expect a reply under normal circumstances (§ 147(2) BGB). A late or modified acceptance counts as a new offer from the customer (§ 150 BGB).
Does the quote have to show VAT?
For consumers, you must state the total price including VAT (§ 3(1) and § 2 no. 3 PAngV). For business customers, net prices with VAT shown separately are customary. Small businesses do not show VAT and should ideally state the reason in the quote already.
Can AI calculate the prices?
It can calculate what you give it: unit prices from your price list and surcharges according to your costing scheme. It does not know your costs, your capacity or your experience. So have missing prices flagged rather than estimated, and decide for yourself.
Do you have to pay for a cost estimate?
If in doubt, no: under § 632(3) BGB, a cost estimate is not to be paid for unless otherwise agreed. If you want to charge for an elaborate estimate, agree this with the customer beforehand.
Sources
- § 145 BGB: Binding effect of an offer
- § 147 BGB: Period for acceptance
- § 649 BGB: Cost estimate
- § 632 BGB: Remuneration (para. 3: if in doubt, a cost estimate is not to be paid for)
- § 3 PAngV: Obligation to state the total price
- § 34a UStDV: Invoices from small businesses
- § 312a BGB: General obligations in consumer contracts (para. 2 with Art. 246 EGBGB)
- § 312g BGB: Right of withdrawal
- § 305 BGB: Incorporation of general terms and conditions
This text is not legal advice. It is the groundwork we had to do for ourselves, with the legal references, so that your lawyer does not have to start from scratch. Where a question depends on your circumstances, the text says so.
