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.
To samo sprawdzenie przez API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validatePowiązane reguły
PEPPOL-EN16931-R001Brak identyfikatora procesu biznesowego (BT-23)PEPPOL-EN16931-R002Najwyżej jedna uwaga na poziomie dokumentu, chyba że nabywca i sprzedawca…PEPPOL-EN16931-R003Brak referencji nabywcy i numeru zamówieniaPEPPOL-EN16931-R004Identyfikator specyfikacji nie jest identyfikatorem Peppol BIS 3.0PEPPOL-EN16931-R005Waluta rozliczenia VAT jest taka sama jak waluta fakturyPEPPOL-EN16931-R006Dozwolony tylko jeden fakturowany obiekt na poziomie dokumentuPEPPOL-EN16931-R007Identyfikator procesu biznesowego ma nieprawidłowy formatPEPPOL-EN16931-R008Dokument zawiera puste elementy
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.