Skip to main content
Invoice-Converter.comInvoice-Converter
BlogPricing
Convert InvoiceConvert
ConvertConvert Invoice
⌘K
Documentation overview
Glossary
Code Lists
XRechnung Fields
Invoice basics
BT-1
BT-2
BT-3
BT-5
BT-6
BT-7
BT-8
BT-10
BT-11
BT-12
BT-14
BT-15
BT-16
BT-17
BT-18
BT-19
BT-21
BT-22
BT-23
BT-24
BT-25
BT-26
Delivery and payment
BT-9
BT-13
BT-20
BT-59
BT-60
BT-61
BT-70
BT-71
BT-72
BT-73
BT-74
BT-75
BT-76
BT-77
BT-78
BT-79
BT-80
BT-81
BT-82
BT-83
BT-84
BT-85
BT-86
BT-87
BT-88
BT-89
BT-90
BT-91
Seller details
BT-27
BT-28
BT-29
BT-30
BT-31
BT-32
BT-33
BT-34
BT-35
BT-36
BT-37
BT-38
BT-39
BT-40
BT-41
BT-42
BT-43
BT-62
BT-63
BT-64
BT-65
BT-66
BT-67
BT-68
BT-69
Buyer details
BT-44
BT-45
BT-46
BT-47
BT-48
BT-49
BT-50
BT-51
BT-52
BT-53
BT-54
BT-55
BT-56
BT-57
BT-58
Discounts and charges
BT-92
BT-93
BT-94
BT-95
BT-96
BT-97
BT-98
BT-99
BT-100
BT-101
BT-102
BT-103
BT-104
BT-105
Taxes and totals
BT-106
BT-107
BT-108
BT-109
BT-110
BT-111
BT-112
BT-113
BT-114
BT-115
BT-116
BT-117
BT-118
BT-119
BT-120
BT-121
BT-122
BT-123
BT-124
BT-125
Line items
BT-126
BT-127
BT-128
BT-129
BT-130
BT-131
BT-132
BT-133
BT-134
BT-135
BT-136
BT-137
BT-138
BT-139
BT-140
BT-141
BT-142
BT-143
BT-144
BT-145
BT-146
BT-147
BT-148
BT-149
BT-150
BT-151
BT-152
BT-153
BT-154
BT-155
BT-156
BT-157
BT-158
BT-159
BT-160
BT-161
BT-162
BT-163
BT-164
BT-165
BT-185
BT-186
ZUGFeRD Profiles
  1. E-Invoicing Resources
  2. XRechnung Fields
  3. BT-118

Reference

Markdown export

BT-118 VAT Category Code

For most German invoices with 19% or 7% VAT, BT-118 is simply "S". The percentage itself does not live in BT-118. You put the actual rate in BT-119.

Quick answerIn plain languageWhat you usually enter hereCommon casesWhat goes wrong oftenExamples in contextValid ExamplesInvalid ExamplesRelated FieldsXML mapping and field factsXML ImplementationValidation RulesWhy the standard cares about this fieldFAQOfficial sources and tools

Quick answer#

For most German invoices with 19% or 7% VAT, BT-118 is simply "S". The percentage itself does not live in BT-118. You put the actual rate in BT-119.

Taxes and totals

VAT treatment, tax breakdowns, and document totals that validators check closely.

In plain language#

Coded identification of a VAT category. The VAT category code must be taken from the UN/CEFACT code list UNCL5305 and determines how VAT is applied to the invoice line or document level charges/allowances. This field is critical for automated VAT processing, compliance verification, and cross-border transaction handling.

BT-118 tells the receiving system what kind of VAT treatment applies to a VAT breakdown. It is not the place where you type “19%” or “7%”. It is the place where you classify the VAT scenario itself.

That distinction matters because XRechnung validators check whether the VAT code, VAT rate, taxable amount, and VAT amount all tell the same story. If one part says “standard rate” and another part behaves like “exempt” or “reverse charge”, the invoice will usually fail validation.

What you usually enter here#

In day-to-day German invoicing, the most common code is "S". You use it both for the normal 19% rate and for the reduced 7% rate. The difference between those two cases is handled by BT-119, not by a different BT-118 code.

Only switch away from "S" when the tax treatment itself changes: for example "E" for exempt, "AE" for reverse charge, or "Z" for zero-rated cases. If you are unsure, start by checking the legal VAT scenario first and then set BT-118, BT-119, and BT-117 together.

Common cases#

Domestic standard or reduced VAT

Use code "S". The actual German rate, such as 19.00 or 7.00, belongs in BT-119.

VAT exempt transaction

Use code "E" and keep the VAT rate and VAT amount aligned with the exemption scenario.

Reverse charge

Use code "AE" when the buyer owes the VAT instead of the seller.

Zero-rated export

Use code "Z" for taxable transactions that legally carry a 0% rate.

What goes wrong often#

A common mistake is entering a number such as “19”, “7%”, or a label such as “standard”. BT-118 only accepts the allowed VAT category codes from the code list, so free-text labels and percentages belong elsewhere.

The second common mistake is mixing the wrong code with the wrong rate or VAT amount. For example, an exemption code with a non-zero VAT rate, or a reverse-charge code with a seller-collected VAT amount, will trigger validator errors quickly.

Examples in context#

Always review BT-118 together with BT-116, BT-117, and BT-119. Those four values form one VAT breakdown. If you have more than one VAT treatment on the invoice, create a separate VAT breakdown for each combination instead of forcing everything into one row.

Valid Examples#

Use these points as the practical checks for this section.

  • S
  • Z
  • E
  • AE
  • K
  • G
  • O
  • L
  • M

Invalid Examples#

Use these points as the practical checks for this section.

  • 19
  • 0
  • VAT
  • standard
  • exempt
  • 7%
  • DE

Related Fields#

Always review BT-118 together with BT-116, BT-117, and BT-119. Those four values form one VAT breakdown. If you have more than one VAT treatment on the invoice, create a separate VAT breakdown for each combination instead of forcing everything into one row.

BT-116 VAT Category Taxable Amount
BT-117 VAT Category Tax Amount
BT-119 VAT Category Rate
BT-151 Invoice line VAT category code
BT-95 Document level allowance VAT category code
BT-102 Document level charge VAT category code

XML mapping and field facts#

Open the technical reference if you need XML paths, validator rule codes, legal wording, or schema-specific mapping details.

Field ID:

BT-118

Data Type:

code

Cardinality:

1..1

Requirement:

Mandatory

Since Version:

XRechnung 1.0+ (when VAT breakdown provided)

XML Implementation#

UBL 2.1 Syntax
/Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID
CII (UN/CEFACT) Syntax
/CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode

Validation Rules#

BR-2

BR-2

BR-S-08

BR-S-08

BR-E-01

BR-E-01

BR-AE-01

BR-AE-01

BR-IC-01

BR-IC-01

BR-G-01

BR-G-01

BR-O-01

BR-O-01

BR-CL-23

BR-CL-23

Why the standard cares about this field#

Business Context

Essential for VAT compliance across EU member states. Enables automated processing of invoices by financial systems, ensures correct VAT treatment for cross-border transactions, supports reverse charge mechanisms, and facilitates VAT return preparation. Critical for e-invoicing platforms, ERP systems, and tax automation tools.

Legal Requirement

Mandatory when VAT breakdown is provided according to EN 16931-1. Must comply with EU VAT Directive requirements and national VAT regulations. Essential for compliance with German VAT law (UStG) and automated tax processing in PEPPOL and XRechnung environments.

FAQ#

What are the valid VAT category codes and their meanings?

Valid codes from UNCL5305: S (Standard rate - 19% in Germany), Z (Zero rate), E (Exempt from tax), AE (VAT reverse charge), K (VAT exempt for EEA intra-community supply), G (Free export item), O (Services outside scope of tax), L (Canary Islands general indirect tax), M (Tax for Ceuta and Melilla). Each code determines specific VAT treatment.

How does BT-118 relate to German VAT rates (19% and 7%)?

In Germany, both 19% (standard) and 7% (reduced) rates use code "S" in BT-118. The actual rate is specified in BT-119 (VAT category rate). So BT-118="S" with BT-119="19.00" for standard rate, or BT-118="S" with BT-119="7.00" for reduced rate. The code indicates the VAT treatment type, while BT-119 specifies the exact percentage.

When should I use code "AE" (reverse charge)?

Use "AE" for reverse charge scenarios where the buyer (not seller) is responsible for VAT payment. Common cases: B2B cross-border EU transactions, construction services in Germany (§13b UStG), certain professional services, scrap metal trading, and telecommunications services. When using "AE", BT-119 (VAT rate) typically shows the standard rate (19% in Germany) but BT-117 (VAT amount) is 0.00.

What validation rules apply to BT-118?

Key validation rules: BR-S-08 (standard rate calculation consistency), BR-E-01 (exempt VAT breakdown validation), BR-AE-01 (reverse charge validation), BR-IC-01 (intra-community validation), BR-CL-23 (code list compliance). The code must match the VAT treatment described in BT-119 (rate) and BT-117 (amount). System validates that code combinations are legally valid.

How do I handle VAT-exempt transactions?

For VAT-exempt transactions, use code "E". Set BT-119 (VAT rate) to 0.00 and BT-117 (VAT amount) to 0.00. Common exempt cases in Germany: medical services, educational services, insurance, banking services, postal services, and certain cultural activities. Include reason for exemption in invoice notes when required by national law.

What is the difference between codes "Z" and "E"?

Code "Z" (Zero rate) applies to goods/services that are taxable but at 0% rate (like exports outside EU). Code "E" (Exempt) applies to transactions completely outside VAT scope (like banking services). With "Z", VAT registration and documentation requirements apply; with "E", the transaction is not subject to VAT system at all. Both result in 0.00 VAT amount but have different legal implications.

How should I handle multiple VAT rates on one invoice?

Create separate VAT breakdowns (BG-23) for each rate/category combination. For example: one breakdown with BT-118="S" and BT-119="19.00" for standard items, another with BT-118="S" and BT-119="7.00" for reduced rate items. Each breakdown must have its own BT-116 (taxable amount), BT-117 (tax amount), BT-118 (category code), and BT-119 (rate). The sum of all BT-117 values equals BT-110 (total VAT).

What are common validation errors with BT-118?

Common errors: 1) Using invalid codes not in UNCL5305, 2) Mismatched code-rate combinations (e.g., "E" with non-zero rate), 3) Missing VAT exemption reason for "E" codes, 4) Incorrect reverse charge setup with "AE", 5) Multiple "E" breakdowns when only one allowed, 6) Using numeric values instead of letter codes, 7) Wrong code for cross-border scenarios. Always validate against EN16931 business rules.

Official sources and tools#

KoSIT Validator
Invoice Converter
XRechnung Standard
Test Suite
BT-117BT-119
On this page
Quick answerIn plain languageWhat you usually enter hereCommon casesWhat goes wrong oftenExamples in contextValid ExamplesInvalid ExamplesRelated FieldsXML mapping and field factsXML ImplementationValidation RulesWhy the standard cares about this fieldFAQOfficial sources and tools

Invoice-Converter.com

Empowering businesses across Europe to effortlessly comply with XRechnung regulations. Join hundreds who've automated their invoice conversion process.

20,000+ invoices processed
Fast & Secure
Trusted by hundreds

Features

Convert PDFs & create

  • PDF to XRechnung
  • PDF to UBL
  • PDF to XRechnung (CII)
  • PDF to ZUGFeRD
  • PDF to Factur-X
  • Create XRechnung
  • XRechnung to PDF

View & validate

  • XRechnung/XML Viewer
  • XRechnung Validator

Quick Links

  • Resources
  • Trust & Security Center
  • Developer API Documentation
  • Blog
  • FAQ
  • Pricing
  • Climate Contribution

Legal

  • Imprint
  • Privacy Policy
  • Data Processing Agreement
  • Terms & Conditions
  • Money-Back Guarantee

Get in Touch

contact@invoice-converter.com
Start Converting
© 2026 Invoice-Converter.com.Made with in Europe
GDPR Compliant
German Server