---
title: "CorrectionPolicy – API-Referenz · Quittio"
description: "Default handling of cancellations and corrections in a country, and the titles of these documents. Quittio::cancellation() takes the cancellation strategy and the titles \"cancellation\" and \"cancellation_self_billed\"; Quittio::correction() the title \"correction\", Quittio::priceReduction() the title \"price_reduction\"; the title \"self_billed\" is the title of self-billed invoices in PDF and HTML (InvoiceTitle::policyTitle()); the Managed layer takes the correction strategy."
canonical_url: "https://quittio.dev/docs/api/Quittio/Core/Countries/CorrectionPolicy"
locale: de
meta:
  "og:description": "Default handling of cancellations and corrections in a country, and the titles of these documents. Quittio::cancellation() takes the cancellation strategy and the titles \"cancellation\" and \"cancellation_self_billed\"; Quittio::correction() the title \"correction\", Quittio::priceReduction() the title \"price_reduction\"; the title \"self_billed\" is the title of self-billed invoices in PDF and HTML (InvoiceTitle::policyTitle()); the Managed layer takes the correction strategy."
  "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": "CorrectionPolicy – 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)

# CorrectionPolicy

final readonly class in quittio/core

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

Default handling of cancellations and corrections in a country, and the titles of these documents. Quittio::cancellation() takes the cancellation strategy and the titles "cancellation" and "cancellation\_self\_billed"; Quittio::correction() the title "correction", Quittio::priceReduction() the title "price\_reduction"; the title "self\_billed" is the title of self-billed invoices in PDF and HTML (InvoiceTitle::policyTitle()); the Managed layer takes the correction strategy.

## Constants \#

| Constant | Value | Description |
| --- | --- | --- |
| `CANCELLATION_CREDIT_NOTE` | `'credit_note'` | |
| `CANCELLATION_NEGATIVE_INVOICE` | `'negative_invoice'` | |
| `CORRECTION_CANCEL_AND_REISSUE` | `'cancel_and_reissue'` | |
| `CORRECTION_CORRECTED_INVOICE` | `'corrected_invoice'` | |

## Properties \#

| Property | Type | Description |
| --- | --- | --- |
| `$cancellationStrategy` readonly | `string` | |
| `$correctionStrategy` readonly | `string` | |
| `$strategyResolver` readonly | `(Closure([InvoiceData](https://quittio.dev/docs/api/Quittio/Core/Data/InvoiceData)): ?string)\|null` | the cancellation strategy for a particular original, e.g. by the format it is sent in; null or a null result = $cancellationStrategy |
| `$titles` readonly | `array<string, array<string, string>>` | document kind (cancellation, cancellation\_self\_billed, correction, price\_reduction, self\_billed) => \[locale => title]; a missing locale falls back to "en" |

## Methods \#

| Method | Description |
| --- | --- |
| `->__construct()` | |
| `->cancellationStrategyFor()` | The cancellation strategy for the original: the one of the resolver, otherwise $cancellationStrategy. |
| `->cancellationTitle()` | Title of a cancellation; self-billed originals use "cancellation\_self\_billed" if the country defines it, otherwise "cancellation". |
| `->title()` | The title in the locale, else in its language ("de" for "de\_CH"), else in English. |

### `__construct()`#

```
public function __construct(
    string $cancellationStrategy = self::CANCELLATION_CREDIT_NOTE,
    string $correctionStrategy = self::CORRECTION_CANCEL_AND_REISSUE,
    array<string, array<string, string>> $titles = [],
    (Closure(InvoiceData): ?string)|null $strategyResolver = null,
)
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$cancellationStrategy` | `string` = `self::CANCELLATION_CREDIT_NOTE` | |
| `$correctionStrategy` | `string` = `self::CORRECTION_CANCEL_AND_REISSUE` | |
| `$titles` | `array<string, array<string, string>>` = `[]` | document kind (cancellation, cancellation\_self\_billed, correction, price\_reduction, self\_billed) => \[locale => title]; a missing locale falls back to "en" |
| `$strategyResolver` | `(Closure([InvoiceData](https://quittio.dev/docs/api/Quittio/Core/Data/InvoiceData)): ?string)\|null` = `null` | the cancellation strategy for a particular original, e.g. by the format it is sent in; null or a null result = $cancellationStrategy |

### `cancellationStrategyFor()`#

```
public function cancellationStrategyFor(InvoiceData $original): string
```

The cancellation strategy for the original: the one of the resolver, otherwise $cancellationStrategy.

| Parameter | Type | Description |
| --- | --- | --- |
| `$original` | `[InvoiceData](https://quittio.dev/docs/api/Quittio/Core/Data/InvoiceData)` | |

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

### `cancellationTitle()`#

```
public function cancellationTitle(bool $selfBilled, string $locale = 'en'): ?string
```

Title of a cancellation; self-billed originals use "cancellation\_self\_billed" if the country defines it, otherwise "cancellation".

| Parameter | Type | Description |
| --- | --- | --- |
| `$selfBilled` | `bool` | |
| `$locale` | `string` = `'en'` | |

<dl><dt>Returns</dt>
<dd><code>?string</code></dd>
</dl>

### `title()`#

```
public function title(string $kind, string $locale = 'en'): ?string
```

The title in the locale, else in its language ("de" for "de\_CH"), else in English.

| Parameter | Type | Description |
| --- | --- | --- |
| `$kind` | `string` | |
| `$locale` | `string` = `'en'` | |

<dl><dt>Returns</dt>
<dd><code>?string</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/CorrectionPolicy#webpage","@type":"WebPage","description":"Default handling of cancellations and corrections in a country, and the titles of these documents. Quittio::cancellation() takes the cancellation strategy and the titles \"cancellation\" and \"cancellation_self_billed\"; Quittio::correction() the title \"correction\", Quittio::priceReduction() the title \"price_reduction\"; the title \"self_billed\" is the title of self-billed invoices in PDF and HTML (InvoiceTitle::policyTitle()); the Managed layer takes the correction strategy.","name":"CorrectionPolicy – API-Referenz","url":"https://quittio.dev/docs/api/Quittio/Core/Countries/CorrectionPolicy","isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/docs/api/Quittio/Core/Countries/CorrectionPolicy"]}],"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"}]}
```