Skip to content

Commit d466951

Browse files
committed
Omit discount_reason if blank
1 parent b41a072 commit d466951

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

lib/secretariat/line_item.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def to_xml(xml, line_item_index, version: 2, validate: true)
173173
xml['udt'].Indicator 'false'
174174
end
175175
Helpers.currency_element(xml, 'ram', 'ActualAmount', discount_amount, currency_code, add_currency: version == 1)
176-
xml['ram'].Reason discount_reason
176+
xml['ram'].Reason discount_reason if discount_reason
177177
end
178178
end
179179
if version == 1 && discount_amount
@@ -182,7 +182,7 @@ def to_xml(xml, line_item_index, version: 2, validate: true)
182182
xml['udt'].Indicator 'false'
183183
end
184184
Helpers.currency_element(xml, 'ram', 'ActualAmount', discount_amount, currency_code, add_currency: version == 1)
185-
xml['ram'].Reason discount_reason
185+
xml['ram'].Reason discount_reason if discount_reason
186186
end
187187
end
188188
end

test/invoice_test.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,7 @@ def test_simple_eu_invoice_v2
492492
assert_match(/<ram:ExemptionReason>Reverse Charge<\/ram:ExemptionReason>/, xml)
493493
assert_match(/<ram:RateApplicablePercent>/, xml)
494494
assert_match(%r{<ram:BuyerTradeParty>\s*<ram:ID>Kunde 4711</ram:ID>}, xml)
495+
refute_match(/<ram:Reason>/, xml)
495496

496497
v = Validator.new(xml, version: 2)
497498
errors = v.validate_against_schema
@@ -790,6 +791,7 @@ def test_invoice_object_extensions
790791

791792
assert_match(/<ram:PaymentReference>#{invoice.payment_reference}<\/ram:PaymentReference>/, xml)
792793
assert_match(%r{<ram:DefinedTradeContact>\s*<ram:PersonName>Max Mustermann</ram:PersonName>\s*</ram:DefinedTradeContact>}, xml)
794+
assert_match(/<ram:Reason>/, xml)
793795
end
794796

795797
def test_invoice_with_quantity_causing_sub_cent_amounts

0 commit comments

Comments
 (0)