> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gobl.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Polish KSeF FA_VAT FA(3)

Key: `pl-favat-v3`

## Correction Definitions

Auto-generation of corrective invoices or credit and debit notes is
supported.

### Invoice Types

The types of invoices that can be created with a preceding definition:

* `credit-note`

### Stamp Keys

Stamp keys from the previous invoice that need to be referenced:

* `favat-ksef-number`

## Scenarios

### bill/invoice

<Accordion title="Regular Invoice">
  **Filters:**

  * **Types:** `standard`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:VAT`
</Accordion>

<Accordion title="Prepayment Invoice">
  **Filters:**

  * **Types:** `standard`
  * **Tags:** `partial`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:ZAL`
</Accordion>

<Accordion title="Settlement Invoice">
  **Filters:**

  * **Types:** `standard`
  * **Tags:** `settlement`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:ROZ`
</Accordion>

<Accordion title="Simplified Invoice">
  **Filters:**

  * **Types:** `standard`
  * **Tags:** `simplified`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:UPR`
</Accordion>

<Accordion title="Credit note">
  **Filters:**

  * **Types:** `credit-note`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:KOR`
</Accordion>

<Accordion title="Prepayment credit note">
  **Filters:**

  * **Types:** `credit-note`
  * **Tags:** `partial`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:KOR_ZAL`
</Accordion>

<Accordion title="Settlement credit note">
  **Filters:**

  * **Types:** `credit-note`
  * **Tags:** `settlement`

  **Output:**

  * **Extensions:** `pl-favat-invoice-type:KOR_ROZ`
</Accordion>

## Extensions

### Tax categories for KSeF

The `pl-favat-tax-category` extension specifies tax categories for Polish FA\_VAT/KSeF invoices.
Each category corresponds to a field in the FA\_VAT XML schema (P\_13\_*, P\_14\_*, etc.).

This extension is used at the **line tax level** (`lines[].taxes[]`) and is automatically
normalized by GOBL based on the tax combo `key`, `rate`, and `country` fields. The extension
is required for all line items.

If the tax combo has a `country` set to a value other than `PL`, the category is
automatically set to **8** (outside scope), regardless of the `key` and `rate` values.

Automatic mapping from GOBL tax combos (when country is `PL` or empty):

| GOBL Tax Key       | GOBL Rate       | FA\_VAT Category | VAT % |
| ------------------ | --------------- | ---------------- | ----- |
| `standard`         | `general`       | 1                | 23%   |
| `standard`         | `reduced`       | 2                | 8%    |
| `standard`         | `super-reduced` | 3                | 5%    |
| `zero`             | -               | 6.1              | 0%    |
| `intra-community`  | -               | 6.2              | 0%    |
| `export`           | -               | 6.3              | 0%    |
| `exempt`           | -               | 7                | -     |
| `outside-scope`    | -               | 8                | -     |
| `reverse-charge`   | -               | 9                | -     |
| *(non-PL country)* | *(any)*         | 8                | -     |

Example:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	// ...
	"lines": [
		{
			// ...
			"taxes": [
				{
					"cat": "VAT",
					"key": "standard",
					"rate": "general",
					"percent": "23.0%",
					// Extension automatically set to "1"
					"ext": {
						"pl-favat-tax-category": "1"
					}
				}
			]
		}
	]
}
```

The ones that are not automatically mapped can be set manually.

<Accordion title="pl-favat-tax-category">
  | Code  | Name                                       |
  | ----- | ------------------------------------------ |
  | `1`   | Base rate                                  |
  | `2`   | First reduced rate                         |
  | `3`   | Second reduced rate                        |
  | `4`   | Taxi Rate                                  |
  | `5`   | OSS (one stop shop)                        |
  | `6.1` | 0% VAT                                     |
  | `6.2` | 0% VAT for intra-community supply of goods |
  | `6.3` | 0% VAT for export                          |
  | `7`   | Exempt                                     |
  | `8`   | Foreign sales outside scope of Polish VAT  |
  | `9`   | EU Reverse Charge                          |
  | `10`  | Domestic Reverse charge                    |
  | `11`  | Margin scheme                              |
</Accordion>

### Invoice type code for KSeF

The `pl-favat-invoice-type` extension specifies the type of invoice for Polish FA\_VAT/KSeF.
This extension is used in the **invoice tax section** (`tax.ext`) and is automatically
normalized by GOBL based on the invoice type and tags during the `scenarios` normalization step.

Automatic mapping from GOBL invoice structure:

| Tags         | GOBL invoice type | Code     | Description            |
| ------------ | ----------------- | -------- | ---------------------- |
| -            | `standard`        | VAT      | Regular invoice        |
| `partial`    | `standard`        | ZAL      | Advance invoice        |
| `settlement` | `standard`        | ROZ      | Settlement invoice     |
| `simplified` | `standard`        | UPR      | Simplified invoice     |
| -            | `credit-note`     | KOR      | Credit note            |
| `partial`    | `credit-note`     | KOR\_ZAL | Advance credit note    |
| `settlement` | `credit-note`     | KOR\_ROZ | Settlement credit note |

Example of an advance invoice:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	"$tags": ["partial"],
	"type": "standard",
	// ...
	"tax": {
		// Extension automatically set to "ZAL"
		"ext": {
			"pl-favat-invoice-type": "ZAL"
		}
	}
}
```

<Accordion title="pl-favat-invoice-type">
  | Code      | Name                   |
  | --------- | ---------------------- |
  | `VAT`     | Regular Invoice        |
  | `ZAL`     | Advance Invoice        |
  | `ROZ`     | Settlement Invoice     |
  | `UPR`     | Simplified Invoice     |
  | `KOR`     | Credit note            |
  | `KOR_ZAL` | advance credit note    |
  | `KOR_ROZ` | Settlement credit note |
</Accordion>

### Cash accounting flag for KSeF

The `pl-favat-cash-accounting` extension indicates whether an invoice uses cash accounting
for VAT purposes (kasowa metoda rozliczenia VAT). This extension is used in the **invoice
tax section** (`tax.ext`).

This extension is **not normalized automatically** and must be set manually by the user
when the cash accounting method applies. According to Polish VAT law (Article 19a sec. 5
item 1 or Article 21 sec. 1), certain small businesses may account for VAT on a cash
basis rather than accrual basis.

Values:

* "1": Cash accounting applies
* "2": Normal accounting (accrual basis) - default

Example with cash accounting:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	// ...
	"tax": {
		"ext": {
			"pl-favat-cash-accounting": "1"
		}
	}
}
```

<Accordion title="pl-favat-cash-accounting">
  | Code | Name               |
  | ---- | ------------------ |
  | `1`  | Cash accounting    |
  | `2`  | No cash accounting |
</Accordion>

### Self-invoicing flag for KSeF

The `pl-favat-self-billing` extension indicates whether an invoice is self-billed
(samofakturowanie), where the buyer issues the invoice on behalf of the supplier.
This extension is used in the **invoice tax section** (`tax.ext`).

This extension is **automatically normalized** by GOBL:

* When the invoice has the `self-billed` tag, the value is set to "1"
* Otherwise, the value defaults to "2"

Self-billing is permitted under Article 106d sec. 1 of the Polish VAT Act when
there is a prior agreement between the parties.

Values:

* "1": Self-billed invoice
* "2": Regular invoice - default

Example of a self-billed invoice:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	"$tags": ["self-billed"],
	// ...
	"tax": {
		// Extension automatically set to "1"
		"ext": {
			"pl-favat-self-billing": "1"
		}
	}
}
```

<Accordion title="pl-favat-self-billing">
  | Code | Name               |
  | ---- | ------------------ |
  | `1`  | Self-invoicing     |
  | `2`  | Not self-invoicing |
</Accordion>

### Reverse charge code for KSeF

The `pl-favat-reverse-charge` extension indicates whether the reverse charge mechanism
applies to an invoice. This extension is used in the **invoice tax section** (`tax.ext`).

This extension is **automatically normalized** by GOBL:

* When the invoice has the `reverse-charge` tag, the value is set to "1"
* Otherwise, the value defaults to "2"

Under the reverse charge mechanism (odwrotne obciążenie), the buyer rather than the
seller is responsible for accounting for the VAT. This applies to:

* EU intra-community services (B2B cross-border services)
* Domestic reverse charge for specific goods and services listed in Polish VAT law
* Imports of services from outside the EU

When using reverse charge, the line items should use the `reverse-charge` tax key,
which automatically sets the tax category to "9" (EU Reverse Charge) or "10"
(Domestic Reverse Charge) depending on the scenario.

Values:

* "1": Reverse charge applies
* "2": Normal charge - default

Example of an EU reverse charge invoice:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	"$tags": ["reverse-charge"],
	// ...
	"lines": [
		{
			// ...
			"taxes": [
				{
					"cat": "VAT",
					"key": "reverse-charge"
				}
			]
		}
	],
	"tax": {
		// Extension automatically set to "1"
		"ext": {
			"pl-favat-reverse-charge": "1"
		}
	}
}
```

<Accordion title="pl-favat-reverse-charge">
  | Code | Name              |
  | ---- | ----------------- |
  | `1`  | Reverse charge    |
  | `2`  | No reverse charge |
</Accordion>

### Split payment mechanism flag for KSeF

The `pl-favat-split-payment-mechanism` extension indicates whether the mandatory split
payment mechanism (mechanizm podzielonej płatności, MPP) applies to an invoice.
This extension is used in the **invoice tax section** (`tax.ext`).

This extension is **not normalized automatically** and must be set manually when the
split payment mechanism applies.

According to Polish VAT law, split payment is mandatory when ALL of the following
conditions are met:

* The invoice amount exceeds PLN 15,000 (or equivalent in foreign currency)
* The invoice covers goods or services listed in Annex 15 to the VAT Act
* The transaction is B2B (business to business)
* The invoice bears the note "split payment mechanism"

Under split payment, the buyer pays the VAT portion to a separate VAT account rather
than to the seller directly.

Values:

* "1": Split payment mechanism applies
* "2": Normal payment - default

Example:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	// ...
	"tax": {
		"ext": {
			"pl-favat-split-payment-mechanism": "1"
		}
	},
	"notes": [
		{
			"key": "general",
			"text": "Mechanizm podzielonej płatności"
		}
	]
}
```

<Accordion title="pl-favat-split-payment">
  | Code | Name                       |
  | ---- | -------------------------- |
  | `1`  | Split payment mechanism    |
  | `2`  | No split payment mechanism |
</Accordion>

### Tax exemption code for KSeF

Extension used to indicate the type of reason for tax exemption code for KSeF. When the `exempt` tag
is used in the invoice, having `ext` map's `pl-favat-exemption` property is required. Also, it is
required to add descriptive text for the legal basis for exemption. To do this in GOBL, add a note
to the invoice with the exemption reason, in the following format:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	// ...

	"tax": {
		"ext": {
			"pl-favat-exemption": "A"
			// ...
		}
	},
	"notes": [
		{
			"key": "legal",
			"code": "A",
			"src": "pl-favat-exemption",
			"text": "Art. 25a ust. 1 pkt 9 ustawy o VAT"
		}
	]
}
```

In notes, code must match the code from the extension.

<Accordion title="pl-favat-exemption">
  | Code | Name                                   |
  | ---- | -------------------------------------- |
  | `A`  | Law or act issued under the Polish law |
  | `B`  | Directive 2006/112/EC                  |
  | `C`  | Other legal basis                      |
</Accordion>

### Margin scheme code for KSeF

The `pl-favat-margin-scheme` extension specifies the type of margin scheme (procedura
marży) applied to an invoice. This extension is used in the **invoice tax section**
(`tax.ext`).

This extension is **not normalized automatically** and must be set manually when a
margin scheme applies.

Under margin schemes, VAT is calculated only on the seller's margin (profit) rather
than on the full sale price. This applies to specific business sectors in Poland:

* Travel agencies (tour operators)
* Sales of second-hand goods
* Sales of works of art
* Sales of collector's items and antiques

When using a margin scheme, the tax category should typically be set to "11"
(Margin scheme) in line items.

Example for a travel agency:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	// ...
	"tax": {
		"ext": {
			"pl-favat-margin-scheme": "2"
		}
	}
}
```

<Accordion title="pl-favat-margin-scheme">
  | Code  | Name                      |
  | ----- | ------------------------- |
  | `2`   | Travel agency             |
  | `3.1` | Second-hand goods         |
  | `3.2` | Works of art              |
  | `3.3` | Antiques and collectibles |
</Accordion>

### Payment method code for KSeF

The `pl-favat-payment-means` extension specifies the payment method used in an invoice.
This extension is used in **payment instructions** (`payment.instructions.ext`) or
**payment advances** (`payment.advances[].ext`).

This extension is **automatically normalized** by GOBL based on the payment means key.
The following table shows the mapping:

| Code | FA\_VAT Name    | GOBL Payment Means Key |
| ---- | --------------- | ---------------------- |
| 1    | Cash            | `cash`                 |
| 2    | Card            | `card`                 |
| 3    | Voucher         | `other+voucher`        |
| 4    | Cheque          | `cheque`               |
| 5    | Credit/Loan     | `other+credit`         |
| 6    | Credit Transfer | `credit-transfer`      |
| 7    | Mobile          | `online`               |

Example with bank transfer payment:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	// ...
	"payment": {
		"instructions": {
			"key": "credit-transfer",
			// Extension automatically set to "6"
			"ext": {
				"pl-favat-payment-means": "6"
			},
			"credit_transfer": [
				{
					"iban": "PL61109010140000071219812874",
					"name": "Company Name"
				}
			]
		}
	}
}
```

<Accordion title="pl-favat-payment-means">
  | Code | Name          |
  | ---- | ------------- |
  | `1`  | Cash          |
  | `2`  | Card          |
  | `3`  | Coupon        |
  | `4`  | Cheque        |
  | `5`  | Loan          |
  | `6`  | Wire Transfer |
  | `7`  | Mobile        |
</Accordion>

### Subordinate Local Government Unit flag

The `pl-favat-jst` extension indicates whether the customer is a Subordinate Local
Government Unit (Jednostka Samorządu Terytorialnego - JST). This extension is used
in the **customer party section** (`customer.ext`).

This extension is **not normalized automatically** and must be set manually.

When this extension is set to "1" (customer is JST), GOBL validates that the customer
has an identity with role "8" (Local Government Unit - recipient) in the `customer.identities`
array. This identity must include a `code` field with the JST identifier.

Values:

* "1": Customer is a Subordinate Local Government Unit
* "2": Customer is not a JST - default

Example:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	// ...
	"customer": {
		"name": "Gmina Warszawa",
		"tax_id": {
			"country": "PL",
			"code": "5252548806"
		},
		"ext": {
			"pl-favat-jst": "1"
		},
		"identities": [
			{
				"code": "146501",
				"ext": {
					"pl-favat-third-party-role": "8"
				}
			}
		]
	}
}
```

<Accordion title="pl-favat-jst">
  | Code | Name                                                |
  | ---- | --------------------------------------------------- |
  | `1`  | Customer is a Subordinate Local Government Unit     |
  | `2`  | Customer is not a Subordinate Local Government Unit |
</Accordion>

### Group VAT member flag

The `pl-favat-group-vat` extension indicates whether the customer is a member of a VAT
group (Grupa VAT - GV). This extension is used in the **customer party section**
(`customer.ext`).

This extension is **not normalized automatically** and must be set manually.

VAT groups in Poland allow multiple legal entities to be treated as a single taxpayer
for VAT purposes. When this extension is set to "1" (customer is a GV member), GOBL
validates that the customer has an identity with role "10" (GV member - recipient) in
the `customer.identities` array. This identity must include a `code` field with the
VAT group member identifier.

Values:

* "1": Customer is a VAT Group member
* "2": Customer is not a VAT Group member - default

Example:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	// ...
	"customer": {
		"name": "Member Company Ltd.",
		"tax_id": {
			"country": "PL",
			"code": "1234567890"
		},
		"ext": {
			"pl-favat-group-vat": "1"
		},
		"identities": [
			{
				"code": "GV-12345",
				"ext": {
					"pl-favat-third-party-role": "10"
				}
			}
		]
	}
}
```

<Accordion title="pl-favat-group-vat">
  | Code | Name                               |
  | ---- | ---------------------------------- |
  | `1`  | Customer is a Group VAT member     |
  | `2`  | Customer is not a Group VAT member |
</Accordion>

### Third party role

The `pl-favat-third-party-role` extension specifies the role of a third party or
additional entity in an invoice transaction. This extension is used in **party
identities** (`customer.identities[].ext`, `supplier.identities[].ext`, or in
additional parties).

This extension is **not normalized automatically** and must be set manually based on
the role of the entity in the transaction.

Common use cases:

* Role "8": Required when customer has `pl-favat-jst` = "1" (Local Government Unit)
* Role "10": Required when customer has `pl-favat-group-vat` = "1" (VAT Group member)
* Role "5": When invoice is issued by an entity on behalf of the taxpayer
* Other roles: For factoring, recipients, payers, etc.

Each identity with this extension should also include a `code` field with the
identifier of the third party.

Example with JST customer:

```js theme={"system"}
{
	"customer": {
		// ...
		"ext": {
			"pl-favat-jst": "1"
		},
		"identities": [
			{
				"code": "146501",
				"ext": {
					"pl-favat-third-party-role": "8"
				}
			}
		]
	}
}
```

<Accordion title="pl-favat-third-party-role">
  | Code | Name                                    |
  | ---- | --------------------------------------- |
  | `1`  | Factor                                  |
  | `2`  | Recipient                               |
  | `3`  | Original entity                         |
  | `4`  | Additional Purchaser                    |
  | `5`  | Invoice Issuer                          |
  | `6`  | Payer                                   |
  | `7`  | Local Government Unit (LGU) - issuer    |
  | `8`  | Local Government Unit (LGU) - recipient |
  | `9`  | GV member - issuer                      |
  | `10` | GV member - recipient                   |
  | `11` | Employee                                |
</Accordion>

### Effective date code

The `pl-favat-effective-date` extension specifies when a correction invoice (credit note)
becomes effective for VAT purposes. This extension is used in **credit note tax section**
(`tax.ext`) when `type` is `credit-note`.

This extension is **not normalized automatically** and it is not mandatory. It can be set manually for credit
notes based on when the correction should take effect.

According to Polish VAT regulations, a correction invoice can be effective:

* On the date of the original invoice (code "1")
* On the date of the correction invoice itself (code "2")
* On another specific date, or different dates for different line items (code "3")

Values:

* "1": Effective according to original invoice date
* "2": Effective according to correction date
* "3": Effective on another date (or multiple dates)

Example of a credit note effective on correction date:

```js theme={"system"}
{
	"$schema": "https://gobl.org/draft-0/bill/invoice",
	"$addons": ["pl-favat-v3"],
	"type": "credit-note",
	// ...
	"tax": {
		"ext": {
			"pl-favat-invoice-type": "KOR",
			"pl-favat-effective-date": "2"
		}
	},
	"preceding": [
		{
			"code": "INVOICE-001",
			"issue_date": "2025-01-15"
		}
	]
}
```

<Accordion title="pl-favat-effective-date">
  | Code | Name       |
  | ---- | ---------- |
  | `1`  | Original   |
  | `2`  | Correction |
  | `3`  | Other      |
</Accordion>

## Validation Rules

<AccordionGroup>
  <Accordion title="bill.Invoice">
    | Field                                                               | Test                                                                                         | Validation Code / Message                                                                            |
    | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
    | <small>Invoice</small>                                              | <ul class="gobl-test"><li>Can convert to \[PLN]</li></ul>                                    | `GOBL-PL-FAVAT-BILL-INVOICE-15`<br />Invoice must be in PLN or provide exchange rate for conversion  |
    | <small>Invoice</small>                                              | <ul class="gobl-test"><li>JST identity</li></ul>                                             | `GOBL-PL-FAVAT-BILL-INVOICE-11`<br />Customer requires identity with role '8' and code for JST       |
    | <small>Invoice</small>                                              | <ul class="gobl-test"><li>GroupVAT identity</li></ul>                                        | `GOBL-PL-FAVAT-BILL-INVOICE-12`<br />Customer requires identity with role '10' and code for GroupVAT |
    | <small>Invoice</small>                                              | <ul class="gobl-test"><li>Exemption note present</li></ul>                                   | `GOBL-PL-FAVAT-BILL-INVOICE-13`<br />Missing exemption note                                          |
    | <small>Invoice</small>                                              | <ul class="gobl-test"><li>Single exemption note</li></ul>                                    | `GOBL-PL-FAVAT-BILL-INVOICE-14`<br />Too many exemption notes                                        |
    | `type`<br /><small class="gobl-field-calculated">Calculated</small> | <ul class="gobl-test"><li>One of \[standard, credit-note]</li></ul>                          | `GOBL-PL-FAVAT-BILL-INVOICE-01`<br />Invoice type must be standard or credit-note                    |
    | `preceding[*].issue_date`                                           | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-02`<br />Preceding issue date is required                                |
    | `preceding[*].code`                                                 | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-03`<br />Preceding code is required                                      |
    | `supplier`                                                          | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-04`<br />Supplier is required                                            |
    | `supplier.tax_id`                                                   | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-16`<br />Supplier tax ID is required                                     |
    | `supplier.tax_id.code`                                              | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-17`<br />Supplier tax ID code required                                   |
    | `supplier.name`                                                     | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-05`<br />Supplier name is required                                       |
    | `supplier.addresses`                                                | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul>                        | `GOBL-PL-FAVAT-BILL-INVOICE-06`<br />Supplier addresses are required                                 |
    | `supplier.addresses`                                                | <ul class="gobl-test"><li>First address country</li></ul>                                    | `GOBL-PL-FAVAT-BILL-INVOICE-07`<br />Supplier first address must have a country                      |
    | `supplier.addresses`                                                | <ul class="gobl-test"><li>First address street</li></ul>                                     | `GOBL-PL-FAVAT-BILL-INVOICE-08`<br />Supplier first address must have a street                       |
    | `customer`                                                          | <ul class="gobl-test"><li>Not simplified</li><li class="gobl-test-present">Present</li></ul> | `GOBL-PL-FAVAT-BILL-INVOICE-09`<br />Customer is required                                            |
    | `customer.tax_id.code`                                              | <ul class="gobl-test"><li>Code in \[PL]</li><li class="gobl-test-present">Present</li></ul>  | `GOBL-PL-FAVAT-BILL-INVOICE-10`<br />Customer Polish tax ID code is required                         |
  </Accordion>

  <Accordion title="tax.Combo">
    | Field | Test                                                                     | Validation Code / Message                                                              |
    | ----- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
    | `ext` | <ul class="gobl-test"><li>Ext require \[pl-favat-tax-category]</li></ul> | `GOBL-PL-FAVAT-TAX-COMBO-01`<br />Tax combo requires 'pl-favat-tax-category' extension |
  </Accordion>

  <Accordion title="pay.Record">
    | Field  | Test                                                                  | Validation Code / Message                                           |
    | ------ | --------------------------------------------------------------------- | ------------------------------------------------------------------- |
    | `date` | <ul class="gobl-test"><li class="gobl-test-present">Present</li></ul> | `GOBL-PL-FAVAT-PAY-RECORD-01`<br />Advance payment date is required |
  </Accordion>
</AccordionGroup>
