# BR-IC-05: Give each intra-community supply line a VAT rate of 0

A line in VAT category `K` must carry a rate of exactly 0; the rate of the buyer's country, such as 19 for Germany, does not go on the seller's line.

- Layer: EN 16931
- Severity: fatal (the document is invalid)
- Topics: VAT, Lines and prices
- Official definition: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-IC-05/
- Explanation last updated: 2026-09-28

## The short answer

`BR-IC-05` fails on each invoice or credit note line whose `cac:Item/cac:ClassifiedTaxCategory` is `K` with a `cbc:Percent` that is not zero. The recorded example gives the line 19, the German rate; set it to `0`.

The buyer accounts for VAT on the acquisition in its own country, at that country's rate. The seller's document only states that it charges none.

## What the rule checks

Each `cac:ClassifiedTaxCategory` in category `K` under the `VAT` scheme, in `cac:InvoiceLine` or `cac:CreditNoteLine`, is checked on its own, and the finding points at that element.

The comparison is numeric and needs a value. When tried, removing `cbc:Percent` from the `K` line reported this rule alone.

The breakdown rate is not what this rule reads, and no intra-community rule checks it. When tried, putting 19 in the `K` breakdown as well, with its tax amount still 0.00, added `BR-CO-17` and nothing more.

The wrong rate does not upset the taxable amount. With the line at 19, the `K` breakdown of 25.00 still satisfied `BR-IC-08`, which adds up `K` lines regardless of rate.

| Term | Meaning | UBL element |
|---|---|---|
| BT-151 | Invoiced item VAT category code | `cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID in a credit note)` |
| BT-152 | Invoiced item VAT rate | `cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent (cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent in a credit note)` |

## How an integration ends up here

Possible causes, from the shape of the rule rather than from measured usage:

- The line rate is looked up from the delivery country, so goods sent to Germany get 19 while the category is correctly set to `K`.
- The item master holds the seller's domestic rate, and only the category is switched for EU business customers.
- The rate is shown on purpose so the buyer can see what to account for, which the document has no field for.

## How to fix it

1. Confirm that the line is an intra-community supply to a VAT-registered business in another member state.
2. Set `cbc:Percent` in the line's `cac:ClassifiedTaxCategory` to `0`. The line amount, the `K` breakdown and the totals do not change.
3. Derive the line rate from the category rather than from the destination country: category `K` always carries 0.
4. If the seller does owe VAT on the line, for example because the buyer gave no VAT number, the line is not `K`. Recode it with the rate that applies and rebuild the breakdowns.

## Before and after

These are fragments, not complete documents. The complete synthetic documents they come from are linked below.

Fragment of the failing invoice: an intra-community line at 19

```xml
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Example service</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>K</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <!-- price omitted from this fragment -->
</cac:InvoiceLine>
```

Fragment of the corrected invoice: the intra-community line at 0

```xml
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Example service</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>K</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <!-- price omitted from this fragment -->
</cac:InvoiceLine>
```

Only the line's `cbc:Percent` differs: `19` in the failing invoice and `0` in the corrected one. The failing document reports only `BR-IC-05`; the `K` breakdown at 0 with a taxable amount of 25.00 is the same in both.

### What the validator reported

- The failing invoice reports **BR-IC-05**. The corrected document passes every layer with no findings.
  - [Download the failing XML](https://ironfang.com/finance/rule-examples/BR-IC-05-invalid.xml)
  - [Download the corrected XML](https://ironfang.com/finance/rule-examples/intra-community-valid.xml)

Recorded on phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, the engine behind the free validator, using synthetic data. A recorded result is regression evidence for these documents; it is not a certification.

## Where it applies

- Applies to UBL `Invoice` and `CreditNote`. The failing invoice converted to a credit note reported this rule at the `cac:CreditNoteLine` tax category when tried.
- Reported by the EN 16931 layer as a fatal finding per offending line.
- Document-level allowances and charges in `K` have their own rate rules, `BR-IC-06` and `BR-IC-07`, and the breakdown tax amount must be 0 under `BR-IC-09`.

## Related rules

- [BR-AE-05 is the same line rule for reverse charge](https://ironfang.com/docs/finance/rules/BR-AE-05.md)
- [BR-IC-06 requires a rate of 0 on a K document allowance](https://ironfang.com/docs/finance/rules/BR-IC-06.md)
- [BR-IC-07 requires a rate of 0 on a K document charge](https://ironfang.com/docs/finance/rules/BR-IC-07.md)
- [BR-IC-09 keeps the tax amount of the K breakdown at zero](https://ironfang.com/docs/finance/rules/BR-IC-09.md)

## Scope and source

Written for Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, as applied to UBL 2.1 Invoice and CreditNote documents. Other profiles, syntaxes and releases can define this identifier differently. Guidance version 2026-09-28.1: source checked 2026-09-28, explanation last updated 2026-09-28.

[The official definition of BR-IC-05](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-IC-05/) carries the normative wording and test. This page is our explanation of it, not a copy.

Guidance does not change the engine verdict. Fixing this finding does not mean the document passes every layer, and validation does not certify legal or tax compliance or transmit a document over Peppol.

## Links

- [This rule as a web page](https://ironfang.com/docs/finance/rules/BR-IC-05)
- [Free Peppol invoice validator](https://ironfang.com/tools/peppol-validator)
- [Rule index](https://ironfang.com/docs/finance/rules.md)
- [Ironfang Finance API docs](https://ironfang.com/docs/finance)
- The same rule is available to MCP clients as the tool `finance.rule.get` on https://mcp.ironfang.com/mcp
