# BR-27 Item net price must not be negative

The Item net price (BT-146) shall not be negative; a discounted line still uses a non-negative net price.

## Problem Description

The Item net price (BT-146) shall not be negative; a discounted line still uses a non-negative net price.

> **ERROR**: XRechnung 3.0

## Context and Significance

This rule comes from the EN16931 core semantic model enforced by the KoSIT XRechnung 3.0.2 Schematron, ensuring invoices carry the mandatory data needed for automated processing.

## Solution

Set cac:Price/cbc:PriceAmount to a value of zero or greater. Model reductions as an invoice line allowance (BG-27) instead of a negative price.

- validate
- convert

## Valid Examples

- BT-146 = 12.50 — non-negative net price accepted

## Invalid Examples

- BT-146 = -5.00 — negative net price rejected

## Code Examples

### Valid XML
```
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
</cac:Price>
```

### Invalid XML
```
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">-5.00</cbc:PriceAmount>
</cac:Price>
```

## Affected Fields

- [BT-146 Item net price](/resources/xrechnung/bt-146-item-net-price)

## Related Rules

- [BR-28](/resources/kosit-validator-errors/br-28-item-gross-price-not-negative)

## Validation Tools

- [Official KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Validate your XRechnung files against all BR-DE rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Automatic validation error fixes when converting.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Complete Error List](/resources/kosit-validator-errors): Overview of all German XRechnung validation rules.
