Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7019b0cc

Von Tamino Steinert vor 3 Tagen hinzugefügt

  • ID 7019b0cc8835704b1a9c5184bc0bb971d7b4681a
  • Vorgänger 97d2859d

ZUGFeRD: elektronische Adresse (Käufer/Verkäufer)

Felder BT-34 (Verkäufer DUNS), BT-59 (Käufer E-Mail oder GLN)
TODO: keine E-Mail und GLN von Mandanten vorhanden

Unterschiede anzeigen:

SL/DB/Helper/ZUGFeRD.pm
15 15

  
16 16
use SL::DB::BankAccount;
17 17
use SL::DB::GenericTranslation;
18
use SL::DB::Default;
18 19
use SL::DB::Chart;
19 20
use SL::DB::Tax;
20 21
use SL::DB::TaxKey;
......
547 548
    #         </ram:PostalTradeAddress>
548 549
  }
549 550

  
551
  my $defaults = SL::DB::Default->get;
552
  if ($defaults->duns) {
553
    $params{xml}->startTag("ram:URIUniversalCommunication");
554
    $params{xml}->dataElement("ram:URIID", _u8($defaults->duns), schemeID => '0060');
555
    $params{xml}->endTag;
556
  }
557

  
550 558
  _specified_tax_registration($::instance_conf->get_co_ustid, %params);
551 559

  
552 560
  $params{xml}->endTag;
......
563 571

  
564 572
  _buyer_contact_information($self, %params, contact => $self->contact) if ($self->cp_id);
565 573
  _customer_postal_trade_address(%params, customer => $self->customer);
574
  my $buyer_electronic_address = first {$_} (
575
    $self->customer->invoice_mail,
576
    $self->customer->email,
577
  );
578
  if ($buyer_electronic_address) {
579
    $params{xml}->startTag("ram:URIUniversalCommunication");
580
    $params{xml}->dataElement("ram:URIID", _u8($buyer_electronic_address), schemeID => 'EM');
581
    $params{xml}->endTag;
582
  } elsif ($self->customer->gln) {
583
    $params{xml}->startTag("ram:URIUniversalCommunication");
584
    $params{xml}->dataElement("ram:URIID", _u8($self->customer->gln), schemeID => '0088');
585
    $params{xml}->endTag;
586
  }
566 587
  _specified_tax_registration($self->customer->ustid, %params) if $self->customer->ustid;
567 588

  
568 589
  $params{xml}->endTag;

Auch abrufbar als: Unified diff