Business plan: 14 days free
Free tools · Peppol XML checkYour file stays in your browser

Check a Peppol XML file before you send it

Drop in an e-invoice or credit note XML file. The check runs it against the EN 16931 and Peppol BIS Billing 3.0 rules and shows the common errors that get an invoice rejected, with the rule number and the fix next to every error. Nothing is uploaded: your browser reads the file.

Standard
EN 16931 · BIS Billing 3.0
Documents
Invoice · CreditNote
Checks
15 · 73 rules
File
never uploaded
XML fileup to 5 MB

No file to hand?

The file is not sent to a server. The check runs on this page.

Checks

What we check

Each row is one check in the result. The rule numbers come from EN 16931 and Peppol BIS Billing 3.0, so you can look each one up in the official documentation.

XML syntax

Whether the file is well-formed XML with no DOCTYPE declaration.XML 1.0

Document type

Whether the root element is a UBL 2.1 Invoice or CreditNote in the right namespace.UBL 2.1

Specification and process

Whether CustomizationID carries the Peppol BIS Billing 3.0 value and ProfileID has the right form.BR-01 · PEPPOL-EN16931-R001 · PEPPOL-EN16931-R004 · PEPPOL-EN16931-R007

Number, dates, type code

Invoice number, issue date, due date format and a document type code from the Peppol list.BR-02 · BR-03 · BR-04 · PEPPOL-EN16931-P0100

Currency

The currency code, and whether every amount is in the document currency.BR-05 · PEPPOL-EN16931-R051

Buyer reference

Whether there is a buyer reference or an order number.PEPPOL-EN16931-R003

Seller

Electronic address with a valid EAS code, legal name, address and country.BR-06 · BR-08 · BR-09 · BR-62 · PEPPOL-EN16931-R020

Buyer

The same for the buyer: electronic address, name, address, country.BR-07 · BR-10 · BR-11 · BR-63 · PEPPOL-EN16931-R010

VAT numbers

Whether VAT numbers are present where the VAT category needs them, absent where it forbids them, and start with a country code.BR-CO-09 · BR-S-02 · BR-Z-02 · BR-E-02 · BR-AE-02 · BR-IC-02 · BR-G-02 · BR-O-02

Invoice lines

Each line's number, quantity with unit, amount, name, price, and VAT category with a matching rate.BR-16 · BR-21 · BR-22 · BR-23 · BR-24 · BR-25 · BR-26 · BR-27 · BR-CO-04 · BR-S-05 · BR-Z-05 · BR-E-05 · BR-O-05

Line amounts

Whether each line's amount is quantity times price, with the line's allowances and charges.PEPPOL-EN16931-R120

VAT breakdown

Each VAT breakdown's taxable amount, VAT, category, rate, and an exemption reason for the 0% categories.BR-CO-18 · BR-45 · BR-46 · BR-47 · BR-48 · BR-CO-17 · BR-E-10 · BR-AE-10 · BR-IC-10 · BR-G-10 · BR-O-10

VAT totals

Whether the VAT total is the sum of the breakdowns and each category's taxable amount matches its lines.BR-CO-14 · BR-S-08 · BR-Z-08 · BR-E-08 · BR-AE-08 · BR-IC-08 · BR-G-08 · BR-O-08

Document totals

Line total, allowances, charges, total without VAT, total with VAT and amount due.BR-12 · BR-13 · BR-14 · BR-15 · BR-CO-10 · BR-CO-11 · BR-CO-12 · BR-CO-13 · BR-CO-15 · BR-CO-16

Payment due date

Whether an invoice with an amount due has a due date or payment terms.BR-CO-25
Errors

The errors that most often get an invoice rejected

No electronic address

Peppol delivers an invoice by the seller's and buyer's EndpointID. Without it, or without a schemeID, the invoice goes nowhere. A Latvian company uses its registration number with schemeID="0218". Rules PEPPOL-EN16931-R010 and R020.

No buyer reference

The invoice needs a BuyerReference or an order number. The buyer uses it to route the invoice to whoever approves it, so it is worth asking for before you invoice. Rule PEPPOL-EN16931-R003.

An old CustomizationID

Software written before Peppol BIS 3.0 writes only urn:cen.eu:en16931:2017. The Peppol network requires the full value ending #compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0. Rule PEPPOL-EN16931-R004.

A 0% rate with no exemption reason

If a line uses category E, AE, K, G or O, the VAT breakdown must say why no VAT is charged, such as reverse charge or the article of the VAT law. Category Z (zero-rated) needs no reason. Rules BR-E-10, BR-AE-10, BR-IC-10, BR-G-10, BR-O-10.

A line amount that is not quantity × price

A line's amount must be quantity times price, plus line charges, less line allowances, to within 2 cents. The usual cause is a discount folded into the amount but not stated as an AllowanceCharge. Rule PEPPOL-EN16931-R120.

A VAT breakdown that does not match the lines

Each category and rate's taxable amount must be the sum of its lines, and the VAT total must be the sum of the breakdowns. It usually goes wrong when VAT is rounded per line but the total is taken from unrounded values. Rules BR-CO-14, BR-CO-17 and BR-S-08.

No seller VAT number

Categories S, Z, E, AE, K and G need the seller's VAT number with a country prefix, such as LV40003000001. If you are not VAT-registered, lines normally use category O, and then no VAT number is given. Rules BR-S-02 and BR-O-02.
Limits

What this check does not do

It does not validate the XML schema or every one of the several hundred Schematron rules: the access point or system the invoice is sent through does that. It does not check whether the buyer is registered on the Peppol network. And it sends nothing: the file stays on your computer, and erekini.eu is not a Peppol access point.

Questions

Frequently asked questions

Is my file uploaded anywhere?

No. Your browser reads and checks the file, and it is not sent to our server or anywhere else. If you ask for a summary by email after the check, all we receive is the names of the checks and their results, never the file or its contents.

Do I need an account to use it?

No. The check is free, needs no account and has no limit on how many files you check.

What does it mean if every check passes?

That the file has none of the errors that most often get Peppol invoices rejected. It is not the full official validation: the access point or system the invoice is sent through checks every EN 16931 and Peppol Schematron rule and the XML schema. So passing here does not guarantee the invoice will be accepted, but the most common reasons for rejection will have been ruled out.

Which files can I check?

UBL 2.1 invoices (Invoice) and credit notes (CreditNote) under Peppol BIS Billing 3.0, up to 5 MB. Other formats, such as CII XML or a PDF with embedded XML, are not read by this check.

What should I do if the check finds errors?

Each error shows the rule number, the value we found in the file and what was expected. If the file is produced by your accounting or invoicing software, send the list to its support team: the error is in the software, not in your invoice. Check the file again once it is fixed.

Can erekini.eu create the e-invoice XML?

Yes. For every issued invoice erekini.eu creates an EN 16931 and Peppol BIS Billing 3.0 XML file on every plan, the free plan included. You download the file and send it yourself, for instance to a public body through your eAddress: erekini.eu is not a Peppol access point and does not send invoices over the network.
Start

If you write the XML by hand, let software do it

erekini.eu creates an EN 16931 and Peppol BIS Billing 3.0 XML file for every issued invoice on every plan, the free plan included. The free plan has 5 invoices a month and needs no card.