Skip to content
Back How to Write a Freelance Quote in Germany (Angebot): Rules and Template 2026

How to Write a Freelance Quote in Germany (Angebot): Rules and Template 2026

Your quote binds the moment the client says yes, signature or not. The seven lines they read first, the law in plain words, and a template.

Blago Yanakiev
Blago Yanakiev

Oct 20, 2026

Pricing Communication Legal
TL;DR

A freelance quote in Germany is a binding offer the moment the client accepts it, and acceptance can be an email or a click (§ 145 BGB). No signature is required by law for ordinary service work. What protects you: a validity date, a clear net-or-gross price, a paragraph on what is not included. Only two things are actually regulated: how you show VAT (or the Kleinunternehmer note) and the rules for a Kostenvoranschlag, where there is no legal 20 percent tolerance. Below: the seven lines clients read first, the law in plain words, and a template in English and German.

Most guides to writing an Angebot open with a list of "Pflichtangaben". For a solo freelancer outside the Handelsregister, that list does not exist. What exists is a quote that becomes a contract the second the client says yes, and a handful of BGB and UStG rules that decide what happens when the scope grows or the price is wrong.

The seven lines a client reads first

Watch a hiring manager open a PDF and the eyes go to the same places. Put these seven things where they land.

  1. The total, and whether it is net or gross. A single number without "zzgl. USt" or "inkl. USt" is the most common avoidable dispute in a B2B quote.
  2. What exactly you deliver. Line items with a description, quantity, unit and price. "Website relaunch, pauschal" is not a scope.
  3. What you do not deliver. The paragraph almost nobody writes and the one that saves the project: hosting, copy, third-party licences, revisions beyond round two.
  4. When it is done. Dates or milestones, and what you need from the client to hit them.
  5. How long the quote is valid. A date, not "two weeks".
  6. How and when you get paid. Deposit, payment target, invoicing rhythm.
  7. The next step. One sentence: "Reply with 'accepted' and we start on the 3rd."

The number itself deserves a minute: precise figures get less pushback than round ones, and the science of quoting explains why 4,850 euros beats 5,000. Before any of that, know your floor: the hourly rate calculation comes before the quote.

What a quote is in German law

It binds you by default. § 145 BGB: whoever offers to conclude a contract is bound by that offer unless they have excluded the binding effect. When the client accepts, the contract exists. No countersignature, no confirmation from you.

You can switch that off. Mark the quote "freibleibend" or "unverbindlich" and it stops being an offer in the legal sense; it becomes an invitation to the client to make one, which you then confirm. The catch: in commercial dealings silence can count as acceptance, so if you do not want the job, say so promptly.

Validity is yours to set. Without a deadline, § 147 Abs. 2 BGB says an offer to an absent party can be accepted until the moment you could normally expect a reply. No number of days in the law, a judgement call you do not control. § 148 BGB lets you fix the period yourself, so write "valid until 31 October 2026" on every quote.

A changed acceptance is a new offer. If the client sends the quote back with a different start date or an extra deliverable, § 150 Abs. 2 BGB treats that as a rejection plus a new offer. Now you have to accept, in writing.

Angebot, Kostenvoranschlag, Festpreis. A quote (Angebot) names a price and binds. A Kostenvoranschlag is an estimate of expected cost, and § 632 Abs. 3 BGB says it is, in doubt, not to be paid for. A Festpreis is a quote whose price the parties fix regardless of effort. The rule people get wrong sits in § 649 BGB: if the work cannot be done without a substantial overrun of an estimate you did not guarantee, the client may terminate, and you must notify them without delay as soon as an overrun is foreseeable. There is no statutory 20 percent tolerance. Commentaries cited by the IHK Mittlerer Niederrhein treat 10 to 20 percent, at most 25, as still insubstantial, case by case. Exceeding it is not permission; it triggers the client's exit right and your duty to speak up.

What the law actually requires in the quote

Very little. The HGB rules on business letters (§ 37a HGB) apply to a Kaufmann and to registered companies, not to a sole freelancer outside the Handelsregister. Two things are regulated:

VAT display. If you charge VAT, show net total, VAT rate, VAT amount and gross total as separate lines. If you use the small-business scheme, show no VAT and say so: "Gemäß § 19 UStG wird keine Umsatzsteuer berechnet." The thresholds since 1 January 2025, confirmed in the BMF letter of 18 March 2025 and unchanged for 2026, are 25,000 euros turnover in the previous year and 100,000 euros in the current year. Whether you are freiberuflich or gewerblich does not change the VAT lines; the differences that do follow from it are in Freiberufler or Gewerbe.

Your terms, if you have any. For your AGB to become part of the contract with a business client, reference them in the quote and make them accessible, for example with a working link. Terms that arrive later with the invoice are not part of the deal. B2B incorporation does not require the client's express agreement, but a bare "our terms apply" without a link is weaker than one with.

Everything else on the usual checklists is commercial practice: name, address, Steuernummer or USt-IdNr., the client's details, quote number and date. Include it; just do not mistake it for law.

Signature: what you need and what you do not

Clients say "we need a signed document"; freelancers think "I need a scanned signature for this to count". Both are wrong for ordinary freelance work. A service or work contract between a freelancer and a company has no statutory written-form requirement. § 126 BGB only applies where a law prescribes written form, which it does for a short list of contract types, none of them a typical project agreement. "Accepted, please start" in a reply email forms the contract. So does a click on an accept button.

Where a written form is prescribed, § 126a BGB allows an electronic replacement, but only with a qualified electronic signature (QES) under the EU's eIDAS regulation. Article 25 eIDAS has two sentences worth remembering: an electronic signature shall not be denied legal effect solely because it is electronic, and a qualified electronic signature has the same legal effect as a handwritten one. For a normal quote, a simple e-signature, typed or drawn, is enough. QES is the edge case; if a client's procurement demands it anyway, that is their business decision, not a legal requirement.

Template

Copy, fill, delete what does not apply.

[Your name / studio], [address], [Steuernummer or USt-IdNr.] To: [Client, contact person, address] Quote no. [2026-014] · Date [dd.mm.yyyy] · Valid until [dd.mm.yyyy] Re: [Project name], following our call on [date]

Summary. [The client's problem in one sentence. The result in one sentence.]

Services

  1. [Item, description, quantity, unit, unit price, total]
  2. [Item …]

Not included: [hosting, copywriting, licences, revisions beyond round two, travel …]

Net total [€ …] · VAT 19 % [€ …] · Gross total [€ …] (or: No VAT is charged under § 19 UStG.)

Timeline: [start, milestones, delivery]. From you we need: [access, content, feedback within x working days]. Payment: [x % on acceptance, balance on delivery, payable within 14 days]. Terms: Our terms and conditions apply: [link]. Usage rights transfer on full payment.

Next step: Reply "accepted" to this email or sign via the link, and we start on [date].

German version

[Name / Studio], [Anschrift], [Steuernummer oder USt-IdNr.] An: [Kunde, Ansprechpartner, Anschrift] Angebot Nr. [2026-014] · Datum [TT.MM.JJJJ] · Gültig bis [TT.MM.JJJJ] Betreff: [Projektname], Bezug: unser Gespräch vom [Datum]

Zusammenfassung. [Das Problem des Kunden in einem Satz. Das Ergebnis in einem Satz.]

Leistungen

  1. [Position, Beschreibung, Menge, Einheit, Einzelpreis, Gesamtpreis]
  2. [Position …]

Nicht enthalten: [Hosting, Texte, Lizenzen, Korrekturschleifen ab Runde drei, Reisekosten …]

Nettosumme [… €] · zzgl. 19 % USt [… €] · Bruttosumme [… €] (oder: Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.)

Zeitplan: [Start, Meilensteine, Lieferung]. Mitwirkung des Kunden: [Zugänge, Inhalte, Feedback innerhalb von x Werktagen]. Zahlung: [x % bei Annahme, Rest bei Lieferung, zahlbar innerhalb von 14 Tagen]. Bedingungen: Es gelten unsere AGB: [Link]. Nutzungsrechte gehen mit vollständiger Zahlung über.

Nächster Schritt: Antworte mit „angenommen" auf diese E-Mail oder signiere über den Link, und wir starten am [Datum].

When the scope changes

It will. Every change request gets a written Nachtrag, a short addendum with the extra items, price and any date shift, accepted the same way as the original quote. A verbal "just add this" is how projects lose their margin.

Line items pay off again at the end. From 2027 your larger clients issue structured e-invoices, from 2028 you will too, and a quote whose positions map one to one onto invoice positions saves the retyping. Our guide to writing invoices has the invoice side, the e-invoicing deadlines piece the dates.

Where the quote becomes the contract

Because this is our own product, here is what the page shows and nothing more. Offer by 9am is a proposal-to-payment workspace 9am built for its own work and released for freelancers and small studios. You write a Fixed Price or Time & Materials offer from a product catalogue and templates, with optional items and discounts, and send an individual signing link. The client signs by typing or drawing; the signature is eIDAS and ESIGN compliant, hashed, with a certificate of completion. The same document then carries time tracking and invoicing, as a PDF or through Lexware or Qonto with XRechnung and ZUGFeRD, with EU VAT and reverse-charge detection. The page shows no pricing; 9am says the tool is free for freelancers. The structural point: the quote you write there is the document the client signs, so the offer becomes the contract without retyping.

What to do on Monday

  1. Add a validity date to your template. Today plus 14 days, printed on the quote, every time.
  2. Write the "not included" paragraph for your standard service once. Reuse it.
  3. Split the price into net, VAT and gross, or add the § 19 UStG line. Check which side of 25,000 euros you were last year.
  4. Delete "signed copy required" from your process. Ask for a reply email or a click, and keep it.
  5. Draft one Nachtrag template with three fields: what, how much, new date.

If the quotes are good and the clients are few, fix the second problem. A free 9am profile puts you in front of companies across DACH that hire freelancers, and 9am's job search collects projects from more than 100 boards.

This article is general information for practitioners and does not replace legal or tax advice.

Blago Yanakiev

Co-founder & CPO

Blago is a product leader and SaaS founder. He runs product at 9am and directs events and growth for the Freelance Unlocked conference.

9am profileLinkedIn

Latest Articles

A LinkedIn Profile That Brings Freelance Clients in 2026: Services Page, Headline, About

A LinkedIn Profile That Brings Freelance Clients in 2026: Services Page, Headline, About

A sourcing trainer with 550 recommendations has not made a cold call in five years. Her profile does the work. Here is how it is built.

Agentic Loops for Freelancers: The Finish Line Is the Product

Agentic Loops for Freelancers: The Finish Line Is the Product

A loop runs until a checkable goal is met. For a freelancer the goal card, the referee and the final check are what the client pays for.

Tax Return for Freelancers in Germany 2026: Forms, Deadlines and the Anlage EÜR

Tax Return for Freelancers in Germany 2026: Forms, Deadlines and the Anlage EÜR

31 July 2026 has passed. Without an adviser you are late on the 2025 return, but the mandatory surcharge only starts in March 2027.