Skip to main content
Invoice-Converter.comInvoice-Converter
BlogPricing
Convert InvoiceConvert
Convert
⌘K
Documentation overview
Understand formats and standards
Compliance Guides
XRechnung Standard
ZUGFeRD Format
PDF/A-3 for ZUGFeRD
CII Cross Industry Invoice
UBL Universal Business Language
DIN EN 16931-1 Standard
PEPPOL Network
Country and regulatory rules
EU E-Invoicing Mandate
EU E-Invoicing
EU e-invoicing in 2026: what to implement (and why)
EU top markets playbook (DE, FR, IT, ES, PL, NL)
PEPPOL in the EU: how exchange actually works
CTC/clearance and portals in the EU: how to build reliable integrations
Country Guides
Germany
France
Italy
Spain
Poland
Netherlands
Belgium
Austria
Denmark
Sweden
Finland
Fix validation and submission issues
Leitweg-ID Validation
Support playbooks
Support
Why invoices need review
PDF readiness
Source data readiness
Attachments and service descriptions
API errors
API automation
Handling schema errors
Review validation help
Support
Missing information
Buyer reference
Payment and IBAN
VAT and reverse charge
Totals and rounding
Prepayments
Line items
ZUGFeRD PDF warnings
Validation playbooks
Observed validation fixes
Due date or terms
Bank transfer IBAN
PDF/A-3 readiness
VATEX exemption reason
Review vs download
Public test invoice fixture library
Valid XRechnung UBL basic invoice
Invalid XRechnung missing payment terms
Factur-X/ZUGFeRD EN 16931 CII XML
XRechnung rounding and IBAN edge case
KoSIT Validator Errors
ERROR
BR-DE-1
BR-DE-2
BR-DE-3
BR-DE-4
BR-DE-5
BR-DE-6
BR-DE-7
BR-DE-8
BR-DE-9
BR-DE-10
BR-DE-11
BR-DE-14
BR-DE-15
BR-DE-16
BR-CO-3
BR-CO-4
BR-CO-9
BR-CO-10
BR-CO-11
BR-CO-13
BR-CO-14
BR-CO-15
BR-CO-16
BR-CO-17
BR-CO-25
BR-CO-26
BR-S-1
BR-S-5
BR-S-8
BR-61
BR-AE-02
BR-AE-10
BR-E-01
BR-E-05
BR-DE-19
BR-05
BR-22
BR-23
BR-24
BR-25
BR-26
BR-47
BR-57
BR-DE-22
BR-DE-30
BR-DE-31
PEPPOL-EN16931-R001
PEPPOL-EN16931-R010
PEPPOL-EN16931-R020
PEPPOL-EN16931-R046
PEPPOL-EN16931-R120
PEPPOL-EN16931-R130
WARNING
BR-DE-17
BR-DE-18
BR-DE-20
BR-DE-21
BR-DE-26
BR-DE-27
BR-DE-28
Look up reference data
Glossary
E
EN 16931
E-reporting
e-Factura RO
EAS (Electronic Address Scheme)
ebInterface
C
CIUS
CII
Code list
Credit note
Contract reference
Chorus Pro
Codice Destinatario
X
XRechnung
XML Schema (XSD)
XML
Z
ZUGFeRD
F
Factur-X
Finvoice
U
UBL
Unit code
P
PEPPOL
PEPPOL BIS
Participant ID
PDF/A-3
Payment means
Purchase order (PO)
PDP (Plateforme de Dématérialisation Partenaire)
A
Access Point
Allowance / charge
S
SMP
SML
Schematron
SDI (Sistema di Interscambio)
Svefaktura
L
Leitweg-ID
K
KoSIT
KSeF
KvK number
V
Validation
VAT ID
ViDA
VeriFactu
ViDA Pillar 1: Digital Reporting Requirements
ViDA Pillar 2: Single VAT Registration
ViDA Pillar 3: Platform Economy
B
Business Term (BT)
Business Group (BG)
BIC
R
Reverse charge
Real-time reporting
Real-time invoice reporting (RTIR)
T
Tax category
TicketBAI
I
IBAN
Invoice type code
Invoice line item
ISO 6523
D
Document reference
D-U-N-S Number
Digipoort
Q
QR code payment
G
GLN (Global Location Number)
O
OVT-tunnus
OIOUBL
N
NemHandel
Code Lists
Currency codes (common)
Country codes (common)
VAT category codes
Payment means type codes
Unit of measure codes (common)
Invoice type codes (common in XRechnung)
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
ZUGFeRD Profiles
MINIMUM
BASIC WL
BASIC
EN 16931
EXTENDED
Compare formats and tools
Comparisons
XRechnung vs ZUGFeRD
PDF24 Tools
sevDesk
Integrate and implement
Platform incident help
Support
Temporary unavailable
Missing result
Validation unavailable
Browser errors
Account and rate limits
Credits and subscriptions
Authoritative validation
ERP export validation guides
DATEV
Lexware
SAP Business One
Odoo
Microsoft Dynamics
Trust & Security
Developer API
  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.

Quick actions

Validate XMLConvert invoice

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-47

BR-47

BR-CL-17

BR-CL-17

BR-S-01

BR-S-01

BR-Z-01

BR-Z-01

BR-E-01

BR-E-01

BR-AE-01

BR-AE-01

BR-G-01

BR-G-01

BR-IC-01

BR-IC-01

BR-O-01

BR-O-01

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

Helping businesses across Europe convert invoices to XRechnung and other e-invoice formats with validation support. Review edge cases before submission.

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