XML File

<< Click to Display Table of Contents >>

Navigation:  Factur-X and ZUGFeRD >

XML File

vpxPrint XML Factur-X file

 

We supply:

i.a BASIC XML file "Factur-x_BASIC.xml".

ii.a PROGRESS include "Factur-X.i" to facilitate creation of the file factur-x.xml with your data.

iii.a powerful graphical interface for debugging XML files with the CHECK tag option

 

 

Factur-x_BASIC.xml

We provide this file as a xml template for easily creating your own xml files.

It contains sections and lines.

 

Lines beginning with <!-- at column 1 start a new section.
In the file that we provide, 3 sections are defined: header, detail and footer. You can rename them and/or define your own sections.
 

Within standard lines, keywords can be inserted, they are delimited by %:

%keyword [=default_value] %
 

Lines of sections can be ignored with $IFDEF..$ELSE...$END. These tags must be the first tags in a line.
Example:

$IFDEF BuyerTaxRegistration

       <ram:SpecifiedTaxRegistration>

                                         <ram:ID schemeID="VA">%BuyerTaxRegistration%</ram:ID>

       </ram:SpecifiedTaxRegistration>

$ELSE

....

$ENDIF

 

Format:

<!--header-->

<?xml version='1.0' encoding='UTF-8'?>

<rsm:CrossIndustryInvoice xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <rsm:ExchangedDocumentContext>

   <ram:GuidelineSpecifiedDocumentContextParameter>

     <ram:ID>urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic</ram:ID>

   </ram:GuidelineSpecifiedDocumentContextParameter>

 </rsm:ExchangedDocumentContext>

 <rsm:ExchangedDocument>

                                         <ram:ID>%ExchangedDocument%</ram:ID>

                                         <ram:TypeCode>%DocumentTypecode=380%</ram:TypeCode>

   <ram:IssueDateTime>

                                         <udt:DateTimeString format="102">%IssueDateTime%</udt:DateTimeString>

   </ram:IssueDateTime>

   <ram:IncludedNote>

                                         <ram:Content>%IncludedNote%</ram:Content>

   </ram:IncludedNote>

 </rsm:ExchangedDocument>

 <rsm:SupplyChainTradeTransaction>

 

<!--detail-->

<ram:IncludedSupplyChainTradeLineItem>      

<ram:AssociatedDocumentLineDocument>

                                         <ram:LineID>%LineID%</ram:LineID>

 </ram:AssociatedDocumentLineDocument>

 <ram:SpecifiedTradeProduct>

                                         <ram:GlobalID schemeID="0160">%LineProductID%</ram:GlobalID>

                                         <ram:Name>%LineProductName%</ram:Name>

 </ram:SpecifiedTradeProduct>

 <ram:SpecifiedLineTradeAgreement>

   <ram:NetPriceProductTradePrice>

                                         <ram:ChargeAmount>%LineChargeAmount%</ram:ChargeAmount>

   </ram:NetPriceProductTradePrice>

.... ....

<!--footer-->

  <ram:ApplicableHeaderTradeAgreement>

     <ram:SellerTradeParty>

                                         <ram:Name>%SellerName%</ram:Name>

       <ram:SpecifiedLegalOrganization>

                                         <ram:ID schemeID="0002">%SellerLegalOrganization%</ram:ID>        <!-- SIRET -->

       </ram:SpecifiedLegalOrganization>

       <ram:PostalTradeAddress>

                                         <ram:PostcodeCode>%SellerPostalCode%</ram:PostcodeCode>

                                         <ram:LineOne>%SellerLineOne%</ram:LineOne>

                                         <ram:LineTwo>%SellerLineTwo%</ram:LineTwo>

                                         <ram:CityName>%SellerCityName%</ram:CityName>

                                         <ram:CountryID>%SellerCountryID=FR%</ram:CountryID>                <!-- def country FR -->

       </ram:PostalTradeAddress>

...

 

Factur-x.i include file

This 4GL Progress include file allows to easily manage XML template files and data.

 

Four public fuctions:

logical        fxOpen( xml_template_File )                

logical        fxLoadSection( section_name )

string        fxProcess( keyword_values )                where keyword_values is a tab delimited string like "SellerName=4GL" + "~t" + "SellerCityName=Lyon".....                        

logical        fxClose()

 

Integrated XML file checking

Activated when an error occurs during creation of the Factur-X/ZUGFeRD file or the CHECK option:

 

 

 

 

 

 

 

Standard Python checking

 

(Python plugin must be installed from the setup)

fx_check

 

 

 

 

 

 

Error with the

default or python plugin

 

(Python plugin must be installed from the setup)

fx_python_error

 

 

 

 

 

 

Mustang XML Check

 

(Java Mustang plugin must be installed from the setup)

fx_mustang

 

about_24_h A simple <FACTUR-X,FILE=...,CHECK> tag can be used to check the conformity of a Factur-X XML file in a graphical mode..