Referans
Markdown dışa aktarPEPPOL-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
<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><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>