Updated
Creating a quote (Angebot erstellen): from quote to invoice, terms intact
To create a quote (Angebot erstellen) that holds up, describe the goods or service precisely, state net price, VAT and gross price, list every discount and the payment terms, and set a validity date. In Germany, a quote binds you once it reaches the customer unless you mark it as non-binding. Whatever you promise in it must then reach the order confirmation, the delivery note and the invoice unchanged.
Most advice on quotes is about persuasion: a friendly cover letter, a clear layout, a quick follow-up. That matters, but the expensive mistakes happen later. A discount agreed in the quote is missing from the invoice, a payment term changes on the way, or a price was calculated without the current purchase cost. The quote is the first document in a chain, and the chain is only as good as its weakest copy.
What does a German quote need to contain?
There is no list of mandatory fields for a quote, unlike an invoice. In practice, a quote that you can turn into an order without questions contains:
- Your company details and the customer's legal entity, the one that will receive the invoice.
- A quote number and date, so the order and invoice can refer back to it.
- A precise description of each item: product, quantity, unit, version or scope of service. "Implementation" is not enough; "onboarding for up to 20 users, delivered in March" is.
- Prices per line, net, with the VAT rate and the gross total. If you sell to consumers, the gross price is the one that counts.
- Discounts, stated per line or for the total, and whether they depend on volume or timing.
- Payment terms, including any early-payment discount (Skonto), and delivery terms.
- A validity date and, if you want, a reference to your general terms and conditions.
The same data will later have to appear on the invoice, where German VAT law does set mandatory details. Building the quote with those in mind saves a correction later. We list them in invoice requirements in Germany.
When is a quote binding, and what turns it into an order?
Under § 145 of the German Civil Code (BGB), whoever offers to conclude a contract is bound by the offer, unless they have excluded that. Phrases such as "freibleibend" (subject to change) or "unverbindlich" make a quote non-binding, which is useful when purchase prices move quickly. Without a validity date, the customer can only accept within the time in which a reply can normally be expected (§ 147 BGB).
The customer's order is the acceptance. If it changes anything, a different quantity, a lower price, other payment terms, § 150 BGB treats it as a rejection combined with a new offer. Your order confirmation (Auftragsbestätigung) then accepts that new offer, or not.
The order confirmation is not legally required, but it is where many disputes are settled. Between businesses, German case law treats a commercial letter of confirmation (kaufmännisches Bestätigungsschreiben) that the recipient does not contradict promptly as binding on its content. If your order confirmation quietly differs from what sales agreed, you may be held to the confirmation, or the customer to theirs. That is a strong reason to generate the confirmation from the agreed data rather than retype it.
Where do prices, discounts and terms get lost between documents?
The German sales chain has four documents: quote (Angebot), order confirmation (Auftragsbestätigung), delivery note (Lieferschein) and invoice (Rechnung). In many growing companies, each one is created in a different place. The quote in a CRM or a word processor, the confirmation in a template, the delivery note in a warehouse tool, the invoice in a basic accounting tool.
Every handover is a chance to lose something:
- Discounts. A project discount agreed in the quote is not on the invoice, or it is applied twice.
- Payment terms. The quote says 30 days net with 2 percent Skonto within 10 days; the invoice template says 14 days net.
- Partial deliveries. The delivery note covers 80 of 100 units, but the invoice bills all 100.
- Price changes. The customer accepted a quote from March in May, after the price list changed. The invoice uses the new price, and the customer disputes it.
- Entity and address. The quote went to the operating company, the invoice to the holding.
Each mismatch ends up in accounts receivable as a dispute, a credit note or a late payment. The reminders stop because nobody is sure which amount is right, a pattern we describe in dunning and receivables. It is one of the workarounds that pile up as ERP complexity debt.

How do you check the margin before the quote goes out?
A quote fixes revenue before the costs are known. The calculation behind it (Angebotskalkulation) usually starts from cost: material or purchase price, direct labour, a share of overheads, then a profit margin. Discounts and Skonto come off the top, so they must be built into the price, not added as an afterthought. A 10 percent project discount and 2 percent Skonto on a quote calculated with a 15 percent margin leave very little.
Three checks help before the quote is sent:
- Current cost basis. Use today's purchase prices and the actual valuation of stock, not last year's list.
- Margin per line and in total. A bundle can hide one line sold below cost.
- Terms in money. Translate Skonto, payment term and delivery terms into what they cost. Our article on Skonto and payment terms shows how.
After delivery, a post-calculation (Nachkalkulation) compares quoted and actual costs. That only works if quote, order and actual costs are linked, which is the same problem as measuring contribution margin by product, customer or project.
Which documents must you keep, and for how long?
Quotes, order confirmations and the related correspondence are commercial letters (Handelsbriefe). Under § 257 HGB, merchants must keep received and sent commercial letters for six years. Invoices are booking vouchers and must be kept for eight years. The period starts at the end of the calendar year in which the document was sent or received.
In practice, this means the quote cannot live only in someone's mailbox. If a customer disputes a price two years later, or a tax auditor asks why an invoice deviates from the price list, you need the quote, the confirmation and any change in between, linked to the invoice.
How does Agent F help you go from quote to invoice?
In Agent F, order management runs from order to cash on one data model, together with invoicing, receivables and the general ledger. Agent F connects to CRMs such as HubSpot, Pipedrive and Salesforce, where many sales teams already write their quotes. Once the customer has accepted, the order and every document after it live in one system rather than in a template, a warehouse tool and a basic accounting tool.
The invoice is created from the order with the agreed prices, discounts and terms, instead of being retyped from a template. Outgoing invoices can leave as e-invoices (XRechnung). Whether a quoted margin held shows up afterwards in custom reports from live data, so the post-calculation does not need a separate spreadsheet.
Payments are matched to the invoice, each match is suggested with a confidence score for a person to approve, dunning runs from the same receivables, and revenue flows into the ledger and the DATEV export. Every step, change and approval is recorded in the immutable audit trail.
To start, take ten invoices from last month and compare them with their quotes: prices, discounts, terms and entity. Count the mismatches. Then make validity date and payment terms required fields in your quote template, and agree who signs off quotes below a margin threshold.
Learn how Agent F works, or see it on your own quotes and orders at agent-f.ai/demo.

This article is for general information only and does not constitute tax or legal advice. Parts of it were generated with AI. Please consult your tax advisor or legal counsel before acting on it, and feel free to reach out at team@agent-f.com with any questions or for support.