summaryrefslogtreecommitdiff
path: root/bin/set-tax-status
blob: d656780d11fcb6d1ca563c217ef4a92316308bb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/perl

use FS::Misc::Getopt;
use FS::cust_main;
use FS::Record qw(qsearch dbh);
use FS::Conf;
getopts('');

my $conf = FS::Conf->new;
if ( $conf->config('tax_data_vendor') ne 'suretax' ) {
  die "This script is for Suretax only.";
}

$FS::UID::AutoCommit = 0;
local $FS::cust_main::ignore_expired_card = 1;
local $FS::cust_main::ignore_invalid_card = 1;
local $FS::cust_main::import = 1;

my %taxstatusnum = map {
  $_->taxstatus => $_->taxstatusnum
} qsearch('tax_status', { data_vendor => 'suretax' });

foreach my $cust_main (qsearch('cust_main', { taxstatusnum => '' })) {
  my $status = length($cust_main->company) ? 'B' : 'R';
  print $cust_main->custnum . "\t" .
        $cust_main->name_short . "\t" .
        $status . "\n";
  $cust_main->set('taxstatusnum', $taxstatusnum{ $status });
  my $error = $cust_main->replace;
  die $error if $error;
}

warn "Finished.\n";
dbh->commit;