Hallo NDA,
das ist mein Fehler. Als erste Sicherheit, dass für die Vorlagen auch immer ein Wert für Soll und Haben gesetzt ist, prüf ich beim Speichern auf die ersten beiden Buchungspositionen:
# bank transactions need amounts for assignment
my $can_save = 0;
$can_save = 1 if ($::form->{credit_1} > 0 && $::form->{debit_2} > 0 && $::form->{credit_2} == 0 && $::form->{debit_1} == 0);
$can_save = 1 if ($::form->{credit_2} > 0 && $::form->{debit_1} > 0 && $::form->{credit_1} == 0 && $::form->{debit_2} == 0);
return $js->flash('error', t8('Can only save template if amounts,i.e. 1 for debit and credit are set.'))->render unless $can_save;
Die ganz richtige Lösung wäre zu prüfen, dass auf einer Seite NUR ein Wert angesprochen wird und auf der Gegenseite beliebig viele. Damit wäre es auch korrekt und es entstehen dennoch keine doppelten Splitbuchungen.
In meinem Vorlagen hab ich es so umgangen, dass ich ich in Pos 1 und Pos 2 jeweils einmal Soll und einmal Haben anspreche und danach ergänze ich alle weiteren Soll-Positionen für die Finanzamt-Abbuchung in den Folgepositionen.
Das sollte bei Dir auf Anhieb zum Erfolg führen, ich mach im Nachgang noch eine Bug-Meldung dazu auf.
gruß
Jan