Konto
Polski

PEPPOL-EN16931-R043: ChargeIndicator nie ma wartości dokładnie 'true' lub 'false'

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-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:AllowanceCharge

Test (XPath):

normalize-space(cbc:ChargeIndicator/text()) = 'true' or normalize-space(cbc:ChargeIndicator/text()) = 'false'

CII

ram:SpecifiedTradeAllowanceCharge
ram:AppliedTradeAllowanceCharge

Test (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.

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-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.