API reference / Quittio \ Core \ Countries
DunningLaw
final readonly class in quittio/core
Quittio\Core\Countries\DunningLaw · Source
Statutory late payment rules (EU late payment directive plus national law). Amounts and percentage points are decimal strings.
Informational metadata for applications and the pack's own helpers: the core does not apply it. Reminders take their fees and default interest explicitly (DocumentBuilder::fee(), interest() with a rate and a day count basis, e.g. $dayCount from here).
Properties#
| Property | Type | Description |
|---|---|---|
$b2bFixedRate readonly | string|null | fixed rate in percent for businesses instead of the reference rate plus $b2bInterestPoints (e.g. 5 % in Switzerland, Art. 104 OR); null = reference rate plus points |
$b2bFlatRate readonly | ?string | |
$b2bInterestPoints readonly | string | |
$b2cFixedRate readonly | string|null | fixed rate in percent for consumers instead of the reference rate plus $b2cInterestPoints (e.g. 4 % in Austria, section 1000 (1) ABGB); null = reference rate plus points |
$b2cInterestPoints readonly | string | |
$consumerDefaultAfterDays readonly | int|null | days after due date and receipt after which a consumer is in default without a reminder, if the invoice points this out (e.g. section 286 (3) BGB); null = no such rule |
$dayCount readonly | int|null | days per year for default interest: 365 or 360, or null for actual/actual (365 or 366 days per calendar year, InterestCharge::ACTUAL_ACTUAL) |
$referenceRateName readonly | ?string |
Methods#
| Method | Description |
|---|---|
->__construct() | |
->hasFixedRates() | Whether the law needs no reference rate: fixed rates for businesses and consumers. |
__construct()#
public function __construct(
string $b2bInterestPoints = '8.00',
string $b2cInterestPoints = '0.00',
?string $b2bFlatRate = '40.00',
int|null $dayCount = 365,
int|null $consumerDefaultAfterDays = null,
?string $referenceRateName = null,
string|null $b2cFixedRate = null,
string|null $b2bFixedRate = null,
)| Parameter | Type | Description |
|---|---|---|
$b2bInterestPoints | string = '8.00' | |
$b2cInterestPoints | string = '0.00' | |
$b2bFlatRate | ?string = '40.00' | |
$dayCount | int|null = 365 | days per year for default interest: 365 or 360, or null for actual/actual (365 or 366 days per calendar year, InterestCharge::ACTUAL_ACTUAL) |
$consumerDefaultAfterDays | int|null = null | days after due date and receipt after which a consumer is in default without a reminder, if the invoice points this out (e.g. section 286 (3) BGB); null = no such rule |
$referenceRateName | ?string = null | |
$b2cFixedRate | string|null = null | fixed rate in percent for consumers instead of the reference rate plus $b2cInterestPoints (e.g. 4 % in Austria, section 1000 (1) ABGB); null = reference rate plus points |
$b2bFixedRate | string|null = null | fixed rate in percent for businesses instead of the reference rate plus $b2bInterestPoints (e.g. 5 % in Switzerland, Art. 104 OR); null = reference rate plus points |
hasFixedRates()#
public function hasFixedRates(): boolWhether the law needs no reference rate: fixed rates for businesses and consumers.
- Returns
bool