BG-25Invoice line
Oficjalna treść reguły
[BR-16] An Invoice shall have at least one Invoice line (BG-25)
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Reguła wymaga co najmniej jednego elementu cac:InvoiceLine lub cac:CreditNoteLine w UBL albo jednego ram:IncludedSupplyChainTradeLineItem w CII. Faktura bez pozycji nie daje podstawy do zestawienia VAT i sum, a norma nie dopuszcza dokumentów zawierających wyłącznie nagłówek. Dzieje się tak zwykle, gdy oprogramowanie eksportuje tylko sumy (np. dla ryczałtu lub zaliczki) albo gdy mapowanie pozycji zostaje odfiltrowane.
Jak to naprawić
Dodaj co najmniej jedną pozycję. W UBL minimalny cac:InvoiceLine wymaga cbc:ID, cbc:InvoicedQuantity z unitCode, cbc:LineExtensionAmount z currencyID, cac:Item z cbc:Name i cac:ClassifiedTaxCategory oraz cac:Price/cbc:PriceAmount. W CII ram:IncludedSupplyChainTradeLineItem wymaga ram:AssociatedDocumentLineDocument/ram:LineID, ram:SpecifiedTradeProduct/ram:Name, ram:SpecifiedLineTradeAgreement/ram:NetPriceProductTradePrice/ram:ChargeAmount, ram:SpecifiedLineTradeDelivery/ram:BilledQuantity oraz ram:SpecifiedLineTradeSettlement z ram:ApplicableTradeTax i ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount. W przypadku ryczałtu utwórz jedną pozycję z ilością 1.
Przykład (poprawny)
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cac:Item><cbc:Name>Consulting</cbc:Name><cac:ClassifiedTaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:ClassifiedTaxCategory></cac:Item>
<cac:Price><cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount></cac:Price>
</cac:InvoiceLine>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
/ubl:Invoice | /cn:CreditNoteTest (XPath):
exists(cac:InvoiceLine) or exists(cac:CreditNoteLine)CII
/rsm:CrossIndustryInvoiceTest (XPath):
//ram:IncludedSupplyChainTradeLineItem
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
BR-21Każda pozycja faktury musi mieć identyfikator pozycjiBR-22Każda pozycja faktury musi mieć zafakturowaną ilośćBR-23Pozycja faktury musi mieć kod jednostki miary zafakturowanej ilościBR-24Każda pozycja faktury musi mieć kwotę netto pozycjiBR-25Każda pozycja faktury musi zawierać nazwę towaru lub usługiBR-26Każda pozycja faktury musi zawierać cenę netto towaru lub usługiBR-AE-01Faktura zawierająca pozycję faktury, rabat na poziomie dokumentu lub…BR-AE-02Faktura zawierająca pozycję, w której kod kategorii VAT towaru lub usługi to…
Najczęstsze pytania
Co oznacza BR-16?
BR-16 to reguła podstawowa en 16931: An Invoice shall have at least one Invoice line (BG-25)
Czy moja faktura zostanie odrzucona z powodu BR-16?
Tak. BR-16 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-16?
Każda faktura EN 16931: XRechnung, ZUGFeRD 2.x / Factur-X (profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 oraz krajowe CIUS. Składnia: UBL i CII.
Źródło: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.