XSD OASIS · 2.1

UBL 2.1 Invoice

The Universal Business Language invoice: the syntax behind Peppol BIS Billing 3.0 and one of the two syntaxes of the European e-invoicing standard EN 16931.

About

UBL 2.1 is the OASIS standard library of business documents; it was published as ISO/IEC 19845. The Invoice document is what Peppol BIS Billing 3.0, XRechnung (UBL flavour) and many national e-invoicing mandates exchange.

The schema checks structure and data types: which elements exist, in what order, and what they may contain.

Good to know

  • This entry checks the schema only. EN 16931, Peppol BIS and XRechnung add business rules (mandatory fields, code lists, calculations) in Schematron; to check those as well, choose the EN 16931, Peppol BIS 3.0 or XRechnung entry.

Files

14 files · 2.7 MB
  • maindoc/UBL-Invoice-2.1.xsd main
    58.8 KB View Download
  • common/UBL-CommonAggregateComponents-2.1.xsd
    2.3 MB View Download
  • common/UBL-CommonBasicComponents-2.1.xsd
    214.7 KB View Download
  • common/UBL-CommonExtensionComponents-2.1.xsd
    9.3 KB View Download
  • common/UBL-QualifiedDataTypes-2.1.xsd
    3.5 KB View Download
  • common/UBL-UnqualifiedDataTypes-2.1.xsd
    26.7 KB View Download
  • common/UBL-ExtensionContentDataType-2.1.xsd
    4.2 KB View Download
  • common/CCTS_CCT_SchemaModule-2.1.xsd
    44.2 KB View Download
  • common/UBL-CommonSignatureComponents-2.1.xsd
    5.4 KB View Download
  • common/UBL-SignatureAggregateComponents-2.1.xsd
    7.6 KB View Download
  • common/UBL-SignatureBasicComponents-2.1.xsd
    4.1 KB View Download
  • common/UBL-xmldsig-core-schema-2.1.xsd
    10.5 KB View Download
  • common/UBL-XAdESv132-2.1.xsd
    21.2 KB View Download
  • common/UBL-XAdESv141-2.1.xsd
    1.3 KB View Download

The validator loads all of these with their folder structure, so includes and imports resolve as published.

Example document

UBL-Invoice-2.1-Example.xml · 19.2 KB · valid against this schema

In CI and from code

The same schema by its name, ubl-2.1-invoice, through the API.

npx @xmlvalid/cli validate "**/*.xml" --schema ubl-2.1-invoice
- uses: xmlvalid/validate-action@v1
  with:
    files: "**/*.xml"
    schema: ubl-2.1-invoice
    api-key: ${{ secrets.XMLVALID_API_KEY }}
curl https://xmlvalid.com/api/v1/validations \
  -H "Authorization: Bearer $XMLVALID_API_KEY" \
  -F document={{ $schema->example ?? 'document.xml' }} -F schema=ubl-2.1-invoice

Free accounts get 100 API validations a month. On Pro, a URL monitor can check a published document against this schema every hour and email you when it breaks. More CI setups