updated history

This commit is contained in:
Jochen Stärk
2026-02-04 14:49:54 +01:00
parent a40c1e638d
commit d31080bbe6
3 changed files with 23 additions and 11 deletions

View File

@@ -1,12 +1,24 @@
- 990
- 859 2.22.0
- 992 =======
- 994 2026-02-04
- 999
- 997 - #990 Fix empty ValidationResult when XMP metadata contains invalid XML characters
- 1000 - #859 SpecifiedTradePaymentTerms doppelt in der XML ab Version 2.16.5
- deprecate itemTotalAllowances instead of itemAllowances oder itemCharges - #992 fix typo
- #1011 - #253/#994 add DeliveryNoteReferencedDocument for import and export
- #999 Write RateApplicablePercent on head also for tax free
- #997 CategoryCode O Need VAT rate in header breakdown (BT-119) but MUST omit line VAT rate (BT-152)
- #1000 Support ItemSellerTradeParty at line level (Factur-X / ZUGFeRD EXTENDED) for French municipalities subcontracting services to other municipalities
- #1011 calculatedinvoice needs to contain VATtotal
- #1003 IncludedNote SubjectCode PMD AAB
- #998 ZUGFeRDInvoiceImporter does not properly handle UBL CreditNote documents
- #1006 Duplicate Notes and Missing BIC Parsing in ZUGFeRDInvoiceImporter
- #1010 add DeliveryNoteReferencedDocument per Item
- #1017 Concurrency problems in ZUGFeRDDateFormat
- #536 Add Field for "Invoiced Object Identifier" (BT-18) in Invoice.java to Align with XRechnung Requirements
- deprecate itemTotalAllowances instead of itemAllowances over itemCharges
- corrected import of UBL rounding amount
2.21.0 2.21.0
======= =======

View File

@@ -34,7 +34,7 @@ If you set up a Maven project, you can reference the mustang artifact like this:
<dependency> <dependency>
<groupId>org.mustangproject</groupId> <groupId>org.mustangproject</groupId>
<artifactId>validator</artifactId> <artifactId>validator</artifactId>
<version>2.20.0</version> <version>2.22.0</version>
<classifier>shaded</classifier> <classifier>shaded</classifier>
</dependency> </dependency>
``` ```

View File

@@ -1082,7 +1082,7 @@ public class ZUGFeRDInvoiceImporter {
} }
} }
String rounding = extractString("//*[local-name()=\"SpecifiedTradeSettlementHeaderMonetarySummation\"]/*[local-name()=\"RoundingAmount\"]|//*[local-name()=\"LegalMonetaryTotal\"]/*[local-name()=\"Party\"]/*[local-name()=\"PayableRoundingAmount\"]"); String rounding = extractString("//*[local-name()=\"SpecifiedTradeSettlementHeaderMonetarySummation\"]/*[local-name()=\"RoundingAmount\"]|//*[local-name()=\"LegalMonetaryTotal\"]/*[local-name()=\"PayableRoundingAmount\"]");
if (!rounding.isEmpty()) { if (!rounding.isEmpty()) {
zpp.setRoundingAmount(new BigDecimal(rounding.trim())); zpp.setRoundingAmount(new BigDecimal(rounding.trim()));
} }