<% my $conf = new FS::Conf; my $enable_taxclasses = $conf->exists('enable_taxclasses'); print header("Tax Rate Listing", menubar( 'Main Menu' => $p, 'Edit tax rates' => $p. "edit/cust_main_county.cgi", )),<expand country to specify a country's tax rates by state.
Click on expand state to specify a state's tax rates by county. END if ( $enable_taxclasses ) { print '
Click on expand taxclasses to specify tax classes'; } print '

'. &table(). < Country State County Taxclass
(per-package classification) Tax name
(printed on invoices) Tax Exemption END my @regions = sort { $a->country cmp $b->country or $a->state cmp $b->state or $a->county cmp $b->county or $a->taxclass cmp $b->taxclass } qsearch('cust_main_county',{}); my $sup=0; #foreach $cust_main_county ( @regions ) { for ( my $i=0; $i<@regions; $i++ ) { my $cust_main_county = $regions[$i]; my $hashref = $cust_main_county->hashref; print < $hashref->{country} END my $j; if ( $sup ) { $sup--; } else { #lookahead for ( $j=1; $i+$j<@regions; $j++ ) { last if $hashref->{country} ne $regions[$i+$j]->country || $hashref->{state} ne $regions[$i+$j]->state || $hashref->{tax} != $regions[$i+$j]->tax || $hashref->{exempt_amount} != $regions[$i+$j]->exempt_amount || $hashref->{setuptax} ne $regions[$i+$j]->setuptax || $hashref->{recurtax} ne $regions[$i+$j]->recurtax; } my $newsup=0; if ( $j>1 && $i+$j+1 < @regions && ( $hashref->{state} ne $regions[$i+$j+1]->state || $hashref->{country} ne $regions[$i+$j+1]->country ) && ( ! $i || $hashref->{state} ne $regions[$i-1]->state || $hashref->{country} ne $regions[$i-1]->country ) ) { $sup = $j-1; } else { $j = 1; } print "{state} ? ' BGCOLOR="#ffffff">'. $hashref->{state} : qq! BGCOLOR="#cccccc">(ALL) !. qq!expand country!; print qq! collapse state! if $j>1; print ""; } # $sup=$newsup; print "{county} ) { print ' BGCOLOR="#ffffff">'. $hashref->{county}; } else { print ' BGCOLOR="#cccccc">(ALL)'; if ( $hashref->{state} ) { print qq!!. qq!expand state!; } } print ""; print "{taxclass} ) { print ' BGCOLOR="#ffffff">'. $hashref->{taxclass}; } else { print ' BGCOLOR="#cccccc">(ALL)'; if ( $enable_taxclasses ) { print qq!!. qq!expand taxclasses!; } } print ""; print "{taxname} ) { print ' BGCOLOR="#ffffff">'. $hashref->{taxname}; } else { print ' BGCOLOR="#cccccc">Tax'; } print ""; print "$hashref->{tax}%". ''; print '$'. sprintf("%.2f", $hashref->{exempt_amount} ). ' per month
' if $hashref->{exempt_amount} > 0; print 'Setup fee
' if $hashref->{setuptax} =~ /^Y$/i; print 'Recurring fee
' if $hashref->{recurtax} =~ /^Y$/i; print ''; } print < END %>