From 27e9e34d3e7535217351bbb2c787110fb23f6607 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Tue, 3 Mar 2020 12:57:07 +0100 Subject: [PATCH] ZUGFeRD: UStID des Kunden angeben, sofern bekannt --- SL/DB/Helper/ZUGFeRD.pm | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/SL/DB/Helper/ZUGFeRD.pm b/SL/DB/Helper/ZUGFeRD.pm index 8b554283a..826cef1a9 100644 --- a/SL/DB/Helper/ZUGFeRD.pm +++ b/SL/DB/Helper/ZUGFeRD.pm @@ -368,6 +368,20 @@ sub _exchanged_document { # } +sub _specified_tax_registration { + my ($ustid_nr, %params) = @_; + + return unless $ustid_nr; + + $ustid_nr = "DE$ustid_nr" unless $ustid_nr =~ m{^[A-Z]{2}}; + + # + $params{xml}->startTag("ram:SpecifiedTaxRegistration"); + $params{xml}->dataElement("ram:ID", _u8($ustid_nr), "schemeID" => "VA"); + $params{xml}->endTag; + # +} + sub _seller_trade_party { my ($self, %params) = @_; @@ -414,13 +428,7 @@ sub _seller_trade_party { # } - my $ustid_nr = $::instance_conf->get_co_ustid; - $ustid_nr = "DE$ustid_nr" unless $ustid_nr =~ m{^[A-Z]{2}}; - # - $params{xml}->startTag("ram:SpecifiedTaxRegistration"); - $params{xml}->dataElement("ram:ID", _u8($ustid_nr), "schemeID" => "VA"); - $params{xml}->endTag; - # + _specified_tax_registration($::instance_conf->get_co_ustid, %params); $params{xml}->endTag; # @@ -435,6 +443,7 @@ sub _buyer_trade_party { $params{xml}->dataElement("ram:Name", _u8($self->customer->name)); _customer_postal_trade_address(%params, customer => $self->customer); + _specified_tax_registration($self->customer->ustid, %params); $params{xml}->endTag; # -- 2.20.1