Return Account Holder´s name in prefrence over Seller´s Name.

This commit is contained in:
langfr
2025-06-24 15:22:45 +01:00
parent dfcc5f1a1c
commit ce0941848d
2 changed files with 13 additions and 3 deletions

View File

@@ -351,6 +351,16 @@ public class ZUGFeRDImporter extends ZUGFeRDInvoiceImporter {
public String getHolder() {
if (importedInvoice!=null && importedInvoice.getTradeSettlement()!=null) {
for (IZUGFeRDTradeSettlement settlement : importedInvoice.getTradeSettlement()) {
if (settlement instanceof IZUGFeRDTradeSettlementPayment) {
String s = ((IZUGFeRDTradeSettlementPayment) settlement).getAccountName();
if ( s != null ) {
return s;
}
}
}
}
return extractString("//*[local-name() = 'SellerTradeParty']/*[local-name() = 'Name']");
}

View File

@@ -114,8 +114,8 @@ public class ZF2PushTest extends TestCase {
ZUGFeRDImporter zi = new ZUGFeRDImporter(TARGET_PDF);
assertTrue(zi.getUTF8().contains("DE88200800000970375700")); //the iban
assertTrue(zi.getUTF8().contains("Max Mustermann")); //account holder
assertTrue(zi.getUTF8().contains("DueDateDateTime")); //account holder
assertTrue(zi.getUTF8().contains("20201212")); //account holder
assertTrue(zi.getUTF8().contains("DueDateDateTime"));
assertTrue(zi.getUTF8().contains("20201212"));
assertTrue(zi.getUTF8().contains("<rsm:CrossIndustryInvoice"));
@@ -124,7 +124,7 @@ public class ZF2PushTest extends TestCase {
// Reading ZUGFeRD
assertEquals("571.04", zi.getAmount());
assertEquals(orgname, zi.getHolder());
assertEquals("Max Mustermann", zi.getHolder());
assertEquals(number, zi.getForeignReference());
try {
assertEquals(zi.getVersion(), 2);