---
title: "PreparedInvoice – API reference · Quittio"
description: "Calculated and validated invoice data plus the decisions a render run would take (format, profile, country pack, locale), without rendering anything. The XML of every format (also the one \"pdf\" embeds with b2cEmbedXml) is generated for the validation only. Used by the Managed layer to freeze an invoice before its documents are rendered; the validation always runs, whatever the validation mode."
canonical_url: "https://quittio.dev/en/docs/api/Quittio/Core/Rendering/PreparedInvoice"
locale: en
meta:
  "og:description": "Calculated and validated invoice data plus the decisions a render run would take (format, profile, country pack, locale), without rendering anything. The XML of every format (also the one \"pdf\" embeds with b2cEmbedXml) is generated for the validation only. Used by the Managed layer to freeze an invoice before its documents are rendered; the validation always runs, whatever the validation mode."
  "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": "PreparedInvoice – 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) \\ [Core](https://quittio.dev/docs/api/Quittio/Core) \\ [Rendering](https://quittio.dev/docs/api/Quittio/Core/Rendering)

# PreparedInvoice

final readonly class in quittio/core

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

Calculated and validated invoice data plus the decisions a render run would take (format, profile, country pack, locale), without rendering anything. The XML of every format (also the one "pdf" embeds with b2cEmbedXml) is generated for the validation only. Used by the Managed layer to freeze an invoice before its documents are rendered; the validation always runs, whatever the validation mode.

## Properties \#

| Property | Type | Description |
| --- | --- | --- |
| `$buyerCountry` readonly | `? [CountryPack](https://quittio.dev/docs/api/Quittio/Core/Countries/CountryPack)` | |
| `$country` readonly | `[CountryPack](https://quittio.dev/docs/api/Quittio/Core/Countries/CountryPack)` | |
| `$data` readonly | `[InvoiceData](https://quittio.dev/docs/api/Quittio/Core/Data/InvoiceData)` | |
| `$formats` readonly | `array<string, [Profile](https://quittio.dev/docs/api/Quittio/Core/Profiles/Profile)\|null>` | format key => profile (null for formats that write or embed no XML) |
| `$locale` readonly | `string` | |
| `$validation` readonly | `[ValidationResult](https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationResult)` | |

## Methods \#

| Method | Description |
| --- | --- |
| `->__construct()` | |
| `->format()` | |
| `->profile()` | |

### `__construct()`#

```
public function __construct(
    InvoiceData $data,
    array<string, Profile|null> $formats,
    CountryPack $country,
    ?CountryPack $buyerCountry,
    string $locale,
    ValidationResult $validation,
)
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$data` | `[InvoiceData](https://quittio.dev/docs/api/Quittio/Core/Data/InvoiceData)` | |
| `$formats` | `array<string, [Profile](https://quittio.dev/docs/api/Quittio/Core/Profiles/Profile)\|null>` | format key => profile (null for formats that write or embed no XML) |
| `$country` | `[CountryPack](https://quittio.dev/docs/api/Quittio/Core/Countries/CountryPack)` | |
| `$buyerCountry` | `? [CountryPack](https://quittio.dev/docs/api/Quittio/Core/Countries/CountryPack)` | |
| `$locale` | `string` | |
| `$validation` | `[ValidationResult](https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationResult)` | |

### `format()`#

```
public function format(): string
```

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

### `profile()`#

```
public function profile(): ?Profile
```

<dl><dt>Returns</dt>
<dd><code>?<a href="https://quittio.dev/docs/api/Quittio/Core/Profiles/Profile">Profile</a></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/Core/Rendering/PreparedInvoice#webpage","@type":"WebPage","description":"Calculated and validated invoice data plus the decisions a render run would take (format, profile, country pack, locale), without rendering anything. The XML of every format (also the one \"pdf\" embeds with b2cEmbedXml) is generated for the validation only. Used by the Managed layer to freeze an invoice before its documents are rendered; the validation always runs, whatever the validation mode.","name":"PreparedInvoice – API reference","url":"https://quittio.dev/en/docs/api/Quittio/Core/Rendering/PreparedInvoice","isPartOf":{"@id":"https://quittio.dev/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/en/docs/api/Quittio/Core/Rendering/PreparedInvoice"]}],"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"}]}
```