projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
quotations + tax refactor, part 2
[freeside.git]
/
FS
/
FS
/
cust_main
/
Billing.pm
diff --git
a/FS/FS/cust_main/Billing.pm
b/FS/FS/cust_main/Billing.pm
index
8f62348
..
367745d
100644
(file)
--- a/
FS/FS/cust_main/Billing.pm
+++ b/
FS/FS/cust_main/Billing.pm
@@
-379,6
+379,12
@@
Do not save the generated bill in the database. Useful with return_bill
A list reference on which the generated bill(s) will be returned.
A list reference on which the generated bill(s) will be returned.
+=item estimate
+
+Boolean value; indicates that this is an estimate rather than a "tax invoice".
+This will be passed through to the tax engine, as online tax services
+sometimes need to know it for reporting purposes. Otherwise it has no effect.
+
=item invoice_terms
Optional terms to be printed on this invoice. Otherwise, customer-specific
=item invoice_terms
Optional terms to be printed on this invoice. Otherwise, customer-specific
@@
-474,7
+480,8
@@
sub bill {
foreach (@passes) {
$tax_engines{$_} = FS::TaxEngine->new(cust_main => $self,
invoice_time => $invoice_time,
foreach (@passes) {
$tax_engines{$_} = FS::TaxEngine->new(cust_main => $self,
invoice_time => $invoice_time,
- cancel => $options{cancel}
+ cancel => $options{cancel},
+ estimate => $options{estimate},
);
$tax_is_batch ||= $tax_engines{$_}->info->{batch};
}
);
$tax_is_batch ||= $tax_engines{$_}->info->{batch};
}
@@
-542,7
+549,8
@@
sub bill {
$tax_engines{$pass} = FS::TaxEngine->new(
cust_main => $self,
invoice_time => $invoice_time,
$tax_engines{$pass} = FS::TaxEngine->new(
cust_main => $self,
invoice_time => $invoice_time,
- cancel => $options{cancel}
+ cancel => $options{cancel},
+ estimate => $options{estimate},
);
$cust_bill_pkg{$pass} = [];
}
);
$cust_bill_pkg{$pass} = [];
}
@@
-1044,6
+1052,7
@@
sub _make_lines {
)
)
)
)
)
)
+ || $cust_pkg->is_status_delay_cancel
)
and
( $part_pkg->freq ne '0' && ( $cust_pkg->bill || 0 ) <= $cmp_time )
)
and
( $part_pkg->freq ne '0' && ( $cust_pkg->bill || 0 ) <= $cmp_time )