$self->_setup;
- $self->tester->plan(tests => 15);
+ $self->tester->plan(tests => 16);
$self->check_konten_mit_saldo_nicht_in_guv;
$self->check_bilanzkonten_mit_pos_eur;
$self->check_paid_stornos;
$self->check_stornos_ohne_partner;
$self->check_overpayments;
+ $self->check_every_account_with_taxkey;
$self->calc_saldenvortraege;
}
LEFT JOIN vendor v on (v.id = ap.vendor_id)
WHERE storno_id is null AND storno is true AND ap.id not in (SELECT storno_id FROM ap WHERE storno_id is not null AND storno is true);
|;
-
+
my $stornos_ohne_partner = selectall_hashref_query($::form, $self->dbh, $query);
$self->tester->ok(@$stornos_ohne_partner == 0, 'Es sollte keine Stornos ohne Partner geben');
$self->tester->diag("Saldo $saldenvortragskonto am 31.12.@{[DateTime->today->year]}: @{[ $saldo_9000_jahresende * 1 ]} (sollte 0 sein)");
}
+sub check_every_account_with_taxkey {
+ my ($self) = @_;
+
+ my $query = qq|SELECT accno, description FROM chart WHERE id NOT IN (select chart_id from taxkeys)|;
+ my $accounts_without_tk = selectall_hashref_query($::form, $self->dbh, $query);
+
+ if ( scalar @{ $accounts_without_tk } > 0 ){
+ $self->tester->ok(0, "Folgende Konten haben keinen gültigen Steuerschlüssel:");
+
+ for my $account_without_tk (@{ $accounts_without_tk } ) {
+ $self->tester->diag("Kontonummer: $account_without_tk->{accno} Beschreibung: $account_without_tk->{description}");
+ }
+ } else {
+ $self->tester->ok(1, "Jedes Konto hat einen gültigen Steuerschlüssel!");
+ }
+}
+
1;
__END__