Skip to content

Validator and reader

Check an e-invoice

Paste the XML of an invoice or credit note in UBL, or choose a file. You get a plain-language explanation of each error, and the invoice as a person reads it.

Your invoice stays in your browser. It is not sent anywhere and not stored anywhere.

What we check

Each rule with its official code. Codes starting with FK-BE are Factuurklaar's own checks: they are not in the official set, but an error in them does make an invoice impossible to pay or to book.

Structure and required fields 14
  • ROOTThis is not a UBL invoice or credit note.
  • BR-01The invoice does not say which specification it follows (CustomizationID is missing). A Peppol invoice always states the Peppol BIS Billing 3.0 identifier.
  • PEPPOL-EN16931-R004The specification (CustomizationID) is not that of Peppol BIS Billing 3.0. Use the expected value exactly as given.
  • PEPPOL-EN16931-R001The business process (ProfileID) is missing. Peppol expects the billing profile billing:01:1.0.
  • PEPPOL-EN16931-R007The business process (ProfileID) is not the Peppol billing profile. Use the expected value exactly as given.
  • BR-02The invoice number (ID) is missing. Every invoice has a unique number.
  • BR-03The invoice date (IssueDate) is missing.
  • BR-04The document type (InvoiceTypeCode or CreditNoteTypeCode) is missing. A standard invoice is 380, a standard credit note 381.
  • PEPPOL-EN16931-P0100This document type code is not in the list that Peppol allows. A standard invoice is 380, a standard credit note 381.
  • BR-05The invoice currency (DocumentCurrencyCode) is missing. For euros: EUR.
  • BR-CL-04This currency code does not exist in the ISO 4217 list. For euros, write EUR.
  • PEPPOL-EN16931-R003Peppol requires a buyer reference (BuyerReference) or an order number (OrderReference). Include at least one, if need be the invoice number.
  • DATEThis date is not valid. Write dates as YYYY-MM-DD, e.g. 2026-10-02.
  • BR-CO-25There is an amount to pay, but no due date (DueDate) and no payment terms (PaymentTerms). Fill in one of the two.
Seller and buyer 7
  • BR-06The seller's name is missing (RegistrationName for the seller).
  • BR-07The buyer's name is missing (RegistrationName for the buyer).
  • BR-08The seller's address is missing (PostalAddress).
  • BR-09The seller's country is missing (Country/IdentificationCode). For Belgium: BE.
  • BR-10The buyer's address is missing (PostalAddress).
  • BR-11The buyer's country is missing (Country/IdentificationCode). For Belgium: BE.
  • BR-CL-14This country code does not exist in the ISO 3166 list. For Belgium, write BE.
Numbers and electronic addresses 10
  • PEPPOL-EN16931-R020The seller's electronic address (EndpointID) is missing. For a Belgian seller: the enterprise number with scheme 0208.
  • PEPPOL-EN16931-R010The buyer's electronic address (EndpointID) is missing. For a Belgian buyer: the enterprise number with scheme 0208.
  • BR-62The seller's electronic address has no scheme (schemeID). For a Belgian enterprise number, that is 0208.
  • BR-63The buyer's electronic address has no scheme (schemeID). For a Belgian enterprise number, that is 0208.
  • EASWe do not know this electronic address scheme. It may exist, but please check it: Belgian businesses use 0208.
  • PEPPOL-COMMON-R043This Belgian enterprise number does not have the right format: ten digits, the last two of which are the check digits. Check for a typo.
  • FK-BE-01With scheme 9925, Peppol expects the Belgian VAT number: BE followed by ten digits with correct check digits.
  • BR-CO-09A VAT number starts with the two-letter country code, e.g. BE0123456749.
  • FK-BE-02This Belgian VAT number has incorrect check digits. It is BE followed by the ten-digit enterprise number.
  • FK-BE-03The electronic address and the VAT number of this party point to different enterprise numbers. That can be correct (e.g. a VAT group), but please check it.
Invoice lines 9
  • BR-16The invoice has no invoice lines at all.
  • BR-21This invoice line has no number (ID).
  • BR-22This invoice line has no quantity (InvoicedQuantity or CreditedQuantity).
  • BR-23The quantity of this line has no unit (unitCode). For pieces: C62, for hours: HUR.
  • BR-24This invoice line has no net amount (LineExtensionAmount).
  • BR-25This invoice line has no description (Item/Name).
  • BR-26This invoice line has no unit price (Price/PriceAmount).
  • BR-27The unit price may not be negative. Use a credit note or a discount.
  • PEPPOL-EN16931-R120The net amount of this line is not quantity times price (divided by the base quantity), plus the line's surcharges and minus its discounts.
Totals 13
  • BR-12The sum of the lines (LineExtensionAmount) is missing from the totals.
  • BR-13The total excluding VAT (TaxExclusiveAmount) is missing from the totals.
  • BR-14The total including VAT (TaxInclusiveAmount) is missing from the totals.
  • BR-15The amount due (PayableAmount) is missing from the totals.
  • BR-CO-10The sum of the lines is not the sum of the net amounts of all invoice lines.
  • BR-CO-11The total of the document-level discounts is not the sum of the discounts.
  • BR-CO-12The total of the document-level surcharges is not the sum of the surcharges.
  • BR-CO-13The total excluding VAT is not the sum of the lines minus the discounts plus the surcharges.
  • BR-CO-14The total VAT amount is not the sum of the VAT amounts per category.
  • BR-CO-15The total including VAT is not the total excluding VAT plus the total VAT amount.
  • BR-CO-16The amount due is not the total including VAT minus the amount already paid plus the rounding.
  • BR-DECThis amount has more than two decimal places. Amounts on the invoice are rounded to the cent (unit prices may have more decimal places).
  • PEPPOL-EN16931-R051This amount is in a different currency from the invoice. All amounts use the document currency.
VAT 10
  • BR-CO-18The VAT breakdown (TaxTotal/TaxSubtotal) is missing. An invoice has at least one entry per VAT category and rate.
  • BR-CO-04Every invoice line and every VAT entry needs a VAT category code (S, Z, E, AE, K, G, O, L or M).
  • BR-CL-18This VAT category code does not exist. Allowed: S (standard rate), Z (0%), E (exempt), AE (reverse charge), K (intra-Community), G (export), O (outside the scope of VAT), L, M.
  • BR-x-01This VAT category and rate appear on a line or discount, but not in the VAT breakdown. Add a TaxSubtotal for them.
  • BR-x-05The VAT rate does not match the category: category S requires a rate above 0%, categories Z, E, AE, K and G require 0%.
  • BR-x-08The taxable amount of this VAT category is not the sum of the lines (plus surcharges, minus discounts) with that category and rate.
  • BR-CO-17The VAT amount of this category is not the taxable amount times the rate (rounded to the cent).
  • BR-x-10An exempt category (E, AE, K, G or O) needs an exemption reason (TaxExemptionReason or a VATEX code), e.g. 'Bijzondere vrijstellingsregeling kleine ondernemingen' (special exemption scheme for small businesses) or 'Verlegging van heffing' (reverse charge).
  • BR-S-02VAT is charged (category S), but the seller has no VAT number (PartyTaxScheme/CompanyID).
  • BR-AE-02With reverse charge (category AE), both the seller and the buyer need a VAT number.
Payment 4
  • BR-CL-16This payment means code (PaymentMeansCode) is not in the list. A standard credit transfer is 30, a SEPA credit transfer 58.
  • BR-61A credit transfer (code 30 or 58) requires the payee's account number (PayeeFinancialAccount/ID).
  • FK-BE-04This IBAN is not correct: the length or the check digits are wrong. A Belgian IBAN has sixteen characters, e.g. BE68 5390 0754 7034.
  • FK-BE-05This structured communication is not correct: the last two digits should be the remainder of the first ten digits divided by 97 (97 instead of 0).

What we do not check

  • The full official Schematron of Peppol BIS Billing 3.0 and EN 16931 (several hundred rules).
  • The XML schema (XSD) of UBL 2.1: the order of the elements, and elements we do not know.
  • Whether the business really exists and whether the enterprise number belongs to the name.
  • We only partly check attachments, percentage discounts per line and invoices in two currencies.

Reading comfort

Make the site easier to read. Your choice is kept on this device.

Text size

Prefer your device's own settings (zoom, screen reader, dark mode)? They work here too.