<< 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()
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) |
|
Error with the default or python plugin
(Python plugin must be installed from the setup) |
|
Mustang XML Check
(Java Mustang plugin must be installed from the setup) |
A simple <FACTUR-X,FILE=...,CHECK> tag can be used to check the conformity of a Factur-X XML file in a graphical mode..