Wenn bei einer Zahlungsbedingung die automatische Berechnung des
Fälligkeitsdatums aus ist, so sollte die Routine zum Berechnen das
aktuell von der Benutzer*in eingegebene Fälligkeitsdatum
berücksichtigen. Damit das funktioniert, muss auch das richtige Feld
aus $::form an »$terms->calc_date« übergeben werden — und das heißt
nun mal »duedate« und nicht »due_due«.
Das Ergebnis war, dass beim Buchen der Rechnung nicht das eingetragene
Fälligkeitsdatum genommen wurde, sondern das Rechnungsdatum, da die
Berechnungsroutine dachte, es wäre kein Fälligkeitsdatum eingegeben.
map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
$TMPL_VAR{payment_terms_obj} = get_payment_terms_for_invoice();
- $form->{duedate} = $TMPL_VAR{payment_terms_obj}->calc_date(reference_date => $form->{invdate}, due_date => $form->{due_due})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
+ $form->{duedate} = $TMPL_VAR{payment_terms_obj}->calc_date(reference_date => $form->{invdate}, due_date => $form->{duedate})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
$::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.Draft kivi.File kivi.SalesPurchase kivi.Part ckeditor/ckeditor ckeditor/adapters/jquery kivi.io autocomplete_customer autocomplete_project client_js));
relink_accounts();
my $terms = get_payment_terms_for_invoice();
- $form->{duedate} = $terms->calc_date(reference_date => $form->{invdate}, due_date => $form->{due_due})->to_kivitendo if $terms;
+ $form->{duedate} = $terms->calc_date(reference_date => $form->{invdate}, due_date => $form->{duedate})->to_kivitendo if $terms;
# If transfer_out is requested, get rose db handle and do post and
# transfer out in one transaction. Otherwise just post the invoice.