diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 23a7b57e..242b3f2a 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -159,11 +159,21 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { } protected String getTradePartyAsXML(IZUGFeRDExportableTradeParty contact) { - String xml = " " + XMLTools.encodeXML(contact.getName()) + "\n" //$NON-NLS-2$ + String xml = ""; + // According EN16931 either GlobalID or seller assigned ID might be present for BuyerTradeParty + // and ShipToTradeParty, but not both. Prefer seller assigned ID for now. + if (contact.getID()!=null) { + xml += " " + XMLTools.encodeXML(contact.getID()) + "\n"; + } + else if ((contact.getGlobalIDScheme()!=null)&&(contact.getGlobalID()!=null)) { + xml = xml + " " + + XMLTools.encodeXML(contact.getGlobalID()) + "\n"; + } + xml += " " + XMLTools.encodeXML(contact.getName()) + "\n"; //$NON-NLS-2$ // + " \n" // + " xxx\n" // + " \n" - + " \n" + xml += " \n" + " " + XMLTools.encodeXML(contact.getZIP()) + "\n" + " " + XMLTools.encodeXML(contact.getStreet()) @@ -406,9 +416,6 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { + " \n" + " \n" + " \n"; - // + " GE2020211\n" - // + " 4000001987658\n" - xml+=getTradePartyAsXML(trans.getRecipient()); xml += " \n";