$main::auth->assert('invoice_edit');
+ $form->{taxincluded_changed_by_user} = 1;
+
# show history button
$form->{javascript} = qq|<script type="text/javascript" src="js/show_history.js"></script>|;
#/show hhistory button
my ($tax, $subtotal);
$form->{taxaccounts_array} = [ split / /, $form->{taxaccounts} ];
+ IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/;
+
+ if ( $form->{vc} eq 'customer' && !$form->{taxincluded_changed_by_user} ) {
+ $form->{taxincluded} = defined($form->{taxincluded_checked}) ? $form->{taxincluded_checked} : $myconfig{taxincluded_checked};
+ }
+
foreach my $item (@{ $form->{taxaccounts_array} }) {
if ($form->{"${item}_base"}) {
if ($form->{taxincluded}) {
for my $i (1 .. $form->{paidaccounts}) {
next unless $form->{"paid_$i"};
map { $form->{"${_}_$i"} = $form->parse_amount(\%myconfig, $form->{"${_}_$i"}) } qw(paid exchangerate);
+ if (!$form->{"forex_$i"}) { #read exchangerate from input field (not hidden)
+ $form->{exchangerate} = $form->{"exchangerate_$i"};
+ }
$form->{"forex_$i"} = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{"datepaid_$i"}, 'buy');
$form->{"exchangerate_$i"} = $form->{"forex_$i"} if $form->{"forex_$i"};
}
$form->{creditremaining} -= $amount;
- map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, $decimalplaces) } qw(sellprice listprice lastcost);
+ map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, $decimalplaces) } qw(sellprice lastcost);
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
($form->{AR_paid}) = split /--/, $form->{AR_paid};
$form->{storno} ||= 0;
- $form->{label} = $locale->text('Invoice');
+ $form->{label} = $form->{type} eq 'credit_note' ? $locale->text('Credit Note') : $locale->text('Invoice');
$form->{id} = 0 if $form->{postasnew};
remove_draft() if $form->{remove_draft};
if(!exists $form->{addition}) {
- $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
+ $form->{snumbers} = 'invnumber' .'_'. $form->{invnumber}; # ($form->{type} eq 'credit_note' ? 'cnnumber' : 'invnumber') .'_'. $form->{invnumber};
$form->{addition} = $form->{print_and_post} ? "PRINTED AND POSTED" :
$form->{storno} ? "STORNO" :
"POSTED";
# map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
# qw(creditlimit creditremaining);
+ for my $i (1 .. $form->{rowcount}) {
+ for (qw(listprice)) {
+ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if $form->{"${_}_${i}"};
+ }
+ }
+
my $currency = $form->{currency};
&invoice_links;
if (IS->delete_invoice(\%myconfig, \%$form)) {
# saving the history
if(!exists $form->{addition}) {
- $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
+ $form->{snumbers} = 'invnumber' .'_'. $form->{invnumber}; # ($form->{type} eq 'credit_note' ? 'cnnumber' : 'invnumber') .'_'. $form->{invnumber};
$form->{addition} = "DELETED";
$form->save_history;
}