---
title: "DunningLaw – API-Referenz · Quittio"
description: "Statutory late payment rules (EU late payment directive plus national law). Amounts and percentage points are decimal strings."
canonical_url: "https://quittio.dev/docs/api/Quittio/Core/Countries/DunningLaw"
locale: de
meta:
  "og:description": "Statutory late payment rules (EU late payment directive plus national law). Amounts and percentage points are decimal strings."
  "og:image": "https://quittio.dev/og/quittio-de.jpg"
  "og:image:alt": "Quittio: E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert, mit geprüfter Beispielrechnung."
  "og:image:height": "630"
  "og:image:type": image/jpeg
  "og:image:width": "1200"
  "og:title": "DunningLaw – API-Referenz · Quittio"
  "twitter:image": "https://quittio.dev/og/quittio-de.jpg"
  "twitter:image:alt": "Quittio: E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert, mit geprüfter Beispielrechnung."
---

> Index of every page on this site: [llms.txt](https://quittio.dev/llms.txt)

[API reference](https://quittio.dev/docs/api) / [Quittio](https://quittio.dev/docs/api/Quittio) \\ [Core](https://quittio.dev/docs/api/Quittio/Core) \\ [Countries](https://quittio.dev/docs/api/Quittio/Core/Countries)

# DunningLaw

final readonly class in quittio/core

`Quittio\Core\Countries\DunningLaw` · [Source](https://github.com/Quittio/quittio/blob/v0.7.1/packages/core/src/Countries/DunningLaw.php#L15)

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(): bool
```

Whether the law needs no reference rate: fixed rates for businesses and consumers.

<dl><dt>Returns</dt>
<dd><code>bool</code></dd>
</dl>

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://quittio.dev/#website","@type":"WebSite","description":"E-Rechnungen für PHP und Laravel: ZUGFeRD, XRechnung und Peppol erstellen, prüfen, lesen und archivieren.","inLanguage":"de-DE","name":"Quittio","url":"https://quittio.dev/","publisher":{"@id":"https://quittio.dev/#identity"},"workTranslation":{"@id":"https://quittio.dev/en#website"}},{"@id":"https://quittio.dev/docs/api/Quittio/Core/Countries/DunningLaw#webpage","@type":"WebPage","description":"Statutory late payment rules (EU late payment directive plus national law). Amounts and percentage points are decimal strings.","name":"DunningLaw – API-Referenz","url":"https://quittio.dev/docs/api/Quittio/Core/Countries/DunningLaw","isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/docs/api/Quittio/Core/Countries/DunningLaw"]}],"primaryImageOfPage":{"@id":"https://quittio.dev/#logo"}},{"@id":"https://quittio.dev/#identity","@type":"Organization","description":"Open-Source-Bibliothek für E-Rechnungen in PHP und Laravel (ZUGFeRD, XRechnung, Peppol) und Quittio Managed.","email":"kontakt@niklasforst.de","legalName":"Niklas Forst – Softwareentwicklung","name":"Quittio","url":"https://quittio.dev","founder":{"@type":"Person","name":"Niklas Forst","url":"https://quittio.dev/ueber"},"logo":{"@id":"https://quittio.dev/#logo"},"sameAs":["https://github.com/Quittio/quittio","https://packagist.org/packages/quittio/quittio"]},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"de-DE","url":"https://quittio.dev/logo.png"}]}
```