adding tenderreferenceddocument on line level
This commit is contained in:
@@ -625,11 +625,17 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
return tenderReferencedDocument;
|
return tenderReferencedDocument;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Item getTenderReferencedDocument(IReferencedDocument idr) {
|
public Item setTenderReferencedDocument(IReferencedDocument idr) {
|
||||||
tenderReferencedDocument=idr;
|
tenderReferencedDocument=idr;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Item setTenderReferencedDocument(String id) {
|
||||||
|
ReferencedDocument rd=new ReferencedDocument(id);
|
||||||
|
setTenderReferencedDocument(rd);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public IZUGFeRDExportableItem addNotes(Collection<IncludedNote> notes) {
|
public IZUGFeRDExportableItem addNotes(Collection<IncludedNote> notes) {
|
||||||
if (notes == null) {
|
if (notes == null) {
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ public class ReferencedDocument implements IReferencedDocument {
|
|||||||
String referenceTypeCode;
|
String referenceTypeCode;
|
||||||
Date formattedIssueDateTime;
|
Date formattedIssueDateTime;
|
||||||
|
|
||||||
|
public ReferencedDocument() {
|
||||||
|
//bean
|
||||||
|
}
|
||||||
|
|
||||||
public ReferencedDocument(String issuerAssignedID, String typeCode, String referenceTypeCode) {
|
public ReferencedDocument(String issuerAssignedID, String typeCode, String referenceTypeCode) {
|
||||||
this(issuerAssignedID);
|
this(issuerAssignedID);
|
||||||
this.typeCode = typeCode;
|
this.typeCode = typeCode;
|
||||||
|
|||||||
@@ -633,11 +633,11 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
|||||||
|
|
||||||
if(trans.getTenderReferencedDocument() != null){
|
if(trans.getTenderReferencedDocument() != null){
|
||||||
xml += "<ram:AdditionalReferencedDocument>"
|
xml += "<ram:AdditionalReferencedDocument>"
|
||||||
+ "<ram:IssuerAssignedID>" + XMLTools.encodeXML(trans.getTenderReferencedDocument().getID()) + "</ram:IssuerAssignedID>"
|
+ "<ram:IssuerAssignedID>" + XMLTools.encodeXML(trans.getTenderReferencedDocument().getIssuerAssignedID()) + "</ram:IssuerAssignedID>"
|
||||||
+ "<ram:TypeCode>" + 50 + "</ram:TypeCode>";
|
+ "<ram:TypeCode>" + 50 + "</ram:TypeCode>";
|
||||||
if (trans.getTenderReferencedDocument().getDate()!=null) {
|
if (trans.getTenderReferencedDocument().getFormattedIssueDateTime()!=null) {
|
||||||
final SimpleDateFormat dateFormat102 = new SimpleDateFormat("yyyyMMdd");
|
final SimpleDateFormat dateFormat102 = new SimpleDateFormat("yyyyMMdd");
|
||||||
xml += "<ram:FormattedIssueDateTime><qdt:DateTimeString format=\"102\">"+XMLTools.encodeXML(dateFormat102.format(trans.getTenderReferencedDocument().getDate()))+"</qdt:DateTimeString></ram:FormattedIssueDateTime>";
|
xml += "<ram:FormattedIssueDateTime><qdt:DateTimeString format=\"102\">"+XMLTools.encodeXML(dateFormat102.format(trans.getTenderReferencedDocument().getFormattedIssueDateTime()))+"</qdt:DateTimeString></ram:FormattedIssueDateTime>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -596,7 +596,9 @@ public class ZF2PushTest extends TestCase {
|
|||||||
try {
|
try {
|
||||||
SchemedID gtin = new SchemedID("0160", "2001015001325");
|
SchemedID gtin = new SchemedID("0160", "2001015001325");
|
||||||
SchemedID gln = new SchemedID("0088", "4304171000002");
|
SchemedID gln = new SchemedID("0088", "4304171000002");
|
||||||
DatedReference dr=new DatedReference("90-kl-98798-C", sdf.parse("2025-10-12"));
|
ReferencedDocument dr1=new ReferencedDocument("90-kl-98798-C", sdf.parse("2025-10-12"));
|
||||||
|
ReferencedDocument dr2=new ReferencedDocument("90-kl-98798-C1", sdf.parse("2025-10-13"));
|
||||||
|
dr2.setReferenceTypeCode("AAG");
|
||||||
ze.setTransaction(new Invoice().setCurrency("CHF").addNote("document level 1/2").addNote("document level 2/2").setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setPaymentReference("Verwendungszweck").setDocumentName("Rechnung")
|
ze.setTransaction(new Invoice().setCurrency("CHF").addNote("document level 1/2").addNote("document level 2/2").setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setPaymentReference("Verwendungszweck").setDocumentName("Rechnung")
|
||||||
.setSellerOrderReferencedDocumentID("9384").setBuyerOrderReferencedDocumentID("28934")
|
.setSellerOrderReferencedDocumentID("9384").setBuyerOrderReferencedDocumentID("28934")
|
||||||
.setDetailedDeliveryPeriod(new SimpleDateFormat("yyyyMMdd").parse(occurrenceFrom), new SimpleDateFormat("yyyyMMdd").parse(occurrenceTo))
|
.setDetailedDeliveryPeriod(new SimpleDateFormat("yyyyMMdd").parse(occurrenceFrom), new SimpleDateFormat("yyyyMMdd").parse(occurrenceTo))
|
||||||
@@ -605,11 +607,11 @@ public class ZF2PushTest extends TestCase {
|
|||||||
.setContractReferencedDocument(contractID)
|
.setContractReferencedDocument(contractID)
|
||||||
.setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE").addGlobalID(gln).setEmail("recipient@test.org").addVATID("DE4711")
|
.setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE").addGlobalID(gln).setEmail("recipient@test.org").addVATID("DE4711")
|
||||||
.setContact(new Contact("Franz Müller", "01779999999", "franz@mueller.de", "teststr. 12", "55232", "Entenhausen", "DE").setFax("++49555123456")).setAdditionalAddress("Hinterhaus 3"))
|
.setContact(new Contact("Franz Müller", "01779999999", "franz@mueller.de", "teststr. 12", "55232", "Entenhausen", "DE").setFax("++49555123456")).setAdditionalAddress("Hinterhaus 3"))
|
||||||
.addItem(new Item(new Product("Testprodukt", "", "H87", new BigDecimal(16)).addGlobalID(gtin).setSellerAssignedID("4711"), price, new BigDecimal(1.0)).setId("a123").addBuyerOrderReferencedDocumentID("orderId").addBuyerOrderReferencedDocumentLineID("xxx").addReferencedLineID("xxx").addNote("item level 1/1").addAllowance(new Allowance(new BigDecimal(0.02)).setReason("item discount").setTaxPercent(new BigDecimal(16))).setDetailedDeliveryPeriod(sdf.parse("2020-01-13"), sdf.parse("2020-01-15")))
|
.addItem(new Item(new Product("Testprodukt", "", "H87", new BigDecimal(16)).addGlobalID(gtin).setSellerAssignedID("4711"), price, new BigDecimal(1.0)).setId("a123").setTenderReferencedDocument(dr2).addBuyerOrderReferencedDocumentID("orderId").addBuyerOrderReferencedDocumentLineID("xxx").addReferencedLineID("xxx").addNote("item level 1/1").addAllowance(new Allowance(new BigDecimal(0.02)).setReason("item discount").setTaxPercent(new BigDecimal(16))).setDetailedDeliveryPeriod(sdf.parse("2020-01-13"), sdf.parse("2020-01-15")))
|
||||||
.addCharge(new Charge(new BigDecimal(0.5)).setReason("quick delivery charge").setTaxPercent(new BigDecimal(16)))
|
.addCharge(new Charge(new BigDecimal(0.5)).setReason("quick delivery charge").setTaxPercent(new BigDecimal(16)))
|
||||||
.addAllowance(new Allowance(new BigDecimal(0.2)).setReason("discount").setTaxPercent(new BigDecimal(16)))
|
.addAllowance(new Allowance(new BigDecimal(0.2)).setReason("discount").setTaxPercent(new BigDecimal(16)))
|
||||||
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
||||||
.setTenderReferencedDocument(dr)
|
.setTenderReferencedDocument(dr1)
|
||||||
.setDeliveryDate(sdf.parse("2020-11-02")).setNumber(number).setVATDueDateTypeCode(EventTimeCodeTypeConstants.PAYMENT_DATE)
|
.setDeliveryDate(sdf.parse("2020-11-02")).setNumber(number).setVATDueDateTypeCode(EventTimeCodeTypeConstants.PAYMENT_DATE)
|
||||||
.setInvoiceReferencedDocumentID("abc123").addInvoiceReferencedDocument(new ReferencedDocument("abcd1234"))
|
.setInvoiceReferencedDocumentID("abc123").addInvoiceReferencedDocument(new ReferencedDocument("abcd1234"))
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -183,8 +183,8 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase {
|
|||||||
// Reading ZUGFeRD
|
// Reading ZUGFeRD
|
||||||
assertEquals("4711", invoice.getZFItems()[0].getProduct().getSellerAssignedID());
|
assertEquals("4711", invoice.getZFItems()[0].getProduct().getSellerAssignedID());
|
||||||
assertEquals("9384", invoice.getSellerOrderReferencedDocumentID());
|
assertEquals("9384", invoice.getSellerOrderReferencedDocumentID());
|
||||||
assertEquals("90-kl-98798-C", invoice.getTenderReferencedDocument().getID());
|
assertEquals("90-kl-98798-C", invoice.getTenderReferencedDocument().getIssuerAssignedID());
|
||||||
assertEquals("2025-10-12", sdf.format(invoice.getTenderReferencedDocument().getDate()));
|
assertEquals("2025-10-12", sdf.format(invoice.getTenderReferencedDocument().getFormattedIssueDateTime()));
|
||||||
assertEquals("sender@test.org", invoice.getSender().getEmail());
|
assertEquals("sender@test.org", invoice.getSender().getEmail());
|
||||||
assertEquals("recipient@test.org", invoice.getRecipient().getEmail());
|
assertEquals("recipient@test.org", invoice.getRecipient().getEmail());
|
||||||
assertEquals("28934", invoice.getBuyerOrderReferencedDocumentID());
|
assertEquals("28934", invoice.getBuyerOrderReferencedDocumentID());
|
||||||
@@ -222,7 +222,7 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase {
|
|||||||
}
|
}
|
||||||
assertFalse(hasExceptions);
|
assertFalse(hasExceptions);
|
||||||
// Reading ZUGFeRD
|
// Reading ZUGFeRD
|
||||||
assertEquals("Testing1", invoice.getTenderReferencedDocument().getID());
|
assertEquals("Testing1", invoice.getTenderReferencedDocument().getIssuerAssignedID());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user