S:D:Invoice: _post_add_acctrans: Keine Tranaktionen mit Summe == 0 speichern.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 3 Feb 2020 11:48:24 +0000 (12:48 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 3 Feb 2020 11:59:51 +0000 (12:59 +0100)
Das liefert einen Fehler beim DATEV-Export. Zudem filtert die Buchungsroutine
der Rechnungsmaske diese Buchungen aus raus.

Bezieht sich auch auf #414
Refs #414

SL/DB/Invoice.pm

index 38ec9c0..6f8438f 100644 (file)
@@ -303,14 +303,16 @@ sub _post_add_acctrans {
     $chart_link = SL::DB::Manager::Chart->find_by(id => $chart_id)->{'link'};
     $chart_link ||= '';
 
-    SL::DB::AccTransaction->new(trans_id   => $self->id,
-                                chart_id   => $chart_id,
-                                amount     => $spec->{amount},
-                                tax_id     => $spec->{tax_id},
-                                taxkey     => $spec->{taxkey},
-                                project_id => $self->globalproject_id,
-                                transdate  => $self->transdate,
-                                chart_link => $chart_link)->save;
+    if ($spec->{amount} != 0) {
+      SL::DB::AccTransaction->new(trans_id   => $self->id,
+                                  chart_id   => $chart_id,
+                                  amount     => $spec->{amount},
+                                  tax_id     => $spec->{tax_id},
+                                  taxkey     => $spec->{taxkey},
+                                  project_id => $self->globalproject_id,
+                                  transdate  => $self->transdate,
+                                  chart_link => $chart_link)->save;
+    }
   }
 }