# UBL-SR-30

> Document level allowance reason shall occur maximum once

Checked against Peppol BIS Billing 3.0 2026.5

Canonical: https://einvoicecheck.eu/rules/ubl-sr-30

## Official rule text

Document level allowance reason shall occur maximum once

## Why did my invoice fail UBL-SR-30?

A document-level allowance (BG-20) may state one Allowance reason text (BT-97), explaining why the deduction is applied. EN 16931 permits at most one reason text per allowance, so this rule blocks repeating cbc:AllowanceChargeReason within a single document-level cac:AllowanceCharge. A coded reason (BT-98) can accompany it, but the free-text reason must be unique.

## Common causes

- Two cbc:AllowanceChargeReason elements placed in the same document-level allowance block.
- A merge template appends a second reason string instead of replacing the first.
- Reason text duplicated in multiple languages within one AllowanceCharge.

## How do I fix it?

```
Within each document-level allowance (cbc:ChargeIndicator = false) keep one reason: <cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason> and delete the extra one.
```
