Ana içeriğe atla

PEPPOL-EN16931-R046 Ürün net fiyatı ürün brüt fiyatı eksi ürün fiyat indirimine eşit olmalıdır

Peppol kuralı PEPPOL-EN16931-R046 uyarınca, bir fatura satırında BT-148 (cbc:BaseAmount) alanında ürün brüt fiyatı ve BT-147 (cbc:Amount) alanında fiyat indirimi belirtildiğinde, BT-146 (cbc:PriceAmount) alanındaki net fiyat tam olarak şu eşitliği sağlamalıdır: net fiyat = brüt fiyat − fiyat indirimi. Kural yalnızca brüt fiyat mevcut olduğunda uygulanır ve yuvarlama toleransı olmadan tam ondalık değerleri karşılaştırır.

Sorun açıklaması

HATA

Peppol BIS Billing 3.0 kuralı (OpenPeppol)

Bağlam ve önem

Brüt fiyat, birim indirim ve net fiyat arasındaki uyumsuzluklar PEPPOL-EN16931-R046’yı tetikler. Kontrolde yuvarlama toleransı olmadığından, brüt fiyat ve indirim 4 ondalık basamak taşırken 2 basamağa yuvarlanmış bir net fiyat bile başarısız olur. Hata, bir indirim cbc:Amount içinde dışa aktarılıp net fiyat hâlâ brüt fiyata eşit kaldığında da ortaya çıkar.

Çözüm

ERP fiyatlandırma ayarlarınızda net birim fiyatı dışa aktarmadan önce brüt birim fiyat eksi birim fiyat indirimi olarak hesaplayın ve üç değer için aynı ondalık hassasiyeti kullanın. UBL 2.1’de <cac:Price> içinde <cbc:PriceAmount> değeri <cac:AllowanceCharge><cbc:BaseAmount> eksi <cbc:Amount> değerine tam olarak eşit olmalıdır. Brüt fiyat belirtmiyorsanız cbc:BaseAmount öğesini çıkarın; bu durumda R046 değerlendirilmez.

Hızlı işlemler

Geçerli örnekler

  • Brüt fiyat BT-148 = 100.00 EUR, Fiyat indirimi BT-147 = 20.00 EUR, Net fiyat BT-146 = 80.00 EUR
  • Brüt fiyat BT-148 = 50.00 EUR, Fiyat indirimi BT-147 = 5.00 EUR, Net fiyat BT-146 = 45.00 EUR

Geçersiz örnekler

  • 100.00 EUR brüt fiyattan 20.00 EUR indirim düşüldüğünde Net fiyat = 85.00 EUR olarak dışa aktarılmış (Aritmetik hata)
  • Fiyat indirimi 10.00 EUR olarak bildirilmiş ancak Net fiyat indirim düşülmeden brüt fiyata eşit yazılmış

Kod örnekleri

Geçerli XML
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">80.00</cbc:PriceAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
    <cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
  </cac:AllowanceCharge>
</cac:Price>
Geçersiz XML
<cac:Price>
  <cbc:PriceAmount currencyID="EUR">85.00</cbc:PriceAmount>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:Amount currencyID="EUR">20.00</cbc:Amount>
    <cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
  </cac:AllowanceCharge>
</cac:Price>

Etkilenen alanlar

Doğrulama araçları