---
title: "DocumentAllowanceCharge – API-Referenz · Quittio"
description: "Common structure of document level allowances (BG-20) and charges (BG-21)."
canonical_url: "https://quittio.dev/docs/api/Quittio/Core/Data/AllowanceCharge/DocumentAllowanceCharge"
locale: de
meta:
  "og:description": "Common structure of document level allowances (BG-20) and charges (BG-21)."
  "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": "DocumentAllowanceCharge – 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) \\ [Data](https://quittio.dev/docs/api/Quittio/Core/Data) \\ [AllowanceCharge](https://quittio.dev/docs/api/Quittio/Core/Data/AllowanceCharge)

# DocumentAllowanceCharge

abstract readonly class in quittio/core

`Quittio\Core\Data\AllowanceCharge\DocumentAllowanceCharge` · [Source](https://github.com/Quittio/quittio/blob/v0.7.1/packages/core/src/Data/AllowanceCharge/DocumentAllowanceCharge.php#L23)

Common structure of document level allowances (BG-20) and charges (BG-21).

The exemption reason and code are package-internal inputs like on LineVat: EN 16931 carries them on the VAT breakdown (BT-120, BT-121). The calculator uses them when the VAT group of the entry has no invoice lines that provide a reason.

## Properties \#

| Property | Type | Description |
| --- | --- | --- |
| `$amount` readonly | `?Brick\Money\Money` | |
| `$baseAmount` readonly | `?Brick\Money\Money` | |
| `$exemptionReason` readonly | `?string` | |
| `$exemptionReasonCode` readonly | `[VatExemptionReasonCode](https://quittio.dev/docs/api/Quittio/Core/Enums/VatExemptionReasonCode)\| [RawCode](https://quittio.dev/docs/api/Quittio/Core/Codes/RawCode)\|null` | |
| `$percent` readonly | `?Brick\Math\BigDecimal` | |
| `$reason` readonly | `?string` | |
| `$reasonCode` readonly | `BackedEnum\| [RawCode](https://quittio.dev/docs/api/Quittio/Core/Codes/RawCode)\|null` | |
| `$vatCategory` readonly | `[VatCategory](https://quittio.dev/docs/api/Quittio/Core/Enums/VatCategory)` | |
| `$vatRate` readonly | `?Brick\Math\BigDecimal` | |

## Methods \#

| Method | Description |
| --- | --- |
| `->__construct()` | |
| `->isCharge()` | |
| `->reasonCodeValue()` | |
| `->with()` | Returns a copy with the given properties replaced. |

### `__construct()`#

```
public function __construct(
    ?Money $amount,
    VatCategory $vatCategory,
    ?BigDecimal $vatRate = null,
    ?Money $baseAmount = null,
    ?BigDecimal $percent = null,
    ?string $reason = null,
    BackedEnum|RawCode|null $reasonCode = null,
    ?string $exemptionReason = null,
    VatExemptionReasonCode|RawCode|null $exemptionReasonCode = null,
)
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$amount` | `?Brick\Money\Money` | |
| `$vatCategory` | `[VatCategory](https://quittio.dev/docs/api/Quittio/Core/Enums/VatCategory)` | |
| `$vatRate` | `?Brick\Math\BigDecimal` = `null` | |
| `$baseAmount` | `?Brick\Money\Money` = `null` | |
| `$percent` | `?Brick\Math\BigDecimal` = `null` | |
| `$reason` | `?string` = `null` | |
| `$reasonCode` | `BackedEnum\| [RawCode](https://quittio.dev/docs/api/Quittio/Core/Codes/RawCode)\|null` = `null` | |
| `$exemptionReason` | `?string` = `null` | |
| `$exemptionReasonCode` | `[VatExemptionReasonCode](https://quittio.dev/docs/api/Quittio/Core/Enums/VatExemptionReasonCode)\| [RawCode](https://quittio.dev/docs/api/Quittio/Core/Codes/RawCode)\|null` = `null` | |

### `isCharge()`#

```
abstract public function isCharge(): bool
```

abstract

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

### `reasonCodeValue()`#

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

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

### `with()`#

```
public function with(array<string, mixed> $changes): static
```

Returns a copy with the given properties replaced.

| Parameter | Type | Description |
| --- | --- | --- |
| `$changes` | `array<string, mixed>` | |

<dl><dt>Returns</dt>
<dd><code>static</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/Data/AllowanceCharge/DocumentAllowanceCharge#webpage","@type":"WebPage","description":"Common structure of document level allowances (BG-20) and charges (BG-21).","name":"DocumentAllowanceCharge – API-Referenz","url":"https://quittio.dev/docs/api/Quittio/Core/Data/AllowanceCharge/DocumentAllowanceCharge","isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/docs/api/Quittio/Core/Data/AllowanceCharge/DocumentAllowanceCharge"]}],"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"}]}
```