+ # the much-maligned "out of taxable region"...
+ # find sales that are not linked to any tax with this name
+ # but are still inside the date range/agent criteria.
+ #
+ # This doesn't use $select_all/$group_all because we want a single number,
+ # not a breakdown by pkgclass. Unless someone needs that eventually,
+ # in which case we'll turn it into an %all_sql query.
+
+ my $outside_where =
+ "WHERE cust_bill._date >= $beginning AND cust_bill._date <= $ending";
+ if ( $agentnum ) {
+ $outside_where .= " AND cust_main.agentnum = $agentnum";
+ }
+ my $sql_outside = "SELECT SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)
+ FROM cust_bill_pkg
+ $join_cust_pkg
+ $outside_where
+ AND $nottax
+ AND NOT EXISTS(
+ SELECT 1 FROM cust_tax_exempt_pkg
+ JOIN cust_main_county USING (taxnum)
+ WHERE cust_tax_exempt_pkg.billpkgnum = cust_bill_pkg.billpkgnum
+ AND cust_main_county.taxname = '$taxname'
+ )
+ AND NOT EXISTS(
+ SELECT 1 FROM cust_bill_pkg_tax_location
+ JOIN cust_main_county USING (taxnum)
+ WHERE cust_bill_pkg_tax_location.taxable_billpkgnum = cust_bill_pkg.billpkgnum
+ AND cust_main_county.taxname = '$taxname'
+ )
+ ";
+ warn "\nOUTSIDE:\n$sql_outside\n" if $DEBUG;
+ my $total_outside = FS::Record->scalar_sql($sql_outside);
+