Skip to main content
Question

UBL 2.1 Header not complient with France

  • June 10, 2026
  • 1 reply
  • 19 views

Forum|alt.badge.img+7

Hello, 

We are trying to create a valid UBL xml file, but the header of IFS is not right. We use

https://einvoicevalidator.com/

The IFS standard output contains urn:ifs:Invoice:1.0

<Invoice xmlns="urn:ifs:Invoice:1.0" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:ifs:CommonAggregateComponents:1.0" xmlns:iue="urn:ifs:ExtensionComponent:1.0" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">

The French UBL should have this form:  it only contains urn:oasis:

<Invoice 
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">

 

So how can we change this value in UBL 2.1 generation

 

The error message:

Element '{urn:ifs:Invoice:1.0}Invoice': No matching global declaration available for the validation root.

means that the XML validator cannot find a matching global element declaration for the <Invoice> root element in the specified namespace urn:ifs:Invoice:1.0 within the XSD schema(s) used for validation.
 

Explanation and context

  • The XML root element is declared with the namespace urn:ifs:Invoice:1.0, like this:

    <Invoice xmlns="urn:ifs:Invoice:1.0" ... >

  • But the validator attempts to validate the "Invoice" element according to a schema that defines "Invoice" in another namespace (commonly, in UBL 2.1, the expected Invoice namespace is urn:oasis:names:specification:ubl:schema:xsd:Invoice-2).
  • Since your XML uses a custom or different namespace (urn:ifs:Invoice:1.0), the validator can't find the XSD schema that declares an <Invoice> element in that namespace.
  • Therefore, it reports no matching global declaration available for the root element.

What might cause this?

  1. Namespace mismatch: Your XML uses a custom or proprietary namespace (urn:ifs:Invoice:1.0) instead of the standard UBL 2.1 namespace for Invoice documents.
  2. Missing or wrong schema: The schema file(s) you use for validation do not include declarations for "urn:ifs:Invoice:1.0" namespace or the corresponding Invoice element.
  3. Incorrect schema references: You might be validating with the UBL 2.1 schemas but your XML file uses a different namespace and therefore does not match.

How to fix or investigate further?

  • Confirm the standard to use:
    If your invoice XML is intended to be UBL 2.1, the root element should use the namespace:

    xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"

  • Use the correct schemas:
    Make sure you validate your XML against the schema(s) matching the namespace you declare.
  • If you use a custom or IFS namespace (like urn:ifs:Invoice:1.0):
    You need the corresponding XSD schemas that define the elements for that namespace.
  • Check schema association in your validator:
    The schema locations or XML schema hints must point to the correct XSD documents that define Invoice in urn:ifs:Invoice:1.0.

Summary

  • The error means the validator does not recognize the custom namespace urn:ifs:Invoice:1.0 for the <Invoice> root element.
  • Use the correct namespace and schemas matching your XML, or provide the custom IFS schemas if using a proprietary format.
  • For UBL 2.1 invoicing, the namespace should be urn:oasis:names:specification:ubl:schema:xsd:Invoice-2.

We manually modified the XML File by replacing the above and the result :
 

Étapes de validation :

Structure XML:✓ Valide

Schéma XSD UBL 2.1:✓ Valide

 

But we still have errors for the content:
 

Mention légale #PMT# manquante (conditions de paiement)

BR-FR-05

Mention légale #PMD# manquante (pénalités de retard)

BR-FR-05

Mention légale #AAB# manquante (escompte)

BR-FR-05

1 reply

Forum|alt.badge.img+7
  • Author
  • Sidekick (Customer)
  • June 12, 2026

Hello, 

We are trying to create a valid UBL xml file, but the header of IFS is not right. We use

https://einvoicevalidator.com/

The IFS standard output contains urn:ifs:Invoice:1.0

<Invoice xmlns="urn:ifs:Invoice:1.0" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:ifs:CommonAggregateComponents:1.0" xmlns:iue="urn:ifs:ExtensionComponent:1.0" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">

The French UBL should have this form:  it only contains urn:oasis:

<Invoice 
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">

 

So how can we change this value in UBL 2.1 generation

 

The error message:

Element '{urn:ifs:Invoice:1.0}Invoice': No matching global declaration available for the validation root.

means that the XML validator cannot find a matching global element declaration for the <Invoice> root element in the specified namespace urn:ifs:Invoice:1.0 within the XSD schema(s) used for validation.
 

Explanation and context

  • The XML root element is declared with the namespace urn:ifs:Invoice:1.0, like this:

    <Invoice xmlns="urn:ifs:Invoice:1.0" ... >

  • But the validator attempts to validate the "Invoice" element according to a schema that defines "Invoice" in another namespace (commonly, in UBL 2.1, the expected Invoice namespace is urn:oasis:names:specification:ubl:schema:xsd:Invoice-2).
  • Since your XML uses a custom or different namespace (urn:ifs:Invoice:1.0), the validator can't find the XSD schema that declares an <Invoice> element in that namespace.
  • Therefore, it reports no matching global declaration available for the root element.

What might cause this?

  1. Namespace mismatch: Your XML uses a custom or proprietary namespace (urn:ifs:Invoice:1.0) instead of the standard UBL 2.1 namespace for Invoice documents.
  2. Missing or wrong schema: The schema file(s) you use for validation do not include declarations for "urn:ifs:Invoice:1.0" namespace or the corresponding Invoice element.
  3. Incorrect schema references: You might be validating with the UBL 2.1 schemas but your XML file uses a different namespace and therefore does not match.

How to fix or investigate further?

  • Confirm the standard to use:
    If your invoice XML is intended to be UBL 2.1, the root element should use the namespace:

    xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"

  • Use the correct schemas:
    Make sure you validate your XML against the schema(s) matching the namespace you declare.
  • If you use a custom or IFS namespace (like urn:ifs:Invoice:1.0):
    You need the corresponding XSD schemas that define the elements for that namespace.
  • Check schema association in your validator:
    The schema locations or XML schema hints must point to the correct XSD documents that define Invoice in urn:ifs:Invoice:1.0.

Summary

  • The error means the validator does not recognize the custom namespace urn:ifs:Invoice:1.0 for the <Invoice> root element.
  • Use the correct namespace and schemas matching your XML, or provide the custom IFS schemas if using a proprietary format.
  • For UBL 2.1 invoicing, the namespace should be urn:oasis:names:specification:ubl:schema:xsd:Invoice-2.

We manually modified the XML File by replacing the above and the result :
 

Étapes de validation :

Structure XML:✓ Valide

Schéma XSD UBL 2.1:✓ Valide

 

But we still have errors for the content:
 

Mention légale #PMT# manquante (conditions de paiement)

BR-FR-05

Mention légale #PMD# manquante (pénalités de retard)

BR-FR-05

Mention légale #AAB# manquante (escompte)

BR-FR-05

it seems to be solved in 25R2SU07