From 389e2f5135d6eafc76b02ff625c6b77fa0bdd575 Mon Sep 17 00:00:00 2001 From: Valentin Lazar Date: Sun, 15 Feb 2026 17:08:38 +0200 Subject: [PATCH 1/2] Omit discount_reason if blank --- lib/secretariat/line_item.rb | 4 ++-- test/invoice_test.rb | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/secretariat/line_item.rb b/lib/secretariat/line_item.rb index 4aea6b3..8f7a683 100644 --- a/lib/secretariat/line_item.rb +++ b/lib/secretariat/line_item.rb @@ -173,7 +173,7 @@ def to_xml(xml, line_item_index, version: 2, validate: true) xml['udt'].Indicator 'false' end Helpers.currency_element(xml, 'ram', 'ActualAmount', discount_amount, currency_code, add_currency: version == 1) - xml['ram'].Reason discount_reason + xml['ram'].Reason discount_reason if discount_reason end end if version == 1 && discount_amount @@ -182,7 +182,7 @@ def to_xml(xml, line_item_index, version: 2, validate: true) xml['udt'].Indicator 'false' end Helpers.currency_element(xml, 'ram', 'ActualAmount', discount_amount, currency_code, add_currency: version == 1) - xml['ram'].Reason discount_reason + xml['ram'].Reason discount_reason if discount_reason end end end diff --git a/test/invoice_test.rb b/test/invoice_test.rb index 4e54ec1..b9a8632 100644 --- a/test/invoice_test.rb +++ b/test/invoice_test.rb @@ -492,6 +492,7 @@ def test_simple_eu_invoice_v2 assert_match(/Reverse Charge<\/ram:ExemptionReason>/, xml) assert_match(//, xml) assert_match(%r{\s*Kunde 4711}, xml) + assert_equal xml.include?(''), false v = Validator.new(xml, version: 2) errors = v.validate_against_schema @@ -790,6 +791,7 @@ def test_invoice_object_extensions assert_match(/#{invoice.payment_reference}<\/ram:PaymentReference>/, xml) assert_match(%r{\s*Max Mustermann\s*}, xml) + assert_match(//, xml) end def test_invoice_with_quantity_causing_sub_cent_amounts From 1079da9cfd0a7a6aedb9aeb2e485ca2eae07fe4e Mon Sep 17 00:00:00 2001 From: Valentin Lazar Date: Sun, 15 Feb 2026 17:09:01 +0200 Subject: [PATCH 2/2] Update version --- lib/secretariat/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/secretariat/version.rb b/lib/secretariat/version.rb index fd5aab4..4459a91 100644 --- a/lib/secretariat/version.rb +++ b/lib/secretariat/version.rb @@ -15,5 +15,5 @@ =end module Secretariat - VERSION = "3.8.1" + VERSION = "3.8.2" end