1. Getting a profile by name disregarding teh ZUGFeRD version
2. Allowing the XRechnung version to be explicitly set in the
PDF meta-data (must match the version in the attached XML).
3. Change/fix for data relationship in case of MINIMUM and
BASICWL profile. See documentation ZUGFeRD211_EN/
Documentation/ZUGFeRD-2.1.1 - Specification_TA_Part-A.pdf
4. Error handling improvements (exceptions not suppressed)
as old code 42 is for the more generic "payment to bank account" while
the ZUGFeRD specification and EN16931-1 recommend to clearly distinguish
between SEPA transfers and non SEPA transfers and we are only supporting
SEPA payment data right now.
To prevent the following error:
<error type="4" location="/*[local-name()='CrossIndustryInvoice']/*[local-name()='SupplyChainTradeTransaction']/*[local-name()='ApplicableHeaderTradeSettlement']/*[local-name()='ApplicableTradeTax'][2]/*[local-name()='CategoryCode']" criterion="not(../ram:ExemptionReason) and not (../ram:ExemptionReasonCode)">A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).</error>
<error type="24" location="/*:CrossIndustryInvoice[namespace-uri()='urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100'][1]/*:SupplyChainTradeTransaction[namespace-uri()='urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100'][1]/*:ApplicableHeaderTradeSettlement[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]/*:ApplicableTradeTax[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][2]/*:CategoryCode[namespace-uri()='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100'][1]" criterion="not(../ram:ExemptionReason) and not (../ram:ExemptionReasonCode)">[BR-S-10]-A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Standard rate" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120).</error>
resolves#222
Add a test that generates invoices with a recipient without a street in the address.
Extract a method in the test to create the invoice with recipient as parameter.