API reference / Quittio \ Country \ BE
CountryBE
class in quittio/country-be · extends AbstractCountryPack · implements CompletesInvoices, ProvidesReferenceRates
Quittio\Country\BE\CountryBE · Source
Country pack for Belgium.
Not reviewed by a tax adviser yet (see the README of the pack).
Constants#
| Constant | Value | Description |
|---|---|---|
CODE | 'BE' | |
TRANSLATION_NAMESPACE | 'quittio-be' |
Methods#
| Method | Description |
|---|---|
->addressFormatter() | Default: international address format. |
::belgianDunningLaw() | |
->buyerCountryRules() | Default: no rules. |
->code() | |
->complete() | Peppol identifies Belgian businesses by their enterprise number (scheme 0208): a seller or buyer without electronic address (BT-34, BT-49) gets the enterprise number of its Belgian VAT number, unless the setting peppol_endpoints is false (quittio.countries.be). |
->correctionPolicy() | Cancellation by credit note, correction by cancel and reissue. |
->defaults() | |
->dunningLaw() | Law of 2 August 2002: the reference rate plus 8 points between businesses and a flat rate of 40 EUR; consumers owe the legal interest rate, 4.5 % in 2026. |
->exporters() | Default: no exporters. |
->formatAliases() | Default: no aliases. |
->formatRules() | |
->formats() | Default: no own formats. |
->legalTexts() | Default: an empty catalog. |
->letterLayouts() | Default: the free layout only. |
::locales() | Locales the pack ships translations for, e.g. ["de", "en", "fr", "nl"]. |
->mandatoryOutput() | |
->numberingRules() | A sequential number in one or more series (Art. 5 § 1, 2° Royal Decree No. 1). |
->paymentQr() | Default: none; the EPC GiroCode is used for the type "girocode". |
->profiles() | Default: no profiles. |
->readers() | Default: no readers. |
->referenceRates() | |
::registerTranslations() | Makes the pack's translations available to the active translator. |
->retention() | Seven years from the end of the calendar year of issue (Art. 60 § 3 VAT Code, as amended by the law of 18 December 2025, for VAT due from 2023). |
->rules() | Mentions of Art. 5 Royal Decree No. 1 and the use of languages (applies to every format). |
->serializers() | Default: no serializers; CII and UBL are built in. |
->taxPresets() | |
->translationPath() |
addressFormatter()#
public function addressFormatter(): AddressFormatterDefault: international address format.
- Returns
AddressFormatter
belgianDunningLaw()#
public static function belgianDunningLaw(): DunningLaw- Returns
DunningLaw
buyerCountryRules()#
public function buyerCountryRules(): arrayDefault: no rules.
- Returns
array
code()#
public function code(): string- Returns
string
complete()#
public function complete(InvoiceData $invoice, array $settings): InvoiceDataPeppol identifies Belgian businesses by their enterprise number (scheme 0208): a seller or buyer without electronic address (BT-34, BT-49) gets the enterprise number of its Belgian VAT number, unless the setting peppol_endpoints is false (quittio.countries.be).
| Parameter | Type | Description |
|---|---|---|
$invoice | InvoiceData | |
$settings | array |
- Returns
InvoiceData
correctionPolicy()#
public function correctionPolicy(): CorrectionPolicyCancellation by credit note, correction by cancel and reissue.
- Returns
CorrectionPolicy
defaults()#
public function defaults(): CountryDefaults- Returns
CountryDefaults
dunningLaw()#
public function dunningLaw(): DunningLawLaw of 2 August 2002: the reference rate plus 8 points between businesses and a flat rate of 40 EUR; consumers owe the legal interest rate, 4.5 % in 2026.
- Returns
DunningLaw
exporters()#
public function exporters(): arrayDefault: no exporters.
- Returns
array
formatAliases()#
public function formatAliases(): arrayDefault: no aliases.
- Returns
array
formatRules()#
public function formatRules(): array- Returns
array
formats()#
public function formats(): arrayDefault: no own formats.
- Returns
array
legalTexts()#
public function legalTexts(): LegalTextCatalogDefault: an empty catalog.
- Returns
LegalTextCatalog
letterLayouts()#
public function letterLayouts(): arrayDefault: the free layout only.
- Returns
array
locales()#
public static function locales(): list<string>Locales the pack ships translations for, e.g. ["de", "en", "fr", "nl"].
- Returns
list<string>
mandatoryOutput()#
public function mandatoryOutput(InvoiceData $invoice): MandatoryFieldList| Parameter | Type | Description |
|---|---|---|
$invoice | InvoiceData |
- Returns
MandatoryFieldList
numberingRules()#
public function numberingRules(): NumberingRulesA sequential number in one or more series (Art. 5 § 1, 2° Royal Decree No. 1).
- Returns
NumberingRules
paymentQr()#
public function paymentQr(): ?PaymentQrGeneratorDefault: none; the EPC GiroCode is used for the type "girocode".
- Returns
?PaymentQrGenerator
profiles()#
public function profiles(): arrayDefault: no profiles.
- Returns
array
readers()#
public function readers(): arrayDefault: no readers.
- Returns
array
referenceRates()#
public function referenceRates(): ReferenceRates- Returns
ReferenceRates
registerTranslations()#
public static function registerTranslations(): voidMakes the pack's translations available to the active translator.
retention()#
public function retention(): RetentionRuleSeven years from the end of the calendar year of issue (Art. 60 § 3 VAT Code, as amended by the law of 18 December 2025, for VAT due from 2023).
- Returns
RetentionRule
rules()#
public function rules(): arrayMentions of Art. 5 Royal Decree No. 1 and the use of languages (applies to every format).
- Returns
array
serializers()#
public function serializers(): arrayDefault: no serializers; CII and UBL are built in.
- Returns
array
taxPresets()#
public function taxPresets(): TaxPresetCollection- Returns
TaxPresetCollection
translationPath()#
public function translationPath(): string- Returns
string