BT-5Invoice currency codeBT-111Invoice total VAT amount in accounting currency
Oficjalna treść reguły
[PEPPOL-EN16931-R051] All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
W fakturze Peppol UBL każda kwota musi być wyrażona w walucie faktury (BT-5); jedynym wyjątkiem jest łączna kwota VAT w walucie rozliczenia (BT-111). Reguła sprawdza, czy atrybut currencyID każdego cbc:Amount, cbc:BaseAmount, cbc:PriceAmount, cbc:TaxAmount, cbc:TaxableAmount, cbc:LineExtensionAmount i wszystkich kwot w cac:LegalMonetaryTotal jest równy cbc:DocumentCurrencyCode. Uruchamia się, gdy szablon ma na sztywno zapisane currencyID="EUR", a waluta dokumentu jest inna, lub gdy na fakturze w walucie obcej ceny są eksportowane w walucie dostawcy.
Jak to naprawić
Generuj każde currencyID z wartości cbc:DocumentCurrencyCode zamiast wpisywać je na sztywno. W fakturze w walucie obcej przelicz wszystkie ceny i kwoty na tę walutę przed eksportem. Jeśli używasz BT-6, zachowaj dokładnie jeden cac:TaxTotal bez podsumowań cząstkowych w walucie rozliczenia; wszystkie pozostałe kwoty, w tym ceny pozycji, pozostają w walucie dokumentu. Reguła dotyczy wyłącznie UBL.
Przykład (poprawny)
<cbc:DocumentCurrencyCode>SEK</cbc:DocumentCurrencyCode>
...
<cbc:LineExtensionAmount currencyID="SEK">1000.00</cbc:LineExtensionAmount>
<cbc:PriceAmount currencyID="SEK">500.00</cbc:PriceAmount>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cac:TaxTotal[cac:TaxSubtotal]/cbc:TaxAmount | cac:TaxSubtotal/cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmountTest (XPath):
@currencyID = $documentCurrencyCode
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-R051?
PEPPOL-EN16931-R051 to reguła peppol bis billing 3.0: All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
Czy moja faktura zostanie odrzucona z powodu PEPPOL-EN16931-R051?
Tak. PEPPOL-EN16931-R051 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy PEPPOL-EN16931-R051?
Faktury i noty kredytowe przesyłane siecią Peppol (UBL) oraz, ponieważ XRechnung zawiera reguły Peppol, każda XRechnung. Składnia: UBL.
Źródło: Peppol BIS Billing 3.0.20 (November 2025). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.