TT#146800 support decimal VAT rates

Change-Id: I7222e012fbc6c848527f0f7a2a45c56894ae509b
mr10.2
Rene Krenn 5 years ago
parent 78b80e7064
commit f9ff14fab2

@ -2751,7 +2751,7 @@ sub calllist_master :Chained('base') :PathPart('calls') :CaptureArgs(0) :Allowed
) if($c->user->roles eq "admin" || $c->user->roles eq "reseller");
my $vat_factor = $c->config->{appearance}{cdr_apply_vat} && $c->stash->{subscriber}->contract->add_vat
? "* " . (1 + $c->stash->{subscriber}->contract->vat_rate / 100)
? "* " . (1 + $c->stash->{subscriber}->contract->vat_rate / 100.0)
: "";
$c->log->debug("using vat_factor '$vat_factor'");

@ -158,11 +158,13 @@ has_field 'invoice_template' => (
);
has_field 'vat_rate' => (
type => 'Integer',
type => 'Float',
size => 15,
precision => 14,
label => 'VAT Rate',
range_start => 0,
range_end => 100,
default => 0,
range_start => 0.0,
range_end => 100.0,
default => 0.0,
element_attr => {
rel => ['tooltip'],
title => ['The VAT rate in percentage (e.g. 20).']

@ -91,10 +91,12 @@ has_field 'invoice_template_id' => (
);
has_field 'vat_rate' => (
type => 'Integer',
range_start => 0,
range_end => 100,
default => 0,
type => 'Float',
size => 15,
precision => 14,
range_start => 0.0,
range_end => 100.0,
default => 0.0,
element_attr => {
rel => ['tooltip'],
title => ['The VAT rate in percentage (e.g. 20).']

@ -17,15 +17,15 @@ sub get_invoice_amounts{
my $invoice = {};
$contract_balance->{cash_balance_interval} //= 0;
$billing_profile->{interval_charge} //= 0;
$customer_contract->{vat_rate} //= 0;
$customer_contract->{vat_rate} //= 0.0;
#use Data::Dumper;
#print Dumper [$contract_balance,$billing_profile];
$invoice->{amount_net} = $contract_balance->{cash_balance_interval} / 100 + $billing_profile->{interval_charge};
$invoice->{amount_vat} =
$customer_contract->{add_vat}
?
$invoice->{amount_net} * ($customer_contract->{vat_rate}/100)
: 0;
$invoice->{amount_net} * ($customer_contract->{vat_rate} / 100.0)
: 0.0;
$invoice->{amount_total} = $invoice->{amount_net} + $invoice->{amount_vat};
return $invoice;
}

@ -234,7 +234,7 @@ sub get_dummy_data {
customer => {
id => int(rand(10000))+10000,
external_id => 'Resext1234567890',
vat_rate => 20,
vat_rate => 20.0,
add_vat => 0,
},
custcontact => {

Loading…
Cancel
Save