my %charts_by_id = map { ($_->{id} => $_) } @{ $::form->{ALL_CHARTS} };
my $default_chart = $::form->{ALL_CHARTS}[0];
my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local;
+ my $deliverydate = $::form->{deliverydate} ? DateTime->from_kivitendo($::form->{deliverydate}) : undef;
my ($source, $memo, $source_hidden, $memo_hidden);
for my $i (1 .. $form->{rowcount}) {
$accno_id = $chart->{id};
my ($first_taxchart, $default_taxchart, $taxchart_to_use);
- foreach my $item ( GL->get_active_taxes_for_chart($accno_id, $transdate) ) {
+
+ my $taxdate = $deliverydate ? $deliverydate : $transdate;
+ foreach my $item ( GL->get_active_taxes_for_chart($accno_id, $taxdate) ) {
my $key = $item->id . "--" . $item->rate;
$first_taxchart //= $item;
$default_taxchart = $item if $item->{is_default};
$taxchart_to_use = $item if $key eq $form->{"taxchart_$i"};
push(@taxchart_values, $key);
- $taxchart_labels{$key} = $item->taxdescription . " " . $item->rate * 100 . ' %';
+ $taxchart_labels{$key} = $item->taxkey . " - " . $item->taxdescription . " " . $item->rate * 100 . ' %';
}
$taxchart_to_use //= $default_taxchart // $first_taxchart;
action => [ t8('Storno'),
submit => [ '#form', { action => 'storno' } ],
confirm => t8('Do you really want to cancel this general ledger transaction?'),
- disabled => !$form->{id} ? t8('This general ledger transaction has not been posted yet.') : undef,
+ disabled => !$form->{id} ? t8('This general ledger transaction has not been posted yet.')
+ : $form->{storno} ? t8('A canceled general ledger transaction cannot be canceled again.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
],
action => [ t8('Delete'),
submit => [ '#form', { action => 'delete' } ],
: $change_never ? t8('Changing invoices has been disabled in the configuration.')
: $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.')
: $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : $form->{storno} ? t8('A canceled general ledger transaction cannot be deleted.')
: undef,
],
], # end of combobox "Storno"
}
sub get_tax_dropdown {
- my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local;
- my @tax_accounts = GL->get_active_taxes_for_chart($::form->{accno_id}, $transdate);
+ my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local;
+ my $deliverydate = $::form->{deliverydate} ? DateTime->from_kivitendo($::form->{deliverydate}) : undef;
+ my @tax_accounts = GL->get_active_taxes_for_chart($::form->{accno_id}, $deliverydate // $transdate);
my $html = $::form->parse_html_template("gl/update_tax_accounts", { TAX_ACCOUNTS => \@tax_accounts });
print $::form->ajax_response_header, $html;