API reference / Quittio \ Country \ CH \ Tax
VatPreset
string-backed enum in quittio/country-ch · implements DatedTaxPreset
Quittio\Country\CH\Tax\VatPreset · Source
Tax presets for Switzerland (MWSTG).
Standard, Reduced and Accommodation take the rate that holds on the supply date of the line (TaxTables), e.g. 7.7 % for supplies of 2023; rate() returns the rate of today.
The texts are not reviewed by a tax adviser yet (see the README of the pack).
Cases#
| Case | Value | Description |
|---|---|---|
Standard | 'ch.standard' | Standard rate (Art. 25 (1) MWSTG), today 8.1 %. |
Reduced | 'ch.reduced' | Reduced rate (Art. 25 (2) MWSTG), today 2.6 %. |
Accommodation | 'ch.accommodation' | Special rate for accommodation (Art. 25 (4) MWSTG), today 3.8 %. |
Excluded | 'ch.excluded' | Supply excluded from the tax (Art. 21 MWSTG), without input tax deduction. |
Export | 'ch.export' | Supply exempt from the tax with input tax deduction, e.g. an export (Art. 23 MWSTG). |
NotTaxableInSwitzerland | 'ch.not_taxable' | Supply whose place is abroad (Art. 7 and 8 MWSTG), not taxable in Switzerland. |
NotRegistered | 'ch.not_registered' | Seller not registered for VAT, e.g. below the turnover of CHF 100,000 (Art. 10 (2) MWSTG). |
Methods#
| Method | Description |
|---|---|
->category() | |
::excluded() | Supply excluded from the tax with a specific legal reference, e.g. VatPreset::excluded('Art. 21 Abs. 2 Ziff. 3 MWSTG'). The text defaults to German. |
->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
excluded()#
public static function excluded(
string $paragraph,
VatExemptionReasonCode|RawCode|string|null $code = null,
): TaxPresetSupply excluded from the tax with a specific legal reference, e.g. VatPreset::excluded('Art. 21 Abs. 2 Ziff. 3 MWSTG'). The text defaults to German.
| 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