diff --git a/library/src/main/java/org/mustangproject/BankDetails.java b/library/src/main/java/org/mustangproject/BankDetails.java index a16976f3..773c12b3 100644 --- a/library/src/main/java/org/mustangproject/BankDetails.java +++ b/library/src/main/java/org/mustangproject/BankDetails.java @@ -23,6 +23,14 @@ public class BankDetails implements IZUGFeRDTradeSettlementPayment { * the "name" of the bank account (holder) */ protected String accountName = null; + /** + * payment means code + */ + protected String paymentMeansCode = "58"; + /** + * payment means information + */ + protected String paymentMeansInformation = "SEPA credit transfer"; /*** * bean constructor @@ -123,5 +131,31 @@ public class BankDetails implements IZUGFeRDTradeSettlementPayment { return accountName; } + /** + * set payment means code + * + * @param paymentMeansCode the payment means code + * @return fluent setter + */ + public BankDetails setPaymentMeansCode(String paymentMeansCode) { + this.paymentMeansCode = paymentMeansCode; + return this; + } + @Override + public String getPaymentMeansCode() { return paymentMeansCode; } + + /** + * set payment means information + * + * @param paymentMeansInformation the payment mean information + * @return fluent setter + */ + public BankDetails setPaymentMeansInformation(String paymentMeansInformation) { + this.paymentMeansInformation = paymentMeansInformation; + return this; + } + + @Override + public String getPaymentMeansInformation() { return paymentMeansInformation; } } diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDTradeSettlementPayment.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDTradeSettlementPayment.java index 9731a9a5..4edb6cb0 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDTradeSettlementPayment.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDTradeSettlementPayment.java @@ -59,6 +59,16 @@ public interface IZUGFeRDTradeSettlementPayment extends IZUGFeRDTradeSettlement */ default String getAccountName() { return null; } + /*** + * @return payment means code (BT-81 / UNTDID 4461) + */ + default String getPaymentMeansCode() { return null; }; + + /*** + * @return payment means description (BT-82) (optional) + */ + default String getPaymentMeansInformation() { return null; }; + @Override @JsonIgnore @@ -70,12 +80,14 @@ public interface IZUGFeRDTradeSettlementPayment extends IZUGFeRDTradeSettlement } String xml = "" - + "58" - + "SEPA credit transfer" - + "" - + "" + XMLTools.encodeXML(getOwnIBAN()) + ""; - xml+= accountNameStr; - xml+= ""; + + "" + XMLTools.encodeXML(getPaymentMeansCode()) + "" + + "" + XMLTools.encodeXML(getPaymentMeansInformation()) + ""; + if (getOwnIBAN() != null) { + xml += "" + + "" + XMLTools.encodeXML(getOwnIBAN()) + "" + + accountNameStr + + ""; + } if (getOwnBIC()!=null) { xml+= "" + "" + XMLTools.encodeXML(getOwnBIC()) + "" diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 523e27ad..af8674fc 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -880,7 +880,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { final String chargesTotalLine = "" + currencyFormat(calc.getChargesForPercent(null)) + ""; xml += ""; - if ((getProfile() != Profiles.getByName("Minimum")) && (getProfile() != Profiles.getByName("BASICWL"))) { + if ((getProfile() != Profiles.getByName("Minimum"))) { xml += "" + currencyFormat(calc.getTotal()) + ""; xml += chargesTotalLine + allowanceTotalLine;