diff --git a/lib/secretariat/trade_party.rb b/lib/secretariat/trade_party.rb
index ebd1afb..c70a97d 100644
--- a/lib/secretariat/trade_party.rb
+++ b/lib/secretariat/trade_party.rb
@@ -19,6 +19,7 @@ module Secretariat
TradeParty = Struct.new('TradeParty',
:name, :street1, :street2, :city, :postal_code, :country_id, :vat_id, :global_id, :global_id_scheme_id, :tax_id,
+ :person_name,
keyword_init: true,
) do
def to_xml(xml, exclude_tax: false, version: 2)
@@ -28,6 +29,11 @@ def to_xml(xml, exclude_tax: false, version: 2)
end
end
xml['ram'].Name name
+ if person_name
+ xml['ram'].DefinedTradeContact do
+ xml['ram'].PersonName person_name
+ end
+ end
xml['ram'].PostalTradeAddress do
xml['ram'].PostcodeCode postal_code
xml['ram'].LineOne street1
@@ -53,3 +59,5 @@ def to_xml(xml, exclude_tax: false, version: 2)
end
end
end
+
+# assert_match(%r{\s*Max Mustermann\s*}, xml)
\ No newline at end of file
diff --git a/test/invoice_test.rb b/test/invoice_test.rb
index cf7fbb7..3dd0b0f 100644
--- a/test/invoice_test.rb
+++ b/test/invoice_test.rb
@@ -174,6 +174,7 @@ def make_de_invoice
)
buyer = TradeParty.new(
name: 'Depfu inc',
+ person_name: 'Max Mustermann',
street1: 'Quickbornstr. 46',
city: 'Hamburg',
postal_code: '20253',
@@ -596,6 +597,7 @@ def test_invoice_object_extensions
xml = invoice.to_xml(version: 2)
assert_match(/#{invoice.payment_reference}<\/ram:PaymentReference>/, xml)
+ assert_match(%r{\s*Max Mustermann\s*}, xml)
end
end
end