Tools and guides in English
Start from your document
Use this directory to choose a task by its purpose. The browser tools check XML syntax, validate against an XSD or format a document so that its structure is easier to inspect. An invoice has additional requirements beyond a well-formed XML tree. For country-specific checks, follow the country overview and identify the profile your recipient expects before selecting a validation package.
Understand the message before changing data
A reported line number identifies the context where the parser or rule engine noticed a problem. The original mistake may sit earlier in the file, such as an unclosed element, a wrong namespace or a missing parent. Open the linked guide and compare its minimal example with your exported data. Work on a copy and regenerate the document from the source system after correcting a mapping.
Choose how documents are processed
The workbench’s default syntax, formatting and XSD 1.0 checks run in your browser. Optional server checks require permission before sending input. Country validators explain their processing scope on the tool page. Cloud storage and batches have separate account limits, and the pricing page describes existing plans. Neither a paid account nor a passing technical report supplies government submission, tax certification or Peppol exchange.
A complete English directory
The list below includes the published English pages and retained diagnostic pages, grouped by task. Links to other languages lead to their own directories; a translated explanation is not automatically available for every rule. Use the compact language navigation to open an equivalent when one exists, or to choose a new task in that language.
E-invoicing by country
All pages in English
- Check XML & XSD free — Start with an example
- Hi, I'm Daniel Haket
- Connect your assistant — Keep the source in view
- Croatian e-invoice rules and errors
- Croatian e-invoice validator
- XML validation API & CLI
- EN 16931 and XRechnung rule library
- BR-01: Specification identifier is required
- BR-04: Invoice type code is required
- BR-05: Invoice currency code is required
- BR-06: Seller name is required
- BR-07: Buyer name is required
- BR-08: Seller postal address is required
- BR-09: Seller address needs a country code
- BR-21: Each invoice line needs an identifier
- BR-22: Each invoice line needs a quantity
- BR-23: Quantity needs a unit of measure code
- BR-24: Each invoice line needs a net amount
- BR-25: Each invoice line needs an item name
- BR-26: Each invoice line needs a net price
- BR-27: Item net price cannot be negative
- BR-47: VAT breakdown needs a category code
- BR-48: VAT breakdown needs its rate
- BR-50: Credit transfer needs a payment account
- BR-61: Bank transfer needs a payment account
- BR-AE-01: Reverse charge needs a VAT breakdown
- BR-AE-02: Reverse charge needs a buyer tax identifier
- BR-AE-05: Reverse charge lines need a zero VAT rate
- BR-CL-01: Invoice type must use an accepted code
- BR-CL-04: Currency must use an ISO currency code
- BR-CL-14: Country must use an ISO country code
- BR-CL-18: VAT category must use an accepted code
- BR-CO-04: Each line needs a VAT category code
- BR-CO-10: Line net total must equal the sum of lines
- BR-CO-13: Net invoice total must reconcile
- BR-CO-14: Invoice VAT total must sum the VAT breakdown
- BR-CO-15: Gross total must equal net total plus VAT
- BR-CO-16: Amount due must reconcile with gross total
- BR-CO-17: VAT amount must equal taxable base times rate
- BR-DE-15: Buyer reference is required
- BR-DE-16: German invoice needs seller tax identification
- BR-DE-17: German profile restricts invoice type codes
- BR-DE-19: SEPA payment account must be a valid IBAN
- BR-DE-2: Seller contact group is required
- BR-DE-21: Specification ID must identify XRechnung
- BR-DE-27: Seller telephone needs at least three digits
- BR-DE-28: Seller email must have a valid structure
- BR-DE-3: Seller city is required
- BR-DE-6: Seller contact telephone is required
- BR-DE-7: Seller contact email is required
- BR-DE-TMP-32: Supply a delivery date or invoicing period
- BR-E-01: Exempt lines need a matching VAT breakdown
- BR-E-05: Exempt lines need a zero VAT rate
- BR-O-01: Outside-scope VAT needs a breakdown
- BR-O-02: Outside-scope VAT forbids tax identifiers
- BR-O-05: Outside-scope lines must omit the VAT rate
- BR-S-01: Standard-rated lines need a VAT breakdown
- BR-S-02: Standard VAT needs a seller tax identifier
- BR-S-05: Standard-rated lines need a positive VAT rate
- BR-S-08: Standard VAT taxable base must match the lines
- BR-S-09: Standard VAT amount must match base and rate
- BR-Z-01: Zero-rated lines need a matching VAT breakdown
- BR-Z-05: Zero-rated lines need a zero VAT rate
- PEPPOL-EN16931-R001: Business process is required
- PEPPOL-EN16931-R008: Empty XML elements are forbidden
- PEPPOL-EN16931-R120: Line net amount must reconcile
- UBL-SR-48: Each line needs exactly one VAT category
- E-invoice validator for EN 16931 and XRechnung
- E-invoicing by country
- Croatia · HR-CIUS: e-invoice formats and rules
- EU · EN 16931: e-invoice formats and rules
- France · Factur-X: e-invoice formats and rules
- Germany · XRechnung: e-invoice formats and rules
- Poland · KSeF FA(3): e-invoice formats and rules
- Romania · RO e-Factura: e-invoice formats and rules
- Factur-X profiles and validation errors
- CII-DT-097: Invalid CII date with format 102
- FX-SCH-A-000555: Document type rejected by Factur-X
- FX-SCH-A-000595: Invoice currency rejected by Factur-X
- Factur-X validator: PDF, XML and profiles
- KSeF FA(3) XSD rules and errors
- KSeF FA(3) validator
- Understand the error — Fix the source
- EN 16931 invoice validation: UBL and CII
- Fix XML validation errors at the right layer
- How invoice rule guides are evidenced
- Migrating FA(2) to FA(3): the official XSD diff
- How to validate XML against XSD, step by step
- Content is not allowed in prolog: causes and fixes
- XML declaration allowed only at the start: fixes
- Document is empty: debug missing XML input
- Escape XML characters without double-encoding data
- Extra content at the end of the document: fix XML
- Invalid XML character: control codes and safe fixes
- Namespace prefix not defined: bind xmlns correctly
- Fix XML namespace mismatches without guessing
- Premature end of data: find and fix truncated XML
- Fix an XML opening and ending tag mismatch
- XML vs XSD: the difference between syntax and schema checks
- XRechnung validation: national rules and EN 16931
- Read XSD data-type errors with concrete examples
- Fix “This element is not expected” in XSD validation
- XSD facet errors: pattern, enumeration and range
- XSD identity constraint error: duplicate key fixes
- XSD import/include errors: resolve local dependencies
- Fix an invalid xs:date value in XML
- Use minOccurs and maxOccurs to control repetition
- xsi:nil and nillable errors: nil, empty or absent
- Required or invalid XML attribute: XSD fixes
- Choose between xs:sequence and xs:choice
- XPTY0004: XPath type error causes and tested fixes
- Less repetition — More momentum
- Privacy Policy
- Refund Policy
- RO e-Factura rules and errors
- RO e-Factura validator
- Maven POM validator: check pom — xml against XSD
- Sitemap XML validator: check urlset against XSD
- Terms of Service
- Format your XML — See the structure
- Validate XML online — Keep your data local
- Validate XML against XSD — Find the mismatch