v2.1.0
This release includes significant improvements to UBL invoice parsing, new features for tax handling, and several bug fixes for XML serialization.
New Features & Improvements
- TaxCurrencyCode: Added support for getting and setting
cbc:TaxCurrencyCodeon invoices. (Credits: @CasperBE) - TaxSubtotal: Now reads all
cac:TaxSubtotalelements fromcac:TaxTotalinstead of only the first one. (Credits: @CasperBE) - PayeeParty: Improved retrieval of
cac:PayeePartywith a dedicated class that properly handles its different structure. (Credits: @CasperBE) - AllowanceCharge: Added support for reading
cac:TaxCategoryoncac:AllowanceChargeelements. (Credits: @CasperBE)
Bug Fixes
- Reference Classes: Fixed TypeError when parsing UBL files with missing optional ID elements by making setter types nullable for
OrderReference,ProjectReference,ContractDocumentReference, andInvoiceDocumentReference. (Credits: @TNAJanssen) - TaxAmount: Fixed reading of
TaxAmountvalues. - Price: Made
cbc:BaseQuantityoptional in Price XML serialization, aligning with the UBL 2.1 schema specification. Previously it was incorrectly written with a 0 value even when not set. (Credits: @hevesi) - Delivery: Fixed
ActualDeliveryDateto properly cast to a DateTime object. (Credits: @CasperBE) - Date Handling: Improved handling of date values during parsing.
Maintenance
- Removed duplicate array key in codebase.
- Renamed variable for consistency.