Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 0eaaf55c

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 0eaaf55c4e550eb173547c98d66b1a818cddeda3
  • Vorgänger a6c95ed0
  • Nachfolger db6f9544

EmailJournal: ZUGFeRD-Emailanhänge in Kreditorenbuchen konvertieren

Unterschiede anzeigen:

SL/DB/EmailJournalAttachment.pm
2 2

  
3 3
use strict;
4 4

  
5
use XML::LibXML;
6

  
7
use SL::ZUGFeRD;
8

  
9
use SL::DB::PurchaseInvoice;
5 10
use SL::DB::MetaSetup::EmailJournalAttachment;
6 11
use SL::DB::Manager::EmailJournalAttachment;
7 12
use SL::DB::Helper::ActsAsList (group_by => [ qw(email_journal_id) ]);
8 13

  
9 14
__PACKAGE__->meta->initialize;
10 15

  
16
sub create_ap_invoice {
17
  my ($self) = @_;
18

  
19
  my $content = $self->content; # scalar ref
20

  
21
  return unless $content =~ m/^%PDF/;
22

  
23
  my $zugferd_info = SL::ZUGFeRD->extract_from_pdf($content);
24
  return unless $zugferd_info->{result} == SL::ZUGFeRD::RES_OK();
25

  
26
  my $zugferd_xml = XML::LibXML->load_xml(string => $zugferd_info->{invoice_xml});
27

  
28
  return SL::DB::PurchaseInvoice->create_from_zugferd_xml($zugferd_xml)->save();
29
}
30

  
11 31
1;

Auch abrufbar als: Unified diff