Skip to content

API reference / Quittio \ Country \ DE \ Dunning

DefaultInterest

final readonly class in quittio/country-de

Quittio\Country\DE\Dunning\DefaultInterest · Source

Default interest according to section 288 BGB: base rate plus 9 points (business) or 5 points (consumer), split at every change of the base rate. Points, flat rate and day count basis come from the dunning law, by default CountryDE::germanDunningLaw(); the calculation is that of Quittio\Core\Dunning\DefaultInterest. The base rates are those shipped with Quittio plus the rates registered with BaseRates (configured or fetched from the Bundesbank), unless a table is given.

Methods#

MethodDescription
->__construct()
->calculate()Interest charges for an open amount from the first day of default until $until.
->flatRate()Flat rate for business debtors (section 288 (5) BGB), once per claim.

__construct()#

public function __construct(BaseRateTable|null $rates = null, DunningLaw|null $law = null)
ParameterTypeDescription
$ratesBaseRateTable|null = nullbase rates; null = BaseRates::table()
$lawDunningLaw|null = nullnull = CountryDE::germanDunningLaw()

calculate()#

public function calculate(
    Money $amount,
    Date $from,
    Date $until,
    bool $consumer = false,
    string $locale = 'de',
): list<InterestCharge>

Interest charges for an open amount from the first day of default until $until.

ParameterTypeDescription
$amountBrick\Money\Money
$fromDate
$untilDate
$consumerbool = false
$localestring = 'de'
Returns
list<InterestCharge>

flatRate()#

public function flatRate(string $currency = 'EUR'): ?Money

Flat rate for business debtors (section 288 (5) BGB), once per claim.

ParameterTypeDescription
$currencystring = 'EUR'
Returns
?Brick\Money\Money

The open core packages are MIT licensed. The legal wording of the country packs must be confirmed by a tax adviser.