Germany VAT calculator (Mehrwertsteuer)

German VAT is 19% as standard and 7% on a defined list including food, books and public transport, and you stay exempt as a Kleinunternehmer only while last year’s turnover was at or under 25,000 EUR and this year’s stays at or under 100,000 EUR.

Worked example · Vat Amount

With Amount of 100, this model computes Vat Amount of 19. See the full working.

✓ Verified against 6 self-test cases Updated for 2026 · sources checked 2026-10-05

How mehrwertsteuer (vat) in Germany is calculated

Adding VAT multiplies the net amount by the rate; removing it divides the gross by one plus the rate. That part is arithmetic, and every calculator gets it right. What they differ on is which rate applies, and § 12 UStG is the only thing that settles it: 19% unless the supply is on the reduced-rate list in § 12 Abs. 2 and Anlage 2, where it is 7%.

The registration question is where the real errors are. § 19 UStG does not set one threshold, it sets two, and both must hold for the exemption to continue: turnover of at most 25,000 EUR in the previous calendar year AND at most 100,000 EUR in the current one. Cross either and you charge VAT. A page quoting a single figure is describing a rule that does not exist, and the direction of the error matters — it tells a growing business it is still exempt.

The B2B reverse charge is exposed as an input rather than a footnote, because it is what most people mean when they ask whether they must charge VAT: the liability moves to the customer and the supplier charges nothing. Exports and intra-EU supplies are a separate mechanism again, zero-rated or exempt rather than a rate you select, and the calculator does not pretend otherwise.

Worked example

ShowHide the full working: 6 inputs, 6 computed steps
100.00 EUR net at the standard rate
Inputs
Amount100
DirectionAdd VAT (net → gross)
What is being suppliedStandard — 19% (§ 12 Abs. 1 UStG)
B2B reverse charge appliesno
Turnover this year0
Turnover last year0
Computed by the engine
Rate0.19
Effective Rate0.19
Net Amount ✓ pinned100
Vat Amount ✓ pinned19
Gross Amount ✓ pinned119
Must Registerno

Every computed row comes from the engine, run on the inputs above. Rows marked ✓ pinned are also fixed by a published self-test, so a change to the model that moved them would fail its own tests.

Frequently asked questions

How much VAT is on 100 EUR in Germany?

19.00 EUR at the standard rate, for a gross of 119.00 EUR. At the reduced 7% rate it is 7.00 EUR, for 107.00 EUR gross. Both rates are set by § 12 UStG.

How do I remove VAT from a gross price?

Divide by one plus the rate: 119.00 EUR gross at 19% is 100.00 EUR net. Set the direction to "remove VAT" and the calculator does it either way round.

What is the Kleinunternehmer threshold?

There are two, and both apply: at most 25,000 EUR of turnover last calendar year and at most 100,000 EUR this one, per § 19 Abs. 1 UStG. Exceed either and you must charge VAT. Many calculators quote only one figure.

Which goods get the 7% rate?

The list in § 12 Abs. 2 UStG and Anlage 2 to the Act — food, books and periodicals, public transport, cultural admissions and more. The category selector covers the common cases; the statutory list is longer and is the thing to check for an unusual supply.

Sources

Estimate. Not tax advice. The verification badge means the model reproduces the stated formula through 6 self-test cases; the sources support that the formula matches the rules.

Check the arithmetic yourself: how this calculator is verified — the formula behind every derived value, the 6 test cases the engine reproduces, and what the badge does and does not claim. Also available as machine-readable JSON.

Related calculators

Estonia käibemaks (vat) · Poland podatek vat · Croatia pdv (vat) · Slovakia dph (vat) · Finland alv (vat)

Also for Germany: Germany net salary · Germany car tax · Germany freiberufler · Germany urlaubsanspruch

All Germany calculators · All calculators

Fork this model in the Valem sandbox →

Built with Valem — a live, verifiable calculator you can fork and embed.