Zum Inhalt springen

API reference / Quittio \ Country \ DE \ Tax

VatPreset

string-backed enum in quittio/country-de · implements DatedTaxPreset, StatesInvoiceNote

Quittio\Country\DE\Tax\VatPreset · Source

Tax presets for Germany.

Standard and Reduced take the rate that holds on the supply date of the line (TaxTables), e.g. 16 % and 5 % for supplies in the second half of 2020; rate() returns the rate of today.

The special schemes of section 14a (6) and (7) UStG and the zero rate for photovoltaic systems add their statement as invoice note (BT-22) as well (invoiceNote()).

The note texts and legal references were confirmed by a tax adviser in October 2026 (legal review in the README).

Cases#

CaseValueDescription
Standard'de.standard'Standard rate (section 12 (1) UStG) of the supply date, today 19 %.
Reduced'de.reduced'Reduced rate (section 12 (2) UStG) of the supply date, today 7 %.
Standard19'de.standard_19'
Reduced7'de.reduced_7'
ZeroRatedPv'de.zero_rated_pv'
SmallBusiness'de.small_business'
ReverseChargeDomestic'de.reverse_charge_domestic'
ReverseChargeEu'de.reverse_charge_eu'
IntraCommunitySupply'de.intra_community_supply'
TriangularTransaction'de.triangular_transaction'
Export'de.export'
NotTaxableInGermany'de.not_taxable'
BusinessTransfer'de.business_transfer'Transfer of a business as a whole (Geschäftsveräußerung im Ganzen, section 1 (1a) UStG): not subject to VAT (category O). EN 16931 allows no VAT identifiers with category O (BR-O-02): state the tax numbers (BT-32) instead.
MarginSecondHand'de.margin_second_hand'
MarginArt'de.margin_art'
MarginAntiques'de.margin_antiques'
TravelAgency'de.travel_agency'

Methods#

MethodDescription
->canonical()The preset without a rate in its name: Standard for Standard19, Reduced for Reduced7.
->category()
::exempt()Tax exemption with a specific legal reference, e.g. VatPreset::exempt('§ 4 Nr. 14 UStG'). The text ("de.exempt" in tax.php) defaults to German like the cases.
->exemptionReason()
->exemptionReasonCode()
::fromKey()The case of a key, e.g. of LineVat::$presetKey; null for keys of other presets.
->invoiceNote()The statement of the special schemes as invoice note (BT-22): the texts of section 14a (6) UStG (margin schemes, travel agencies) and (7) UStG (triangular transactions), which the mapping table of KoSIT and FeRD assigns to the invoice note (BG-1), and the reference of the zero rate for photovoltaic systems (section 12 (3) UStG), which category Z cannot carry as exemption reason (BR-Z-10).
->key()
->on()The preset with the rate of the date; presets without a dated rate return themselves.
->rate()

canonical()#

public function canonical(): self

The preset without a rate in its name: Standard for Standard19, Reduced for Reduced7.

Returns
self

category()#

public function category(): VatCategory
Returns
VatCategory

exempt()#

public static function exempt(
    string $paragraph,
    VatExemptionReasonCode|RawCode|string|null $code = null,
): TaxPreset

static

Tax exemption with a specific legal reference, e.g. VatPreset::exempt('§ 4 Nr. 14 UStG'). The text ("de.exempt" in tax.php) defaults to German like the cases.

ParameterTypeDescription
$paragraphstring
$codeVatExemptionReasonCode|RawCode|string|null = null
Returns
TaxPreset

exemptionReason()#

public function exemptionReason(?string $locale = null): ?string
ParameterTypeDescription
$locale?string = null
Returns
?string

exemptionReasonCode()#

public function exemptionReasonCode(): ?VatExemptionReasonCode
Returns
?VatExemptionReasonCode

fromKey()#

public static function fromKey(string $key): ?self

static

The case of a key, e.g. of LineVat::$presetKey; null for keys of other presets.

ParameterTypeDescription
$keystring
Returns
?self

invoiceNote()#

public function invoiceNote(?string $locale = null): ?string

The statement of the special schemes as invoice note (BT-22): the texts of section 14a (6) UStG (margin schemes, travel agencies) and (7) UStG (triangular transactions), which the mapping table of KoSIT and FeRD assigns to the invoice note (BG-1), and the reference of the zero rate for photovoltaic systems (section 12 (3) UStG), which category Z cannot carry as exemption reason (BR-Z-10).

ParameterTypeDescription
$locale?string = null
Returns
?string

key()#

public function key(): string
Returns
string

on()#

public function on(Date $date): TaxPreset

The preset with the rate of the date; presets without a dated rate return themselves.

ParameterTypeDescription
$dateDate
Returns
TaxPreset

rate()#

public function rate(): ?BigDecimal
Returns
?Brick\Math\BigDecimal

Die Open-Core-Pakete stehen unter der MIT-Lizenz. Die rechtlichen Formulierungen der Länderpakete sind mit einer Steuerberatung abzustimmen.