---
title: "XRechnung30Extension – API reference · Quittio"
description: "XRechnung 3.0 extension: adds sub invoice lines (UBL only) and third party payments. Choose it explicitly with ->profile('xrechnung-extension'): neither the automatic format choice nor the profile xrechnung switch to it when extension data is used; with xrechnung such data is reported as an error."
canonical_url: "https://quittio.dev/en/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30Extension"
locale: en
meta:
  "og:description": "XRechnung 3.0 extension: adds sub invoice lines (UBL only) and third party payments. Choose it explicitly with ->profile('xrechnung-extension'): neither the automatic format choice nor the profile xrechnung switch to it when extension data is used; with xrechnung such data is reported as an error."
  "og:image": "https://quittio.dev/og/quittio-en.jpg"
  "og:image:alt": "Quittio: Invoices, settled. E-invoicing for PHP and Laravel, with a validated sample invoice."
  "og:image:height": "630"
  "og:image:type": image/jpeg
  "og:image:width": "1200"
  "og:title": "XRechnung30Extension – API reference · Quittio"
  "twitter:image": "https://quittio.dev/og/quittio-en.jpg"
  "twitter:image:alt": "Quittio: Invoices, settled. E-invoicing for PHP and Laravel, with a validated sample invoice."
---

> 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) \\ [Country](https://quittio.dev/docs/api/Quittio/Country) \\ [DE](https://quittio.dev/docs/api/Quittio/Country/DE) \\ [Profiles](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles) \\ [XRechnung](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung)

# XRechnung30Extension

final class in quittio/country-de · extends [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30) · implements [`ExtendsCodeLists`](https://quittio.dev/docs/api/Quittio/Core/Profiles/Capabilities/ExtendsCodeLists), [`ReplacesRules`](https://quittio.dev/docs/api/Quittio/Core/Profiles/Capabilities/ReplacesRules), [`SupportsExtensionFields`](https://quittio.dev/docs/api/Quittio/Core/Profiles/Capabilities/SupportsExtensionFields), [`SupportsSubLines`](https://quittio.dev/docs/api/Quittio/Core/Profiles/Capabilities/SupportsSubLines)

`Quittio\Country\DE\Profiles\XRechnung\XRechnung30Extension` · [Source](https://github.com/Quittio/quittio/blob/v0.7.1/packages/country-de/src/Profiles/XRechnung/XRechnung30Extension.php#L22)

XRechnung 3.0 extension: adds sub invoice lines (UBL only) and third party payments. Choose it explicitly with ->profile('xrechnung-extension'): neither the automatic format choice nor the profile xrechnung switch to it when extension data is used; with xrechnung such data is reported as an error.

## Constants \#

| Constant | Value | Description |
| --- | --- | --- |
| `SPECIFICATION_ID` | `'urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0#conformant#urn:xeinkauf.de:kosit:extension:xrechnung_3.0'` | |

## Methods \#

| Method | Description |
| --- | --- |
| `->additionalCodes()` | The extension accepts the identifier schemes XR01 to XR03, checked by BR-DEX-04 to BR-DEX-08 (XRechnungRules), which replace the code list rules (see replacedRules()), and attachments with the MIME code application/xml (BR-DEX-01 instead of BR-CL-24). |
| `->afRelationship()` | |
| `->defaultBusinessProcess()` | |
| `->embeddedFilename()` | |
| `->extensions()` | The fields of the XRechnung extension (Mapping\\Attributes\\XRechnungExtensionOnly). |
| `->isEn16931Compliant()` | |
| `->key()` | |
| `->level()` | |
| `->name()` | |
| `->replacedRules()` | As in the official validator configuration, where the replaced rules are only an information: BR-DEX-04 to BR-DEX-08 replace BR-CL-10, -11, -21, -25 and -26 (identifier schemes with XR01 to XR03); in UBL BR-DEX-09 replaces BR-CO-16 (amount due with third party payments) and BR-DEX-02 replaces QUITTIO-SUBLINES (sum of the sub lines). |
| `->requiredBusinessTerms()` | |
| `->rules()` | |
| `->specificationId()` | |
| `->supportsStandard()` | |
| `->supportsSyntax()` | Whether the profile is an XML-only CIUS that is not embedded into PDFs by default. |
| `->syntaxes()` | |
| `->xmpConformanceLevel()` | ZUGFeRD 2.x names XRechnung documents, also with the extension, "XRECHNUNG". |
| `->xmpDescription()` | |
| `->xmpVersion()` | The XRechnung version as fx:Version, as ZUGFeRD 2.x prescribes for the level XRECHNUNG. |

### `additionalCodes()`#

```
public function additionalCodes(string $codeList): array
```

The extension accepts the identifier schemes XR01 to XR03, checked by BR-DEX-04 to BR-DEX-08 (XRechnungRules), which replace the code list rules (see replacedRules()), and attachments with the MIME code application/xml (BR-DEX-01 instead of BR-CL-24).

| Parameter | Type | Description |
| --- | --- | --- |
| `$codeList` | `string` | |

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

### `afRelationship()`#

```
public function afRelationship(): ?string
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `defaultBusinessProcess()`#

```
public function defaultBusinessProcess(): ?string
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `embeddedFilename()`#

```
public function embeddedFilename(): ?string
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `extensions()`#

```
public function extensions(): array
```

The fields of the XRechnung extension (Mapping\\Attributes\\XRechnungExtensionOnly).

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

### `isEn16931Compliant()`#

```
public function isEn16931Compliant(): bool
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `key()`#

```
public function key(): string
```

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

### `level()`#

```
public function level(): ProfileLevel
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

<dl><dt>Returns</dt>
<dd><code><a href="https://quittio.dev/docs/api/Quittio/Core/Profiles/ProfileLevel">ProfileLevel</a></code></dd>
</dl>

### `name()`#

```
public function name(): string
```

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

### `replacedRules()`#

```
public function replacedRules(?Syntax $syntax): array
```

As in the official validator configuration, where the replaced rules are only an information: BR-DEX-04 to BR-DEX-08 replace BR-CL-10, -11, -21, -25 and -26 (identifier schemes with XR01 to XR03); in UBL BR-DEX-09 replaces BR-CO-16 (amount due with third party payments) and BR-DEX-02 replaces QUITTIO-SUBLINES (sum of the sub lines).

| Parameter | Type | Description |
| --- | --- | --- |
| `$syntax` | `? [Syntax](https://quittio.dev/docs/api/Quittio/Core/Profiles/Syntax)` | |

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

### `requiredBusinessTerms()`#

```
public function requiredBusinessTerms(): array
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `rules()`#

```
public function rules(): array
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `specificationId()`#

```
public function specificationId(
    StandardVersion $version = \Quittio\Core\Standards\StandardVersion::En16931_2017,
): string
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$version` | `[StandardVersion](https://quittio.dev/docs/api/Quittio/Core/Standards/StandardVersion)` = `\Quittio\Core\Standards\StandardVersion::En16931_2017` | |

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

### `supportsStandard()`#

```
public function supportsStandard(StandardVersion $version): bool
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

| Parameter | Type | Description |
| --- | --- | --- |
| `$version` | `[StandardVersion](https://quittio.dev/docs/api/Quittio/Core/Standards/StandardVersion)` | |

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

### `supportsSyntax()`#

```
public function supportsSyntax(Syntax $syntax): bool
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

Whether the profile is an XML-only CIUS that is not embedded into PDFs by default.

| Parameter | Type | Description |
| --- | --- | --- |
| `$syntax` | `[Syntax](https://quittio.dev/docs/api/Quittio/Core/Profiles/Syntax)` | |

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

### `syntaxes()`#

```
public function syntaxes(): array
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `xmpConformanceLevel()`#

```
public function xmpConformanceLevel(): string
```

ZUGFeRD 2.x names XRechnung documents, also with the extension, "XRECHNUNG".

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

### `xmpDescription()`#

```
public function xmpDescription(): string
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

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

### `xmpVersion()`#

```
public function xmpVersion(): string
```

inherited from [`XRechnung30`](https://quittio.dev/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30)

The XRechnung version as fx:Version, as ZUGFeRD 2.x prescribes for the level XRECHNUNG.

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

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://quittio.dev/en#website","@type":"WebSite","description":"E-invoicing for PHP and Laravel: create, validate, read and archive ZUGFeRD, XRechnung and Peppol invoices.","inLanguage":"en","name":"Quittio","url":"https://quittio.dev/en","publisher":{"@id":"https://quittio.dev/#identity"},"translationOfWork":{"@id":"https://quittio.dev/#website"}},{"@id":"https://quittio.dev/en/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30Extension#webpage","@type":"WebPage","description":"XRechnung 3.0 extension: adds sub invoice lines (UBL only) and third party payments. Choose it explicitly with ->profile('xrechnung-extension'): neither the automatic format choice nor the profile xrechnung switch to it when extension data is used; with xrechnung such data is reported as an error.","name":"XRechnung30Extension – API reference","url":"https://quittio.dev/en/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30Extension","isPartOf":{"@id":"https://quittio.dev/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/en/docs/api/Quittio/Country/DE/Profiles/XRechnung/XRechnung30Extension"]}],"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":"en","url":"https://quittio.dev/logo.png"}]}
```