[Django]-Schema validation failed; XML does not comply with UBL 2.1 standards in line with ZATCA specifications


UBL specifications that aren’t met generally fall into two categories:

  1. An Attribute is required but you are not providing it.
  2. The order of the attributes inside the element is wrong.

To solve your problem, you should inspect each element of your XML against the UBL Schema specification and find required attributes that you’re not providing or attributes out of order..

  • Go to this site that lists the UBL Specifications:

  • In the search box at the top, enter the name of the element followed by the word "Type" (e.g.: Invoice –> search for InvoiceType

enter image description here

  • In the element specifications, find each attribute that its relationship starts with [1 .. this attribute is mandatory, make sure you provide a value for it.
    enter image description here
  • Check the order of the attribute and make sure they are added in the correct order.
    enter image description here

Doing that will ensure that all your elements are compliant to the UBL specifications.


There are many problems in : https://sandbox.zatca.gov.sa/
As the results in coding and sharing the invoice have many errors Zakat has been warned over and over again


Leave a comment