SendLabel.de
Free, no login requiredCheck an e-invoice (XRechnung / ZUGFeRD)
Upload a PDF/A-3 hybrid invoice or a plain XML file. The check covers the mandatory fields and amount relationships that most often cause rejections under XRechnung 3.0.
Drop a file here or choose one
Supports PDF/A-3 hybrid invoices with an embedded xrechnung.xml, plus standalone CII or UBL XML files. Maximum 8 MB.
Choose file
Invoices that pass this check
SendLabel issues every invoice as ZUGFeRD 2.5.2 (PDF/A-3) with embedded XRechnung 3.0.2 — including BuyerReference, seller contact and totals that match to the cent. After signing up, both PDF and XML are available in the invoice centre.
What is checked
The check focuses on the fields that in practice most often lead to rejections by customers, Peppol access points or tax advisors.
- Document type (BT-3), invoice number (BT-1), issue date (BT-2), currency (BT-5), due date (BT-9)
- Guideline identifier (BT-24) and business process (BT-23, PEPPOL-EN16931-R001)
- Seller and buyer with complete address (BG-4, BG-7), seller VAT ID (BT-31)
- BuyerReference / Leitweg-ID (BT-10, BR-DE-15) and seller contact (BG-6, BR-DE-2)
- Line items (BG-25), VAT breakdown (BG-23) and the totals for lines, tax and payable amount
Your file stays with us
The uploaded file is processed in memory for this check only. It is not stored, not shared and not used for marketing.
FAQ
How is this different from KoSIT or Peppol validation?
This tool checks the mandatory fields and amount relationships that most frequently cause rejections. It does not replace a full KoSIT XSD/Schematron validation or a Peppol validation.
Why is my PDF rejected because no XML was found?
Scanned or graphic-only PDFs contain no structured data. A PDF/A-3 hybrid document with an embedded xrechnung.xml or factur-x.xml is required.
What does the BT-10 / BuyerReference message mean?
The BuyerReference (or Leitweg-ID) must be provided by the buyer. Without it, invoices usually cannot be matched automatically.
Is my data stored?
No. The file is processed only for the running check and is not persisted.