my $self   = shift;
   my %params = @_;
 
+  # ist nur für bestandsmethode notwendig. bei der Aufwandsmethode
+  # können Warenkonten mit Steuerschlüssel sein (5400 in SKR04)
+  return 0 if $::instance_conf->get_inventory_system eq 'periodic';
+
   if (!$params{transaction}->[0]->{invoice}) {
     $main::lxdebug->leave_sub();
     return 0;
 
   my @problems = @{ $self->{problems} };
 
+  map { $self->{$_} ||= [] } qw(ap_ar_taxkey_problems invoice_inventory_taxkey_problems missing_taxkeys_in_invoices);
+
   if (0 != scalar @{ $self->{ap_ar_taxkey_problems} }) {
     my $problem = {
       'type'        => 'ap_ar_wrong_taxkeys',
   my $self     = shift;
   my %params   = @_;
 
+  # ist nur für bestandsmethode notwendig. bei der Aufwandsmethode
+  # können Warenkonten mit Steuerschlüssel sein (5400 in SKR04)
+  return 0 if $::instance_conf->get_inventory_system eq 'periodic';
+
   my $myconfig = \%main::myconfig;
   my $form     = $main::form;