API reference / Quittio \ Country \ BE \ Tax
VatPreset
string-backed enum in quittio/country-be · implements DatedTaxPreset
Quittio\Country\BE\Tax\VatPreset · Source
Tax presets for Belgium (VAT Code, Royal Decree No. 20 on the rates).
Accommodation takes the rate that holds on the supply date of the line (TaxTables): 12 % from 1 March 2026, 6 % before. The texts default to Dutch and exist in Dutch, French, German and English; they are not reviewed by a tax adviser yet (see the README of the pack).
Cases#
| Case | Value | Description |
|---|---|---|
Standard | 'be.standard' | Standard rate, 21 %. |
Intermediate | 'be.intermediate' | Intermediate rate, 12 %. |
Reduced | 'be.reduced' | Reduced rate, 6 %. |
Accommodation | 'be.accommodation' | Accommodation in hotels and campsites: 12 % from 1 March 2026, 6 % before. |
ZeroRated | 'be.zero_rated' | Zero rate, e.g. for daily newspapers (category Z). |
SmallBusiness | 'be.small_business' | Small business exemption scheme (franchise, Art. 56bis VAT Code). |
ReverseChargeDomestic | 'be.reverse_charge_domestic' | Domestic reverse charge, e.g. works on immovable property (Art. 20 Royal Decree No. 1). |
ReverseChargeEu | 'be.reverse_charge_eu' | Service to a business in another member state, which owes the VAT (Art. 196 VAT Directive). |
IntraCommunitySupply | 'be.intra_community_supply' | Intra-community supply (Art. 39bis VAT Code). |
Export | 'be.export' | Export (Art. 39 VAT Code). |
NotTaxableInBelgium | 'be.not_taxable' | Supply not taxable in Belgium (place of supply abroad). |
MarginSecondHand | 'be.margin_second_hand' | Margin scheme, second-hand goods (Art. 58 § 4 VAT Code). |
MarginArt | 'be.margin_art' | Margin scheme, works of art (Art. 58 § 4 VAT Code). |
MarginAntiques | 'be.margin_antiques' | Margin scheme, collectors' items and antiques (Art. 58 § 4 VAT Code). |
TravelAgency | 'be.travel_agency' | Margin scheme of travel agencies (Art. 58 § 3 VAT Code). |
Methods#
| Method | Description |
|---|---|
->category() | |
::exempt() | Tax exemption with a specific legal reference, e.g. VatPreset::exempt('artikel 44, § 2, 1°, Wetboek btw'). |
->exemptionReason() | |
->exemptionReasonCode() | |
::fromKey() | The case of a key, e.g. of LineVat::$presetKey; null for keys of other presets. |
->key() | |
->on() | The preset with the rate of the date; presets without a dated rate return themselves. |
->rate() |
category()#
public function category(): VatCategory- Returns
VatCategory
exempt()#
public static function exempt(
string $paragraph,
VatExemptionReasonCode|RawCode|string|null $code = null,
): TaxPresetTax exemption with a specific legal reference, e.g. VatPreset::exempt('artikel 44, § 2, 1°, Wetboek btw').
| Parameter | Type | Description |
|---|---|---|
$paragraph | string | |
$code | VatExemptionReasonCode|RawCode|string|null = null |
- Returns
TaxPreset
exemptionReason()#
public function exemptionReason(?string $locale = null): ?string| Parameter | Type | Description |
|---|---|---|
$locale | ?string = null |
- Returns
?string
exemptionReasonCode()#
public function exemptionReasonCode(): ?VatExemptionReasonCode- Returns
?VatExemptionReasonCode
fromKey()#
public static function fromKey(string $key): ?selfThe case of a key, e.g. of LineVat::$presetKey; null for keys of other presets.
| Parameter | Type | Description |
|---|---|---|
$key | string |
- Returns
?self
key()#
public function key(): string- Returns
string
on()#
public function on(Date $date): TaxPresetThe preset with the rate of the date; presets without a dated rate return themselves.
| Parameter | Type | Description |
|---|---|---|
$date | Date |
- Returns
TaxPreset
rate()#
public function rate(): ?BigDecimal- Returns
?Brick\Math\BigDecimal