Skip to content

Adding Zugferd 2.5.2 Factur-x 1.09.2 - #208

Draft
andesk wants to merge 11 commits into
masterfrom
feature/zugferd-2.5.2-factur-x-1.09.2
Draft

andesk wants to merge 11 commits into
masterfrom
feature/zugferd-2.5.2-factur-x-1.09.2

Conversation

@andesk

@andesk andesk commented Sep 28, 2026

Copy link
Copy Markdown
Member

This PR adds the latest ZUGFeRD and Factur-X versions to the lib.

andesk and others added 11 commits July 6, 2026 16:21
…stment, ManufacturerTradeParty, PayerSpecifiedDebtorFinancialInstitution)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Populates each new field's XSD-sequence siblings so a misordered
declaration fails schema validation (verified: moving any of the three
new properties triggers an 'element not expected' XSD error).
…ntName, ReferencedProduct ID, SequenceNumeric, BasisQuantity)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…n TradeProduct

The XSD TradeProductType sequence places IndividualTradeProductInstance
before OriginTradeCountry/ManufacturerTradeParty; the property was declared
last, so a product setting both serialized as XSD-invalid. The EXTENDED
end-to-end test now sets individualTradeProductInstance to lock in the order.
PayerPartyDebtorFinancialAccount/ApplicableTradeSettlementFinancialCard were
declared out of the TradeSettlementPaymentMeansType sequence, so invoices
placing PayerPartyDebtorFinancialAccount before PayeePartyCreditorFinancialAccount
serialized as XSD-invalid. Reordered to: TypeCode, Information,
ApplicableTradeSettlementFinancialCard, PayerPartyDebtorFinancialAccount,
PayeePartyCreditorFinancialAccount, PayerSpecifiedDebtorFinancialInstitution,
PayeeSpecifiedCreditorFinancialInstitution. Adds the 3 official X01
Dauermietrechnung 1.09 EXTENDED examples as round-trip fixtures.
AttachmentBinaryObject attribute order (mimeCode/filename) is semantically
insignificant but differs between our serializer and some official examples.
Rather than contort the model (no single order satisfies all example files),
reformatXml now sorts each element's non-namespaced attributes so both sides
of the round-trip comparison normalize identically. Adds the 2 official
XRECHNUNG 1.09 examples (Elektron, Reisekostenabrechnung) as fixtures.
@andesk andesk self-assigned this Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant