API reference / Quittio \ Country \ FR \ Tax
VatPreset
string-backed enum in quittio/country-fr · implements TaxPreset
Quittio\Country\FR\Tax\VatPreset · Source
Tax presets for metropolitan France (CGI, from 1 January 2027 recodified in the CIBS; the references to the CGI remain accepted until 30 June 2028). exemptionReason() cites the CGI, exemptionReasonOn() the CIBS for invoices issued from 1 January 2027.
The texts are not reviewed by a tax adviser yet (see the README of the pack).
Cases#
| Case | Value | Description |
|---|---|---|
Standard | 'fr.standard' | Standard rate, 20 %. |
Intermediate | 'fr.intermediate' | Intermediate rate, 10 %. |
Reduced | 'fr.reduced' | Reduced rate, 5.5 %. |
Particular | 'fr.particular' | Particular rate, 2.1 %. |
SmallBusiness | 'fr.small_business' | Small business exemption (franchise en base, art. 293 B CGI; from 2027 art. L. 233-3 CIBS). |
ReverseChargeDomestic | 'fr.reverse_charge_domestic' | Domestic reverse charge, e.g. subcontracting in construction (art. 283-2 nonies CGI). |
ReverseChargeEu | 'fr.reverse_charge_eu' | Service to a business in another member state, which owes the VAT (art. 283-2 CGI, art. 196 VAT Directive). |
IntraCommunitySupply | 'fr.intra_community_supply' | Intra-community supply (art. 262 ter I CGI; from 2027 art. L. 213-12, 1° CIBS). |
Export | 'fr.export' | Export (art. 262 I CGI; from 2027 art. L. 213-12, 2° CIBS). |
NotTaxableInFrance | 'fr.not_taxable' | Supply not taxable in France (place of supply abroad). |
MarginSecondHand | 'fr.margin_second_hand' | Margin scheme, second-hand goods (art. 297 A CGI). |
MarginArt | 'fr.margin_art' | Margin scheme, works of art (art. 297 A CGI). |
MarginAntiques | 'fr.margin_antiques' | Margin scheme, collectors' items and antiques (art. 297 A CGI). |
TravelAgency | 'fr.travel_agency' | Margin scheme of travel agencies (art. 266-1 e CGI). |
Constants#
| Constant | Value | Description |
|---|---|---|
CIBS_FROM | '2027-01-01' | Issue date from which the texts cite the CIBS (ordonnance n° 2026-671, art. 17). |
Methods#
| Method | Description |
|---|---|
->category() | |
::exempt() | Tax exemption with a specific legal reference, e.g. VatPreset::exempt('article 261-4-1° du CGI'). |
->exemptionReason() | |
->exemptionReasonCode() | |
->exemptionReasonOn() | The exemption reason of an invoice issued on the date: from 1 January 2027 the texts that cite an article of the CGI cite the CIBS instead. |
::fromKey() | The case of a key, e.g. of LineVat::$presetKey; null for keys of other presets. |
->key() | |
->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('article 261-4-1° du CGI').
| 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
exemptionReasonOn()#
public function exemptionReasonOn(Date $issueDate, ?string $locale = null): ?stringThe exemption reason of an invoice issued on the date: from 1 January 2027 the texts that cite an article of the CGI cite the CIBS instead.
| Parameter | Type | Description |
|---|---|---|
$issueDate | Date | |
$locale | ?string = null |
- Returns
?string
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
rate()#
public function rate(): ?BigDecimal- Returns
?Brick\Math\BigDecimal