---
title: "BuildsHeader – API-Referenz · Quittio"
description: "Invoice number, dates, type, currencies, business process and standard version."
canonical_url: "https://quittio.dev/docs/api/Quittio/Core/Builder/Concerns/BuildsHeader"
locale: de
meta:
  "og:description": "Invoice number, dates, type, currencies, business process and standard version."
  "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": "BuildsHeader – 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) \\ [Builder](https://quittio.dev/docs/api/Quittio/Core/Builder) \\ [Concerns](https://quittio.dev/docs/api/Quittio/Core/Builder/Concerns)

# BuildsHeader

trait in quittio/core

`Quittio\Core\Builder\Concerns\BuildsHeader` · [Source](https://github.com/Quittio/quittio/blob/v0.7.1/packages/core/src/Builder/Concerns/BuildsHeader.php#L26)

Invoice number, dates, type, currencies, business process and standard version.

Part of `InvoiceBuilder`, which holds the state; use the builder, not the trait.

## Methods \#

| Method | Description |
| --- | --- |
| `->businessProcess()` | Business process identifier (BT-23); Peppol and XRechnung write their process when it is not set. null removes it. |
| `->currency()` | Invoice currency (BT-5), ISO 4217; stored in upper case. Default EUR. |
| `->dueDate()` | Due date (BT-9). Without it the calculator derives it from dueInDays(); otherwise the configured due\_days apply when rendering, never for credit notes. |
| `->exchangeRate()` | Exchange rate from the invoice currency to the VAT accounting currency (BT-6), used to calculate the VAT total in that currency (BT-111), with the date of the rate. Replaces a rate implied by declared amounts (see from()). |
| `->issueDate()` | Issue date (BT-2); default today. A DateTimeInterface is converted in the time zone of timezone(), so call timezone() first. |
| `->number()` | Invoice number (BT-1). Not checked here; the validation requires it. |
| `->standard()` | Version of EN 16931 (BT-24 of the profile): 2017 (default) or 2026, which only the profile EN 16931 supports. |
| `->taxCurrency()` | VAT accounting currency (BT-6). With an exchange rate, BT-111 is calculated. |
| `->taxPointDate()` | Date when VAT becomes chargeable (BT-7), if it differs from the issue date. EN 16931 allows BT-7 or BT-8, not both (BR-CO-03). |
| `->taxPointDateCode()` | Code of the date when VAT becomes chargeable (BT-8): issue, delivery or payment date. EN 16931 allows BT-7 or BT-8, not both (BR-CO-03). |
| `->type()` | Type code (BT-3) from UNTDID 1001, e.g. 381 for a credit note; default 380. Unknown codes are kept as RawCode and reported by the validation. |

### `businessProcess()`#

```
public function businessProcess(?string $process): static
```

Business process identifier (BT-23); Peppol and XRechnung write their process when it is not set. null removes it.

| Parameter | Type | Description |
| --- | --- | --- |
| `$process` | `?string` | |

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

### `currency()`#

```
public function currency(string $currency): static
```

Invoice currency (BT-5), ISO 4217; stored in upper case. Default EUR.

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

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

### `dueDate()`#

```
public function dueDate(Date|DateTimeInterface|string $date): static
```

Due date (BT-9). Without it the calculator derives it from dueInDays(); otherwise the configured due\_days apply when rendering, never for credit notes.

| Parameter | Type | Description |
| --- | --- | --- |
| `$date` | `[Date](https://quittio.dev/docs/api/Quittio/Core/Support/Date)\|DateTimeInterface\|string` | |

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

### `exchangeRate()`#

```
public function exchangeRate(
    BigDecimal|int|float|string $rate,
    Date|DateTimeInterface|string|null $date = null,
): static
```

Exchange rate from the invoice currency to the VAT accounting currency (BT-6), used to calculate the VAT total in that currency (BT-111), with the date of the rate. Replaces a rate implied by declared amounts (see from()).

| Parameter | Type | Description |
| --- | --- | --- |
| `$rate` | `Brick\Math\BigDecimal\|int\|float\|string` | |
| `$date` | `[Date](https://quittio.dev/docs/api/Quittio/Core/Support/Date)\|DateTimeInterface\|string\|null` = `null` | |

<dl><dt>Returns</dt>
<dd><code>static</code></dd>
<dt>Throws</dt>
<dd><code><a href="https://quittio.dev/docs/api/Quittio/Core/Exceptions/InvalidArgumentException">InvalidArgumentException</a></code> – for a float</dd></dl>

### `issueDate()`#

```
public function issueDate(Date|DateTimeInterface|string $date): static
```

Issue date (BT-2); default today. A DateTimeInterface is converted in the time zone of timezone(), so call timezone() first.

| Parameter | Type | Description |
| --- | --- | --- |
| `$date` | `[Date](https://quittio.dev/docs/api/Quittio/Core/Support/Date)\|DateTimeInterface\|string` | |

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

### `number()`#

```
public function number(string $number): static
```

Invoice number (BT-1). Not checked here; the validation requires it.

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

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

### `standard()`#

```
public function standard(StandardVersion $version): static
```

Version of EN 16931 (BT-24 of the profile): 2017 (default) or 2026, which only the profile EN 16931 supports.

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

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

### `taxCurrency()`#

```
public function taxCurrency(
    string $currency,
    BigDecimal|int|float|string|null $exchangeRate = null,
    Date|DateTimeInterface|string|null $rateDate = null,
): static
```

VAT accounting currency (BT-6). With an exchange rate, BT-111 is calculated.

| Parameter | Type | Description |
| --- | --- | --- |
| `$currency` | `string` | |
| `$exchangeRate` | `Brick\Math\BigDecimal\|int\|float\|string\|null` = `null` | |
| `$rateDate` | `[Date](https://quittio.dev/docs/api/Quittio/Core/Support/Date)\|DateTimeInterface\|string\|null` = `null` | |

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

### `taxPointDate()`#

```
public function taxPointDate(Date|DateTimeInterface|string $date): static
```

Date when VAT becomes chargeable (BT-7), if it differs from the issue date. EN 16931 allows BT-7 or BT-8, not both (BR-CO-03).

| Parameter | Type | Description |
| --- | --- | --- |
| `$date` | `[Date](https://quittio.dev/docs/api/Quittio/Core/Support/Date)\|DateTimeInterface\|string` | |

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

### `taxPointDateCode()`#

```
public function taxPointDateCode(TaxPointDateCode $code): static
```

Code of the date when VAT becomes chargeable (BT-8): issue, delivery or payment date. EN 16931 allows BT-7 or BT-8, not both (BR-CO-03).

| Parameter | Type | Description |
| --- | --- | --- |
| `$code` | `[TaxPointDateCode](https://quittio.dev/docs/api/Quittio/Core/Enums/TaxPointDateCode)` | |

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

### `type()`#

```
public function type(InvoiceTypeCode|RawCode|string $type): static
```

Type code (BT-3) from UNTDID 1001, e.g. 381 for a credit note; default 380. Unknown codes are kept as RawCode and reported by the validation.

| Parameter | Type | Description |
| --- | --- | --- |
| `$type` | `[InvoiceTypeCode](https://quittio.dev/docs/api/Quittio/Core/Enums/InvoiceTypeCode)\| [RawCode](https://quittio.dev/docs/api/Quittio/Core/Codes/RawCode)\|string` | |

<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/Builder/Concerns/BuildsHeader#webpage","@type":"WebPage","description":"Invoice number, dates, type, currencies, business process and standard version.","name":"BuildsHeader – API-Referenz","url":"https://quittio.dev/docs/api/Quittio/Core/Builder/Concerns/BuildsHeader","isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/docs/api/Quittio/Core/Builder/Concerns/BuildsHeader"]}],"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"}]}
```