# BR-28 Kalem brüt fiyatı negatif olamaz

Kalem brüt fiyatı (BT-148), yani fiyat indiriminden önceki birim fiyatı, negatif olamaz.

## Sorun açıklaması

> **HATA**: EN 16931 temel iş kuralı (CEN)

## Bağlam ve önem

Bu bir EN 16931 temel kuralıdır ve bir değeri kontrol eder. Brüt fiyat (BT-148), fiyat indirimi (BT-147) öncesindeki liste fiyatıdır; net fiyat brüt fiyat eksi bu indirimdir ve Peppol bunu PEPPOL-EN16931-R046 ile kontrol eder. Negatif brüt fiyat genellikle yanlış işaretli bir indirimden veya indirim tutarının yanlışlıkla cbc:BaseAmount alanına yazılmasından kaynaklanır.

## Çözüm

Brüt fiyatı cac:Price/cac:AllowanceCharge/cbc:BaseAmount (CII: ram:GrossPriceProductTradePrice/ram:ChargeAmount) olarak sıfır veya daha büyük bir değerle verin ve fiyat indirimini (BT-147) aynı grubun cbc:Amount alanına yazın.

- [XML doğrula](/tr/xrechnung-validator?source=resource&rule=BR-28)
- [Faturayı dönüştür](/tr/pdf-to-xrechnung?source=resource&rule=BR-28)

## Geçerli örnekler

- BT-148 = 15.00, 2.50 fiyat indirimiyle

## Geçersiz örnekler

- BT-148 = -3.00 — negatif brüt fiyat reddedilir

## Kod örnekleri

### Geçerli XML
```
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">2.50</cbc:Amount>
    <cbc:BaseAmount currencyID="EUR">15.00</cbc:BaseAmount>
  </cac:AllowanceCharge>
</cac:Price>
```

### Geçersiz XML
```
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">2.50</cbc:Amount>
    <cbc:BaseAmount currencyID="EUR">-3.00</cbc:BaseAmount>
  </cac:AllowanceCharge>
</cac:Price>
```

## Etkilenen alanlar

- [BT-148 Kalem brüt fiyatı](/resources/xrechnung/bt-148-item-gross-price)

## İlgili kurallar

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

## Doğrulama araçları

- [Resmi KoSIT doğrulayıcı](https://github.com/itplr-kosit/validator): EN 16931 ve XRechnung kurallarını denetlemek için resmi KoSIT doğrulayıcısını XRechnung yapılandırmasıyla çalıştırın.
- [PDF’yi XRechnung’e dönüştür](/pdf-to-xrechnung): Dönüştürme sırasında doğrulama hatalarını bulun ve her düzeltmeyi inceleyin.

## İlgili kaynaklar

- [Resmi spesifikasyon](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test paketi](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Tüm doğrulama hataları](/resources/kosit-validator-errors): Burada açıklanan EN 16931, XRechnung ve Peppol doğrulama kurallarına genel bakış.
