Oficjalna treść reguły
[PEPPOL-EN16931-R043] Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Wskaźnik opłaty określa, czy cac:AllowanceCharge jest opłatą (true), czy rabatem (false), a Peppol wymaga dosłownych wartości zapisanych małymi literami. Reguła sprawdza, czy cbc:ChargeIndicator na poziomie dokumentu i pozycji (UBL) lub ram:ChargeIndicator/udt:Indicator (CII) ma dokładnie wartość true lub false. Błąd pojawia się przy wartościach 1/0, True/FALSE, yes/no lub wartościach z białymi znakami, które zwykle wynikają z serializacji wartości logicznej domyślnym formatowaniem języka programowania.
Jak to naprawić
Serializuj wskaźnik jako ciągi true lub false zapisane małymi literami, bez otaczających białych znaków. W UBL cbc:ChargeIndicator jest pierwszym elementem podrzędnym cac:AllowanceCharge; w CII struktura to ram:ChargeIndicator/udt:Indicator. Używaj true dla opłat (fracht, opakowanie, prowizje) i false dla rabatów (upusty, bonifikaty). Popraw mapowanie raz w serializatorze, a nie w każdym dokumencie osobno.
Przykład (poprawny)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Freight</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">5.90</cbc:Amount>
<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 | ubl-invoice:Invoice/cac:InvoiceLine/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:AllowanceCharge | ubl-creditnote:CreditNote/cac:CreditNoteLine/cac:AllowanceChargeTest (XPath):
normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false'CII
ram:SpecifiedTradeAllowanceCharge
ram:AppliedTradeAllowanceChargeTest (XPath):
normalize-space(ram:ChargeIndicator/udt:Indicator/text()) = 'true' or normalize-space(ram:ChargeIndicator/udt:Indicator/text()) = '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-R043?
PEPPOL-EN16931-R043 to reguła peppol bis billing 3.0: Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
Czy moja faktura zostanie odrzucona z powodu PEPPOL-EN16931-R043?
Tak. PEPPOL-EN16931-R043 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy PEPPOL-EN16931-R043?
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.