hide tickets with selfservice priority indicating closure, RT#79444
[freeside.git] / bin / set-tax-status
1 #!/usr/bin/perl
2
3 use FS::Misc::Getopt;
4 use FS::cust_main;
5 use FS::Record qw(qsearch dbh);
6 use FS::Conf;
7 getopts('');
8
9 my $conf = FS::Conf->new;
10 if ( $conf->config('tax_data_vendor') ne 'suretax' ) {
11   die "This script is for Suretax only.";
12 }
13
14 $FS::UID::AutoCommit = 0;
15 local $FS::cust_main::ignore_expired_card = 1;
16 local $FS::cust_main::ignore_invalid_card = 1;
17 local $FS::cust_main::import = 1;
18
19 my %taxstatusnum = map {
20   $_->taxstatus => $_->taxstatusnum
21 } qsearch('tax_status', { data_vendor => 'suretax' });
22
23 foreach my $cust_main (qsearch('cust_main', { taxstatusnum => '' })) {
24   my $status = length($cust_main->company) ? 'B' : 'R';
25   print $cust_main->custnum . "\t" .
26         $cust_main->name_short . "\t" .
27         $status . "\n";
28   $cust_main->set('taxstatusnum', $taxstatusnum{ $status });
29   my $error = $cust_main->replace;
30   die $error if $error;
31 }
32
33 warn "Finished.\n";
34 dbh->commit;