Konto
Polski

PEPPOL-EN16931-R041: Procent rabatu lub opłaty podany bez kwoty bazowej

Reguła Peppol BIS Billing 3.0 · Błąd · UBL, CII

StandardPeppol BIS Billing 3.0 (OpenPeppol)WagaBłąd: faktura zostaje odrzuconaSkładniaUBL, CIIDotyczyFaktury i noty kredytowe przesyłane siecią Peppol (UBL) oraz, ponieważ XRechnung zawiera reguły Peppol, każda XRechnung.

Oficjalna treść reguły

[PEPPOL-EN16931-R041] Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.

Tekst normatywny jest w języku angielskim i cytowany bez zmian.

Dlaczego pojawia się ten błąd

Procent przy rabacie lub opłacie (narzucie) ma sens tylko wraz z podstawą, do której się odnosi, dlatego Peppol wymaga kwoty bazowej zawsze, gdy podano procent. Reguła oznacza cac:AllowanceCharge z cbc:MultiplierFactorNumeric, ale bez cbc:BaseAmount na poziomie dokumentu i pozycji (UBL), lub ram:SpecifiedTradeAllowanceCharge z ram:CalculationPercent, ale bez ram:BasisAmount (CII). Zwykle pochodzi to z oprogramowania, które eksportuje procent rabatu z warunku cenowego i tylko kwotę wynikową, bez podstawy.

Jak to naprawić

Dodaj cbc:BaseAmount (UBL) / ram:BasisAmount (CII) z kwotą, od której naliczono procent, dbając o to, by Amount = BaseAmount x procent / 100 (PEPPOL-EN16931-R040), albo usuń cbc:MultiplierFactorNumeric / ram:CalculationPercent i pozostaw tylko kwotę. Procent nadal można podać w tekście cbc:AllowanceChargeReason, jeśli ma być widoczny. Tę samą poprawkę zastosuj do rabatów na poziomie pozycji w cac:InvoiceLine.

Przykład (poprawny)

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
  <cbc:MultiplierFactorNumeric>5</cbc:MultiplierFactorNumeric>
  <cbc:Amount currencyID="EUR">12.50</cbc:Amount>
  <cbc:BaseAmount currencyID="EUR">250.00</cbc:BaseAmount>
  <cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>

Co sprawdza walidator

Sprawdzany element (kontekst):

UBL

ubl-invoice:Invoice/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)] | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceCharge[cbc:MultiplierFactorNumeric and not(cbc:BaseAmount)]

Test (XPath):

false()

CII

ram:SpecifiedTradeAllowanceCharge[ram:CalculationPercent and not(ram:BasisAmount)]

Test (XPath):

false()

Sprawdź swoją fakturę

Upuść plik XML lub PDF w walidatorze; każda naruszona reguła ma link do swojej strony tutaj. Bezpłatnie, bez konta, plik nie jest zapisywany.

Sprawdź swoją fakturę →

To samo sprawdzenie przez API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Powiązane reguły

Najczęstsze pytania

Co oznacza PEPPOL-EN16931-R041?

PEPPOL-EN16931-R041 to reguła peppol bis billing 3.0: Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.

Czy moja faktura zostanie odrzucona z powodu PEPPOL-EN16931-R041?

Tak. PEPPOL-EN16931-R041 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.

Jakich formatów dotyczy PEPPOL-EN16931-R041?

Faktury i noty kredytowe przesyłane siecią Peppol (UBL) oraz, ponieważ XRechnung zawiera reguły Peppol, każda XRechnung. Składnia: UBL i CII.

Źródło: Peppol BIS Billing 3.0.20 (November 2025). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.